我在Android设备上安装了一个Sample
应用程序。我安装的应用程序存储在我的Adroid设备上(我的应用程序未在google-play中授权),但我可以看到其他应用程序存储位置路径(这些应用程序被授权进行谷歌播放)。
/>谢谢。
例如,我安装了一个Calculator
应用程序。它将存储到设备中的/data/calculaot-package-name
。出于测试目的,我将自己的应用程序安装到Android设备上。它在我的应用程序的存储路径中没有看到它的路径。
答案 0 :(得分:2)
从API Level 8开始,您可以允许将应用程序安装在外部存储设备上(例如,设备的SD卡)。这是一个可选功能,您可以使用android:installLocation清单属性为您的应用程序声明。如果您未声明此属性,则您的应用程序将仅安装在内部存储上,并且无法将其移动到外部存储。
要允许系统在外部存储上安装您的应用程序,请修改清单文件以在android:installLocation元素中包含属性,其值为“preferExternal”或“auto” 。例如:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
android:installLocation="preferExternal"
... >
如果声明“preferExternal”,则请求将应用程序安装在外部存储上,但系统不保证您的应用程序将安装在外部存储上。如果外部存储空间已满,系统会将其安装在内部存储器上。用户还可以在两个位置之间移动您的应用程序。
如果您声明“自动”,则表明您的应用程序可能已安装在外部存储上,但您没有安装位置的首选项。系统将根据几个因素决定安装应用程序的位置。用户还可以在两个位置之间移动您的应用程序。
当您的应用程序安装在外部存储上时:
警告:当用户启用USB海量存储与计算机共享文件或通过系统设置卸载SD卡时,将从设备卸载外部存储,并在外部运行所有应用程序存储立即被杀死。
答案 1 :(得分:0)
这取决于应用程序是否安装在内部或外部存储器中。如果您使用(在您的清单中)android:installLocation
preferExternal
或auto
,则很可能/可能将其存储在SD卡的.android_secure
部分中。否则,它应位于/data/app/com.yourpackage
。
如果它存储在安全区域,你将无法得到它(假设你没有做任何骇客的事情 - 即使那时我也不确定你是否能够做到这一点。)
编辑:我应该补充一点,在大多数情况下,您可以从应用程序管理器将应用程序移动到内部存储。如果这是您的应用,但您可以指定仅在内部存储上使用它。
答案 2 :(得分:0)
要手动查找,adb pull /data/system/packages.xml并检查它以查找代码路径条目。
要从程序中执行此操作,需要api调用以确定可在文档中找到的代码路径。
您可以根据具体情况和版本的不同对知识进行哪些使用。