[英]Getting name of original .APK file in Android
我試圖弄清楚如何獲取安裝應用程序的原始.apk文件的名稱。 我知道您可以使用ApplicationInfo
類檢索已安裝應用程序的包名稱和源目錄(此處描述: Android:如何以編程方式獲取apk文件的名稱? )但這不是我想要的。
舉個例子,假設我有一個名為TestApp
的簡單應用程序(通過AndroidManifest.xml
文件中的android:label
標簽)。 此外,假設我為上面的應用程序生成.apk文件,將所述.apk文件重命名為TestApp_JohnDoe.apk
,然后將該應用程序通過電子郵件發送給John Doe進行安裝。 當John Doe通過單擊.apk文件安裝應用程序時,我希望能夠讀取我發送給他的原始.apk, TestApp_JohnDoe.apk
的文件名。 使用ApplicationInfo
類,更具體地說, sourceDir
方法為我提供了安裝目錄和應用程序名稱/data/app/TestApp.apk
,這不是我想要的。 我知道可能會掃描所有可用的目錄,尋找原始的.apk文件,但我希望避免這種情況。
總之,我想以編程方式檢索安裝程序.apk的.apk文件名/源目錄,例如/storage/sdcard0/Download/TestApp_JohnDoe.apk
,而不是實際安裝的應用程序的.apk文件名/源目錄。 ,/ /data/app/TestApp.apk
。
可以讓應用程序知道在編譯時設置的apk名稱,如果這對您有用
applicationVariants.all { variant ->
// Change the target apk file name and path
String apk_path = "$rootProject.projectDir/bin"
String apk_name = "john_doe.apk"
project.delete(project.apk_path) //Delete any remains
String apkFile = String.format("%s/%s", apk_path, apk_name)
variant.outputs[0].outputFile = new File(apkFile)
// This can be used in Java runtime by using getString(R.string.apk_name)
resValue "string", "apk_name", apk_name
}
但是你在問什么,我很確定這是不可能的
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.