Найти имя пакета для приложений Android, чтобы использовать Intent для запуска приложения Market из Интернета
Я создаю мобильный веб-сайт, который будет включать страницу, из которой пользователи могут загружать соответствующие приложения, которые мы рекомендуем. Я нашел инструкции по созданию ссылок для запуска Market, но это предполагает, что вы являетесь разработчиком данного приложения и знаете точное имя пакета.
Есть ли способ получить имя пакета, кроме как связаться с разработчиками и спросить?
Кроме того, оказывается, что эти инструкции действительно не работают для создания веб-гиперссылок. Они дают вам URI для ссылки в строке кода Java в другом приложении для Android. Наш сайт находится в Drupal, поэтому Java не собирается работать.
- Facebook share link - можете ли вы настроить текст сообщения?
- Как сделать кнопку похожим на ссылку?
- Как добавить гиперссылку в JLabel
- Как сохранить: активный стиль css после нажатия элемента
- C # regex pattern для извлечения URL-адресов из заданной строки - не полный URL-адрес html, но также и ссылки
Для iPhone я нашел легкие инструкции по получению стиля URL / ссылки, который мне нужен, из магазина iTunes, поэтому я ищу такую информацию.
- Редактирование гиперссылок и якорей в PDF с помощью ITextSharp
- Как ссылаться на метод в javadoc?
- Как я могу сделать ссылку на клики в NSAttributedString?
- Удалить упорное подчеркивание ссылки
- Откройте внешние ссылки в браузере с веб-браузером Android
- Использование jQuery для программного перехода по ссылке
- Пример использования гиперссылки в WPF
- html ссылки не работают (с использованием base href)
Это зависит от того, откуда именно вы хотите получить информацию. У вас есть множество вариантов:
- Если у вас есть копия .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
Это напечатает имя пакета вместе с другой информацией.
инструменты расположены в
или
или
Обновлено в соответствии с комментарием гениусбургера . Благодаря!
Следующий сценарий 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
Приложение должно поддерживать это, с активностью, помеченной как доступная для просмотра, но многие будут.
- Перейдите в настройку приложения.
- Нажмите «Хранение и USB».
- Нажмите «Телефонная карта».
- Нажмите Android.
- Нажмите Данные.
Теперь вы можете найти имена пакетов всех приложений, установленных на вашем телефоне.
Если вам нужна эта информация в телефоне, лучше всего использовать приложение типа «APKit», которое показывает полное имя пакета для каждого приложения в вашем телефоне. Затем эту информацию можно использовать в телефоне.