Найти имя пакета для приложений Android, чтобы использовать Intent для запуска приложения Market из Интернета

Я создаю мобильный сайт, на котором будет отображаться страница, с которой люди могут загружать соответствующие приложения, которые мы рекомендуем. Я нашел инструкции для создания ссылок для запуска Market, но это предполагает, что вы являетесь разработчиком данного приложения и знаете точный пакет имя.

Есть ли способ получить имя пакета, кроме как связаться с разработчиками и спросить?

Кроме того, оказывается, что эти инструкции действительно не работают для создания веб-гиперссылок. Они дают вам URI для ссылки в строке кода Java в другом приложении для Android. Наш сайт находится в Drupal, поэтому Java не собирается работать.

Для iPhone я нашел простые инструкции для получения желаемого стиля URL/ссылки из магазина iTunes, поэтому я ищу такая информация.

Ответ 1

Это зависит от того, откуда именно вы хотите получить информацию. У вас есть множество вариантов:

  • Если у вас есть копия .apk, это просто случай открытия его в виде zip файла и просмотр файла AndroidManifest.xml. Элемент верхнего уровня <manifest> будет иметь атрибут package.
  • Если у вас установлено приложение на устройстве и можно подключиться с помощью adb, вы можете запустить adb shell и выполнить pm list packages -f, где указано имя пакета для каждого установленного apk.
  • Если вы просто хотите вручную найти пару имен пакетов, вы можете найти приложение на http://www.cyrket.com/m/android/, а имя пакета отображается в URL
  • Вы также можете сделать это прогативно из приложения для Android с помощью PackageManager

После того как вы получили имя пакета, вы просто ссылаетесь на market://search?q=pname:<package_name> или http://market.android.com/search?q=pname:<package_name>. Оба будут открывать рынок на устройстве Android; последний, очевидно, имеет потенциал для работы и с другим оборудованием (это не в последнюю очередь).

Ответ 2

Используйте aapt из SDK, например

aapt dump badging yourpkg.apk

Это будет печатать имя пакета вместе с другой информацией.

инструменты находятся в
< sdk_home > /сборки-инструменты/android- < api_level >
или
< sdk_home > /платформенные инструменты
или
< sdk_home > /платформы/android- < api_level > /инструменты

Обновлено в соответствии с комментарием geniusburger. Спасибо!

Ответ 3

Для отображения имен пакетов и действий в apk можно использовать следующий bash script и запустить приложение, передав ему файл 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, удалите последнюю строку script.

Вы можете остановить приложение таким же образом, используя этот script:

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

Ответ 4

В следующем коде перечислены:

adb shell dumpsys package <packagename>

Ответ 5

Не уверен, что вам все еще нужно это, но в http://www.appbrain.com/ вы просматриваете приложение, а имя пакета находится в URL-адресе. Например: http://www.appbrain.com/app/fruit-ninja/ com.halfbrick.fruitninja - ссылка на фруктовый ниндзя. Обратите внимание на жирный

Ответ 6

Добавление к приведенным выше ответам: Чтобы найти имя пакета установленных приложений на любом устройстве Android: Переход к Хранению /Android/data/ < package-name >

Ответ 7

Вот простой способ получить полный пакет приложений. мы можем использовать приложение astro file manager. Вы можете получить его на рынке Android. Astro app manager показывает нам полный пакет приложений.

Ответ 8

Вы можете выполнить поиск в Интернете в Google Play Store. Если найдено, проверьте URL-адрес, например https://play.google.com/store/apps/details?id=lutey.FTPServer&hl=en

Параметр id соответствует имени пакета приложения. В случае URL-адреса в этом примере имя пакета - lutey.FTPServer.

Ответ 9

Это довольно сложная ситуация, вы можете получить имя пакета из файла apk, но я предполагаю, что вы хотите сделать это автоматически.

AndroLib имеет имена пакетов для большого количества приложений, но вам придется анализировать их, поскольку API не существует. Theres раздел разработчика, который может иметь некоторые инструменты, которые помогут вам.

Удача

Ответ 10

Как только вы получите имя пакета, как описано ответ Криса Смита, вы можете/должны использовать URL-адрес намерения для этой ссылки. Это специальный формат URL, который запустит пакет, если пользователь уже установил его, или откройте магазин воспроизведения на странице приложения, если нет...

intent://#Intent;package=qualified.package.name;end

Приложение должно поддерживать это, с активностью, помеченной как доступная для просмотра, но многие будут.

Ответ 11

  • Перейти к настройкам приложения.
  • Нажмите "Хранение" и "USB".
  • Нажмите "Телефонная карта".
  • Нажмите Android.
  • Нажмите "Данные".

Теперь вы можете найти имена пакетов всех приложений, установленных на вашем телефоне.

введите описание изображения здесь

Ответ 12

Если вам нужна эта информация в телефоне, лучше всего использовать приложение типа APKit, которое отображает полное имя пакета для каждого приложения в вашем телефоне. Затем эту информацию можно использовать в телефоне.