私が行った場合:
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ファイル名に依存しています。