Найти имя пакета для приложений 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», которое показывает полное имя пакета для каждого приложения в вашем телефоне. Затем эту информацию можно использовать в телефоне.

  • Может ли Google Chrome открывать локальные ссылки?
  • Как я могу сделать ссылку на клики в NSAttributedString?
  • Изменить цвет текста в тексте TextView и щелкнуть?
  • Как сделать кнопку похожим на ссылку?
  • C # regex pattern для извлечения URL-адресов из заданной строки - не полный URL-адрес html, но также и ссылки
  • Как создать ссылки в текстовом клиенте?
  • Scrapy: Следуйте ссылке, чтобы получить дополнительные данные элемента?
  • Как сохранить: активный стиль css после нажатия элемента
  • Interesting Posts

    Нулевая проверка в усиленном цикле

    Алгоритм определения игры Tic Tac Toe Over

    Не удается получить доступ к веб-сайтам Microsoft после входа в мой Live ID

    Включить автоматический вход в Windows 10

    Сделать IMAP-электронную почту, которая читается на одном компьютере, показываться как непрочитанная на другой машине

    Самый простой способ узнать, есть ли у пользователя Windows 7 или Vista (через телефонную поддержку)?

    Какая хорошая практика для обеспечения полной работоспособности моей батареи ноутбука?

    Область друзей в C ++

    Отключить определенные даты из html5 datepicker

    Несколько streamов пользовательского интерфейса – Winforms

    ALTER COLUMN в sqlite

    Как вызвать метод до уничтожения объекта сеанса?

    Как сравнить символы Unicode, которые «похожи друг на друга»?

    Почему некоторые сообщения электронной почты, отправленные в Outlook 2010, застревают в папке «Исходящие» с датой, установленной «Нет»?

    Архитектура подключаемого модуля для ASP.NET MVC

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