2013-05-18 65 views

回答

1

在安裝到內存後,您的apk位於/data/app/<your_package_name>。此路徑在Android中保持一致,您無需使用System

4

正如documentation所說,user.dir屬性是用戶的工作目錄,它不一定與您放置apk的目錄相同。

無論如何,List<ApplicationInfo> PackageManager.getInstalledApplications()會給你一個安裝的應用程序的列表,而ApplicationInfo.sourceDir.apk文件的路徑。

下面是一些示例代碼:

PackageManager pm = getPackageManager(); 

for (ApplicationInfo app : pm.getInstalledApplications(0)) { 
    System.out.println("SourceDir: " + app.sourceDir); 
} 

上述會給你的源路徑爲所有已安裝的APK。

該示例摘自here

0

ApplicationInfo類是你的答案:

PackageManager pm = getPackageManager(); 

for (ApplicationInfo app : pm.getInstalledApplications(0)) { 
    if (app.packageName.equals(appPackage) { Log.i(app.sourceDir); } 
} 

希望的排序你。

1

檢查Context類。你想要的功能是:

  • getDir() - 返回例如: 「/data/data/com.example.myapp/app_foo」
  • getFilesDir() - 返回例如「/data/data/com.example.myapp/files」
  • getCacheDir() - 返回例如「/data/data/com.example.myapp/cache」
  • getExternalFilesDir() - 返回例如「/sdcard/Android/data/com.example.myapp/files/Pictures」
  • getExternalCacheDir() - 返回例如「/sdcard/Android/data/com.example.myapp/cache」

等等。

相關問題