我已经在安卓设备上安装了一个Sample应用程序。我安装的应用程序存储在我的Adroid设备上的位置(我的应用程序在google-play中未授权),但我可以看到其他应用程序的存储位置路径(这些应用程序已授权到google-play )。
谢谢。
例如,我安装了一个Calculator应用程序。它将被存储到设备的/data/calculaot-package-name中。出于测试目的,我在Android设备上安装了自己的应用程序。我没有在我的应用程序的存储路径中看到它的路径。
发布于 2012-07-03 12:04:39
从API Level 8开始,您可以允许将应用程序安装在外部存储上(例如,设备的SD卡)。这是一个可选功能,您可以使用android:installLocation清单属性为应用程序声明此功能。如果不声明此属性,则应用程序将仅安装在内部存储上,并且不能移动到外部存储。
要允许系统在外部存储上安装您的应用程序,请修改清单文件,以便在元素中包含android:installLocation属性,其值为"preferExternal“或"auto”。例如:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
android:installLocation="preferExternal"
... >如果您声明"preferExternal",则表示您请求将应用程序安装到外部存储上,但系统不保证您的应用程序将安装到外部存储上。如果外部存储器已满,系统会将其安装在内部存储器上。用户还可以在这两个位置之间移动应用程序。
如果您声明"auto",则表示您的应用程序可以安装在外部存储上,但您没有安装位置的首选项。系统将根据几个因素决定应用程序的安装位置。用户还可以在这两个位置之间移动应用程序。
当您的应用程序安装在外部存储上时:
警告:当用户启用U盘与计算机共享文件或通过系统设置卸载SD卡时,外部存储器将从设备上卸载,并且在外部存储器上运行的所有应用程序都将立即终止。
详情:All Installation Location
发布于 2012-07-02 21:23:26
这取决于应用程序是安装到内部存储器还是外部存储器。如果您(在清单中)使用preferExternal或auto的android:installLocation,则它很可能/可能存储在SD卡的.android_secure部分。否则,它应该位于/data/app/com.yourpackage。
如果它被存储在安全区域,你将无法获得它(假设你不是在做一些棘手的事情-即使那样我也不确定你是否能得到它)。
编辑:我应该补充说,在大多数情况下,您可以从应用程序管理器将应用程序移动到内部存储。但是,如果这是你的应用程序,你可以指定它只在内部存储上。
发布于 2012-07-02 22:03:33
要手动查找,adb拉取/data/system/packages.xml并检查它以查找代码路径条目。
要在程序中执行此操作,需要使用api调用来确定代码路径,您可以在文档中找到该调用。
您可以利用这些知识的用途因案例和版本的不同而不同。
https://stackoverflow.com/questions/11293429
复制相似问题