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

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

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

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

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

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

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

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

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

 aapt dump badging yourpkg.apk 

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

инструменты расположены в
/ Строить-инструменты / android-
или
/ платформенные инструменты
или
/ платформы / android- / инструменты

Обновлено в соответствии с комментарием гениусбургера . Благодаря!

Следующий сценарий 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 можно найти здесь:

 /build-tools/android-/aapt 

Следующий код отобразит их:

 adb shell dumpsys package  

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

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

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

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

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

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

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

Удачи

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

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

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

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

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

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

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

  • Facebook share link - можете ли вы настроить текст сообщения?
  • jQuery отключить ссылку
  • Изменить цвет текста в тексте TextView и щелкнуть?
  • Может ли Google Chrome открывать локальные ссылки?
  • Использование jQuery для программного перехода по ссылке
  • Как создать ссылки в текстовом клиенте?
  • Что такое синтаксис RTF для гиперссылки?
  • Редактирование гиперссылок и якорей в PDF с помощью ITextSharp
  • Interesting Posts

    Установите планировщик окон, чтобы запланировать открытие веб-сайта, веб-страницы или закладки

    Как добавить загрузочные приложения в Lubuntu / Lxde?

    Обновите ноутбук от i3-330M до i5

    Список подключенных сетевых дисков из командной строки в текстовый файл

    Компонент отправителя посылает действие по маршруту

    jQuery Ajax звонки на веб-службу кажутся синхронными

    Какова проблема с запросом SELECT N + 1?

    Как я могу построить с двумя разными осями y?

    Разница между HashMap, LinkedHashMap и TreeMap

    Есть ли способ приостановить отдельные настольные приложения на диске? (Прежде всего Linux)

    Почему / когда __declspec (dllimport) не требуется?

    Есть ли способ указать позицию / индекс аргумента в NSString stringWithFormat?

    Диспетчер задач показывает запущенные программы – как я могу увидеть те, которые были завершены?

    Могу ли я уменьшить свой браузер до сетевой активности «голых костей»?

    Является ли строка stdout буферной, небуферизованной или неопределенной по умолчанию?

    Давайте будем гением компьютера.