2013-03-10 186 views
20

我在手机上安装了一个Android应用程序,我在java上创建了自己的应用程序。该应用程序已成功安装在设备上,但我无法找到它已安装的软件包。Android应用程序包在手机上的安装位置

如何找到安装的应用程序的路径?

+0

编程http://stackoverflow.com/questions/5527764/get-application-directory – 2015-12-23 12:52:57

回答

30

你会发现在应用程序文件夹:

/data/data/"your package name" 

您可以访问使用DDMS此文件夹为您的模拟器。除非拥有固定设备,否则无法在真实设备上访问此位置。

+0

我能找到在模拟器的安装文件。但无法在真实设备中找到它,因为设备可能无法生根。这导致我有更多的后续问题,如下所示:1)如何检查设备是否生根2)假设设备没有根,并且在我的代码中加入了'DB_PATH =“/ data/data /”+ context.getPackageName()+“/ databases /'来访问数据库文件夹。它会在我无法找到/ data/data /“软件包名称”的设备上工作吗? – user2129794 2013-03-10 16:53:11

+1

您的第一个问题是您可以使用根检查器:http://theunlockr.com/2012/06/20/how-to-check-是否,你-Android的设备是根深蒂固的 - 或不/ http://androidforums.com/rezound-all-things-root/499372-how-know-if-you-rooted.html 你第二问题:如果你的设备没有植根,那么你将无法以任何方式访问这个位置,因为这是android设计用来保护已安装应用程序信息的方式。 – 2013-03-10 17:58:37

+0

okk ...所以如果我使用类似于'DB_PATH =“/ data/data /”+ context.getPackageName()+“/ databases /'的东西,那么它只能用于根设备而不能用于无根的设备。 – user2129794 2013-03-10 18:03:26

5

安装在设备上或在仿真器时将安装在一个应用程序:

/data/data/APP_PACKAGE_NAME 

的APK本身放置在/data/app/文件夹中。

这些路径,然而,在系统分区和访问它们,你将需要有根。这是一个设备。在模拟器上,你可以看到它在你的文件资源管理器标签

顺便说logcat的(DDMS),那只能说明在你Manifest.XMLpackage="APP_PACKAGE_NAME"属性下定义的包名。您在Eclipse中的项目中创建的任何其他程序包都不会显示在此处。

+0

@Siddharth ...我可以在模拟器中找到安装文件。但无法在真实设备中找到它,因为设备可能无法生根。这导致我有更多的后续问题,如下所示:1)如何检查设备是否生根2)假设设备没有根,并且在我的代码中加入了'DB_PATH =“/ data/data /”+ context.getPackageName()+“/ databases /'来访问数据库文件夹,它会在我找不到/ data/data /”软件包名称“的设备上工作 – user2129794 2013-03-10 16:55:37

+0

@ user2129794:如果您打算将数据库存储为默认值位置,你不需要担心那个部分。下面是一个很好的教程,解释它:http://www.vogella.com/articles/AndroidSQLite/article.html#overview_sqliteandroid – 2013-03-10 17:21:17

+0

@ user2129794用户不会看到/ data/data文件夹,但没有根目录,但操作系统一直都知道它 – 2013-03-10 17:22:22

1
/data/data/"your app package name " 

,但你不会能够读取,除非你有一个根深蒂固设备

2

包它自位于/data/app/com.company.appname-xxx.apk下。

/data/app/com.company.appname只有创建存储文件,如原生库,高速缓存,ECC目录...

可以检索与Context.getPackageCodePath()函数调用包安装路径。

3

系统的应用程序安装/系统/应用程序/或/系统/ PRIV应用内。其他应用程序可以安装在/ data/app或/ data/preload /中。

连接到您使用USB Android手机并运行以下命令。您将看到所有已安装的软件包。

$ adb shell 

$ pm list packages -f 
1

- >通过列出所有的包:

adb shell su 0 pm list packages -f 

- 通过按住键>搜索您的包名 “CTRL + ALT + F”。

- >找到后,寻找与它相关联的位置。

相关问题