推奨される関連アプリをダウンロードできるページを含むモバイルWebサイトを作成しています。 instructions を見つけて、マーケットを起動するためのリンクを作成しましたが、これは問題のアプリの開発者であり、正確なパッケージ名を知っていることを前提としています。
開発者に連絡して尋ねる以外に、パッケージ名を取得する方法はありますか?
また、これらの指示はWebハイパーリンクの作成には実際には機能しないことがわかりました。 Java別のコードのコードAndroidアプリ。私たちのサイトはDrupalにあるので、Javaは機能しません。
IPhoneについては、iTunesストアから必要なURL /リンクスタイルを取得するための 簡単な手順 が見つかったため、そのような情報を探しています。
正確にどこから情報を取得したいかによります。たくさんのオプションがあります:
<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>/build-tools/Android- <api_level>
または
<sdk_home>/platform-tools
または
<sdk_home>/platforms/Android- <api_level>/tools
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 device:Go to Storage/Android/data/<package-name>
Google Playストアでオンラインでアプリを検索できます。見つかったら、URLを確認します。たとえば、 https://play.google.com/store/apps/details?id=lutey.FTPServer&hl=en
Idパラメーターは、アプリケーションのパッケージ名に対応しています。この例のURLの場合、パッケージ名はlutey.FTPServerです。
アプリの完全なパッケージを取得する簡単な方法を次に示します。アストロファイルマネージャーアプリを使用できます。 Android market。Astroアプリマネージャーがアプリの完全なパッケージを表示します。
クリス・スミスの答え で説明されているように、パッケージ名を取得したら、リンクにインテントURLを使用する/使用する必要があります。 特別な形式のURL で、ユーザーが既にインストールしている場合はパッケージを起動します。そうでない場合は、アプリケーションのページでPlayストアを開きます...
intent://#Intent;package=qualified.package.name;end
アプリはこれをサポートする必要があり、アクティビティは閲覧可能としてタグ付けされますが、多くの場合はサポートされます。
これは非常に困難な状況です。apkファイルからパッケージ名を取得できますが、自動的に実行することを想定しています。
AndroLibには多くのアプリのパッケージ名がありますが、APIが見つからないため、解析する必要があります。あなたを助けるいくつかのツールを持っているかもしれない開発セクションがあります。
がんばろう