[英]Find package name for Android apps to use Intent to launch Market app from web
這取決於您希望從何處獲取信息。 你有很多選擇:
<manifest>
元素將具有package
屬性。 adb
進行連接,則可以啟動adb shell
並執行pm list packages -f
,其中顯示了每個已安裝的apk的程序包名稱。 PackageManager
從Android應用程序進行預測 獲得軟件包名稱后,只需鏈接到market://search?q=pname:<package_name>
或http://market.android.com/search?q=pname:<package_name>
。 兩者都將在Android設備上打開市場; 后者顯然也有可能在其他硬件上工作(它不會在那一刻)。
使用SDK中的aapt
aapt dump badging yourpkg.apk
這將打印包名稱和其他信息。
工具位於
<SDK_HOME> /構建工具/ android- <api_level>
要么
<SDK_HOME> /平台的工具
要么
<SDK_HOME> /平台/ android- <api_level> /工具
根據geniusburger的評論更新。 謝謝!
以下bash腳本可用於在apk中顯示包和活動名稱,並通過向其傳遞APK文件來啟動應用程序。
apk_start.sh
package=`aapt dump badging $* | grep package | awk '{print $2}' | sed s/name=//g | sed s/\'//g`
activity=`aapt dump badging $* | grep Activity | awk '{print $2}' | sed s/name=//g | sed s/\'//g`
echo
echo package : $package
echo activity: $activity
echo
echo Launching application on device....
echo
adb shell am start -n $package/$activity
然后在模擬器中啟動應用程序,只需提供APK文件名,如下所示:
apk_start.sh /tmp/MyApp.apk
當然,如果您只想顯示apk的包和活動名稱,請刪除腳本的最后一行。
您可以使用此腳本以相同的方式停止應用程序:
apk_stop.sh
package=`aapt dump badging $* | grep package | awk '{print $2}' | sed s/name=//g | sed s/\'//g`
adb shell am force-stop $package
像這樣:
apk_stop.sh /tmp/MyApp.apk
重要說明 :aapt可以在這里找到:
<android_sdk_home>/build-tools/android-<ver>/aapt
以下代碼將列出它們:
adb shell dumpsys package <packagename>
不確定您是否仍然需要這個,但在http://www.appbrain.com/中 ,您查找應用程序並且包名稱在URL中。 例如: http : //www.appbrain.com/app/fruit-ninja/ com.halfbrick.fruitninja是水果忍者的鏈接。 注意粗體
添加以上答案:要在任何Android設備上查找已安裝應用程序的軟件包名稱: 轉至Storage / Android / data / <package-name>
您可以在Google Play商店中在線搜索應用。 找到后,請檢查網址,例如https://play.google.com/store/apps/details?id=lutey.FTPServer&hl=en
id參數對應於應用程序的包名稱。 對於示例中的url,包名稱為lutey.FTPServer。
這是獲取應用程序完整包的簡便方法。 我們可以使用astro文件管理器應用程序。 你可以在Android市場上獲得它。 Astro app manager向我們展示應用程序的完整軟件包。
這是一個相當困難的情況,您可以從apk文件中獲取包名稱,但我假設您想自動執行此操作。
AndroLib有很多應用程序的軟件包名稱,但你必須解析它,因為我找不到任何API。 這是一個開發部分,可能有一些工具可以幫助你。
祝好運
一旦你有了包名,就像Chris Smith的回答所描述的那樣 ,你可以/應該使用一個意向URL作為鏈接。 這是一個特殊的格式URL ,如果用戶已安裝它,將啟動該軟件包,或者如果不是,則在應用程序頁面打開游戲商店...
intent://#Intent;package=qualified.package.name;end
應用程序需要支持這一點,活動標記為可瀏覽,但許多人會。
如果您想在手機中使用此信息,那么最好使用類似“APK”的應用,該應用會顯示手機中每個應用的完整包裝名稱。 然后可以在手機中使用此信息。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.