如果我做:
adb install myAppRelease-2012-07-24_14-35-14.apk
当我尝试在安装后引用实际的 .apk 文件时
PackageManager pm = this.getPackageManager();
for (ApplicationInfo app : pm.getInstalledApplications(PackageManager.GET_META_DATA)) {
Log.d("PackageList", "package: " + app.packageName + ", sourceDir: " + app.sourceDir);
String appName = "myAppRelease"
if(app.packageName.contains("myApp")){
if(app.sourceDir.contains(appName)){
apkVersion = app.sourceDir.substring(app.sourceDir.indexOf(appName), app.sourceDir.indexOf(apk));
}
}
}
我看到的是这样的:
07-24 14:46:40.190: D/PackageList(7421): package: myApp, sourceDir: /data/app/myApp-1.apk
我期望看到的是:
07-24 14:46:40.190: D/PackageList(7421): package: myApp, sourceDir: /data/app/myAppRelease-2012-07-24_14-35-14.apk
看来它使用
android:label="myApp"
android:versionCode="1"
从清单文件。
我的问题是,为什么它不保留原始的 .apk 文件名?我依靠 .apk 文件名来显示我的应用程序的版本信息。