2013-03-10 178 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」。

- >找到後,尋找與它相關聯的位置。

相關問題