我想要獲取我當前在Android上運行的apk的路徑。 我使用System.getProperty(「user.dir」)。 但它發出了一個「/」,它是Android系統的根目錄。 我錯過了什麼?爲什麼System.getProperty(「user.dir」)返回「/」
2
A
回答
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」
等等。
相關問題
- 1. 爲什麼System.getProperty(「line.seperator」)返回null?
- 2. System.getProperty(「user.dir來」)不工作
- 3. 什麼是Java的System.getProperty(「user.dir」)的.NET等價物?
- 4. System.getProperty(「mode」)返回「null」
- 5. System.getProperty(「gradle.user.home」)返回null
- 6. 爲什麼user.dir可以設置爲「。」?
- 7. System.getProperty(「os.name」)在最新的Windows操作系統中返回什麼
- 8. 爲什麼'返回自我'返回無?
- 9. 爲什麼grep什麼都不返回?
- 10. 爲什麼parseJSON返回null
- 11. 爲什麼Geocoder.getFromLocationName返回null?
- 12. 爲什麼Type.GetElementType返回null?
- 13. 爲什麼getActionView()返回null
- 14. 爲什麼random.shuffle返回None?
- 15. 爲什麼FileSystem.get()返回com.pepperdata.supervisor.agent.resource.DistributedFileSystemWrapperClassic
- 16. 爲什麼Apache返回403
- 17. 爲什麼documentUrl返回NULL
- 18. 爲什麼beanContainer.getBeanByName(...)返回null?
- 19. 爲什麼stringForKey返回null?
- 20. getPerson()返回NULL,爲什麼?
- 21. 爲什麼IndexOf返回-1?
- 22. 爲什麼BitmapFactory.decodeFile返回null?
- 23. 爲什麼PsGetCurrentProcessId()返回null?
- 24. 爲什麼string.contains()返回false?
- 25. 爲什麼JSON.stringify返回undefined
- 26. jquery返回false - 爲什麼?
- 27. 爲什麼SCOPE_IDENTITY返回NULL?
- 28. 爲什麼ISNUMERIC('。')返回1?
- 29. 爲什麼innerHTML返回'undefined'?
- 30. 爲什麼UINT_MAX返回-1?
你期望它是什麼? –
@kocko我mroe期待一個「/user/apk/myapkname"...something那樣 – henryyao