我相信第三方apk存储在
/data
目录中,但该目录在无根设备上不可读。我还考虑过在应用程序运行时转储进程内存,但是我相信这也需要使设备生根。如果可能的话,我宁愿不要启动设备,但我知道这可能是必要的。 有人知道我可以在不root设备的情况下获取应用程序二进制文件的方法吗?
#1 楼
adb shell pm list packages -f
应该列出所有已安装的软件包,以及其apk的路径。找到您感兴趣的apk,然后用adb pull <path>
将其拉出。例如
> adb shell pm list packages -f
....
package:/data/app/com.google.android.dialer-nt9PJ8MFE293dEV61etgIA==/base.apk=com.google.android.dialer
....
> adb pull /data/app/com.google.android.dialer-nt9PJ8MFE293dEV61etgIA==/base.apk
评论
这不需要生根吗?
–成吉思汗
19年7月23日在19:26
我刚刚尝试过,它允许我“下载”目录,但是它是空的。
–成吉思汗
19年7月23日在22:37
我添加了一个更具体的示例。您应该能够拉apk文件本身,而不是目录
–耶稣·弗雷克(JesusFreke)
19年7月24日在18:59
#2 楼
我遇到了具有正确解决方案的论坛帖子:https://forum.xda-developers.com/fire-tv/help/extract-apk-t3674633。解决方案是下载ESFile Explorer并备份我正在为其寻找APK的应用程序。然后我可以运行adb pull /storage/emulated/0/backups/app/<my app>
。
评论
生根只是让您访问根帐户。如果您想执行任何未明确允许的操作,例如文件的权限,则需要将其root。这可能甚至不是很难的,甚至是没有根据的;有很多消费类设备(除了显而易见的设备)是可以扎根的,尤其是对于开发人员而言。您总是可以翻阅Amazon的文档以查看-也许看看他们的开发人员资源?我以为他们有一些部署到Firestick的条件,可能会得到您需要的答案。我认为您是对的,我将需要对设备进行root。但是,在我看来,扎根Firestick很棘手。对于我的固件版本,最普遍的方法涉及短路板上的电路。开发人员文档仅提供用于监视资源使用情况的选项。