it-roy-ru.com

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

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

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

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

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

45
eom

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

  • Если у вас есть копия .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; последний, очевидно, может работать и на другом оборудовании (в данный момент это не так).

96
Chris

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

aapt dump badging yourpkg.apk

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

инструменты расположены в 
<Sdk_home>/строить-инструменты/Android- <api_level>
или же
<Sdk_home>/платформенные инструменты
или же
<sdk_home>/платформы/Android- <api_level>/инструменты

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

55
accuya

Следующий скрипт 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
7
Brad Parks

Следующий код перечислит их:

adb Shell dumpsys package <packagename>
4
Thejus Krishna

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

3
Anonymous

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

2
Akil Adeshwar

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

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

1
R B

Вот простой способ получить полный пакет приложения. Мы можем использовать приложение Astro File Manager. Вы можете получить его на Android market . Менеджер приложений Astro покажет нам полный пакет приложения.

1
B.C.Kim

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

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

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

0
bbsimonbb

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

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

Удачи

0
Con
  1. Перейти к настройке приложения.
  2. Нажмите Хранение и USB.
  3. Нажмите Телефонная карта.
  4. Нажмите Android.
  5. Нажмите Данные.

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

 enter image description here

0
Siddarth Kanted