2013-02-25 40 views
0

首先,这与this question类似,但未得到正确回答。哪里更喜欢外部应用程序安装?

我试图拉我从我的设备构建的APK作为脚本的一部分。当我开始做adb pull时,我意识到我不知道我的APK安装在设备上的哪个位置,因为清单有android:installLocation=preferExternal

首先,我想

adb ls /system/app 

但没有列出我的APK。然后我试了

adb ls /mnt/sdcard -aR | grep -i "myappname" 

但它没有返回。最后,我试了

adb ls/-aR | grep -i "myappname" 

但是我还是什么都没发现。由于我的SD卡有空间,我认为我的APK安装在那里,但我没有看到它在那里的证据。该应用程序运行良好,并显示在我的设备上的应用程序管理器中。任何想法,我会在文件系统中寻找APK?我的设备没有固定或解锁,以防万一。

+0

你有root权限吗? – 2013-02-25 15:28:15

+0

从上面:“我的设备没有扎根或解锁,万一它很重要。” – Alex 2013-02-25 15:29:43

+0

它确实很重要。如果您没有root访问权限,则无法访问/ system分区(即使通过adb) – 2013-02-25 15:31:55

回答

2

找到了解决办法:

adb shell pm list package -f将列出安装的所有应用程序的位置。

我的APK的安装位置恰好在/data/app中,但由于该目录 没有读取权限,所以在adb shell ls下不显示。然而,实际的APK(/data/app/myappname.apk)具有读取权限,可以通过adb pull /data/app/myappname.apk获取。

同样,这些都不需要root(至少在我的Galaxy S3上)。

相关问题