gpt4 book ai didi

java - 在 Android 中获取原始 .APK 文件的名称

转载 作者:太空狗 更新时间:2023-10-29 14:57:35 35 4
gpt4 key购买 nike

我想弄清楚如何获取安装应用程序的原始 .apk 文件的名称。我知道您可以使用 ApplicationInfo 类(此处描述:Android: how to get the name of apk file programmatically?)检索已安装应用程序的包名称和源目录,但这不是我想要的。

例如,假设我有一个名为 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
}

但是你问的,我很确定这是不可能的

关于java - 在 Android 中获取原始 .APK 文件的名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29901859/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com