Download and Install APK Programmatically
Hello guys, as per title in this post I ‘ll tell you how to download the app using a download manager and install it programmatically. For doing that will create a sample app, for more detail you can watch feature video as well. So let’s get started
Download and Install APK (Demo APP)
Create a new Project
Open Android Studio and create a new android project with any default template. Once project sync is finished, open app-level build.gradle. In this android example we’ll use Snackbar for that we have to add material io dependencies. so let’s do that
Add uses permission
I’m going to download the APK file so we need storage permission and Internet permission. Once the app is download successfully than we will install it programmatically. For doing that we must need REQUEST_INSTALL_PACKAGES permission. Let’ s all needed permission in android manifest.
Create a file provider
You guys, already aware that in android N or above we have to write a file provider. Let’s create a resource file inside res=>xml=> named is file_provider_paths.xml
Now declare the file provider inside the manifest
Add some value inside strings.xml file
Create a download controller
Let’s create a file named is DownloadController, It’s controller is responsible to download file install it. This DownloadController we are using download manager for downloading APK.
Open the main activity layout file add one button
Create an extension file
For better coding practice, removing boilerplate code. We’ll write few extensions for AppCompatActivity and Snackbar. let’s create extension file and paste below code
Open main activity file
Let’s open the file and paste the below code. In this activity, we are checking storage permission first. If permission is granted than calling download function otherwise requesting for storage permission.
Conclusion
All done, In this tutorial, we have learned how to download APK and Install it programmatically. I hope it’s helpful for you, Help me by sharing this post with all your friends.
Get Solution Code
Keep in touch
If you have any queries, feel free to ask them in the comment section below. 🙂
Источник
Установить приложение программно на Android
Мне интересно знать, возможно ли программно установить динамически загруженный apk из пользовательского приложения для Android.
Вы можете легко запустить ссылку на магазин Play Play или приглашение к установке:
Однако вы не можете установить .apks без явного разрешения пользователя ; нет, если устройство и ваша программа не рутированы.
У меня была такая же проблема, и после нескольких попыток у меня все получилось. Я не знаю почему, но установка данных и типа по отдельности провалила мои намерения.
Решения, предоставленные на этот вопрос, все применимы к targetSdkVersion с 23 и ниже. Однако для Android N, то есть уровня API 24 и выше, они не работают и аварийно завершают работу со следующим исключением:
Это связано с тем, что, начиная с Android 24, Uri изменился адрес для загруженного файла. Например, установочный файл с именем, appName.apk хранящимся в основной внешней файловой системе приложения с именем пакета, com.example.test будет иметь вид
для API 23 и ниже, тогда как что-то вроде
за API 24 и выше.
Более подробную информацию об этом можно найти здесь, и я не собираюсь проходить через это.
Чтобы ответить на вопрос targetSdkVersion о 24 и выше, необходимо выполнить следующие шаги: Добавьте следующее в AndroidManifest.xml:
2. Добавьте следующий paths.xml файл в xml папку res в src, main:
Это pathName то, что показано в приведенном выше примере содержимого и pathValue является фактическим путем в системе. Было бы неплохо поставить «.» (без кавычек) для pathValue в приведенном выше, если вы не хотите добавлять какие-либо дополнительные подкаталоги.
Напишите следующий код для установки apk с именем appName.apk в основной внешней файловой системе:
Разрешение также не требуется при записи в личный каталог вашего приложения во внешней файловой системе.
Я написал здесь библиотеку автообновления, в которой я использовал вышеизложенное.
Источник
3 способа установить APK-файл на Android
APK (Android Package Kit) – это тип файла, который содержит в себе приложение для Android. Это очень похоже на установочные программы для Windows или Mac (.exe или .pkg). Все, что нужно сделать с APK, — это открыть его. Процесс установки произойдет автоматически.
Если вы когда-нибудь устанавливали приложение из Google Play, то уже имели опыт работы с APK, не осознавая этого. Когда вы нажимаете зеленую кнопку «Установить», Google Play автоматизирует процесс переноса APK на смартфон и после скачивания запускает процесс установки.
А что делать, если приложение, которое вы хотите установить, недоступно в Google Play? В этом случае нужно взять дело в свои руки. Существует множество каталогов APK-файлов, на которых можно найти нужное приложение. Двумя наиболее популярными и надежными являются APK Pure и APK Mirror. Ниже будут описаны 3 метода установки в различных ситуациях.
Подготовка ОС Android
Смартфон автоматически распознает любое приложение, поступившее не из Google Play, как «неизвестное приложение». Поэтому в настройках нужно разрешить установку из неизвестных источников.
Сделать это достаточно просто. Перейдите в раздел настроек. Выберите «Безопасность» (или «Блокировка экрана и безопасность»). Найдите пункт «Администрирование устройства» и включите установку из неизвестных источников.
После разрешения установки приложений из неизвестных источников понадобится найти APK-файл в смартфоне. Обычно на Android уже есть стандартный диспетчер файлов. Если же его нет, зайдите в Google Play и поищите приложения по ключевому словау «Диспетчер файлов». Появится много вариантов. Выберите любой из них или просто скачайте самый популярный — Cx File Explorer.
Простой способ
Самый простой способ установить APK на Android – это скачать его с помощью мобильного браузера. Найдите сайт, предлагающий приложение для Android. На нем вы увидите ссылку для скачивания. Может появиться всплывающее окно с вопросом, хотите ли вы разрешить браузеру сохранять файлы в хранилище смартфона. Ответьте согласием. Вы также увидите предупреждение о том, что «этот тип файла может повредить ваше устройство». Просто нажимайте «ОК» и продолжайте.
Если браузер смартфона не позволяет открыть файл после скачивания, откройте файловый менеджер и найдите папку Downloads. Нажмите на скачанный файл и разрешите приложению выполнить необходимые действия, которые оно запрашивает. Затем в нижней части окна нажмите кнопку «Установить».
Вы увидите уведомление о том, что приложение установлено. После этого оно должно появиться в списке программ. Если же что-то не получилось, попробуйте воспользоваться другими способами.
Способ средней сложности
Если у вас нет доступа в интернет или по какой-то другой причине вы не можете использовать браузер, есть возможность установить приложение с настольного компьютера.
С помощью браузера на компьютер скачайте APK. Затем подключите смартфон к компьютеру и скопируйте на него файл. Если раньше вы никогда не делали этого, нужно будет включить отладку по USB.
Для этого выберите «Настройки», прокрутите вниз до пункта «Об устройстве» и семь раз нажмите «Номер сборки». Это откроет вам скрытое меню разработчика. Вернитесь в «Настройки», выберите «Параметры разработчика» и нажмите «Отладка по USB». Установите флажок напротив пункта «Отладка по USB».
Теперь вы можете подключить смартфон к компьютеру при помощи USB-кабеля. Устройство должно определиться так же, как карта памяти или флешка. Переместите файл, скачанный с сайта, на смартфон. Вот что нужно сделать для этого:
- Найдите нужный файл на компьютере.
- Кликните по нему правой кнопкой мышки и выберите пункт «Копировать».
- Найдите на ПК смартфон, который отображается как съемный диск.
- Откройте его и найдите папку /sdcard/download.
- Скопируйте APK в эту папку.
После завершения копирования используйте менеджер файлов на смартфоне, чтобы найти его и запустить.
Если у вас нет USB-кабеля, можно установить WiFi FTP-Server из Google Play, а затем использовать FTP-клиент на компьютере для переноса файла. Но это более сложный вариант, USB-кабель обычно легче найти.
Продвинутый способ
Если по какой-либо причине установщик APK не запускается, когда вы нажимаете на него на смартфоне, можно прибегнуть к экстренному решению. В данном случае предполагается запуск APK Installer с Minimal ADB и Fastboot. Вы можете установить приложение на Android-устройство с компьютера, используя простой инструмент под названием Minimal ADB и Fastboot.
Вам необходимо выполнить действия, описанные в предыдущем разделе, чтобы подключить смартфон к ПК. Затем скачайте и установите на компьютер последнюю версию Minimal ADB и Fastboot. Запустите инструмент, и откройте командную строку. После синхронизации смартфона с ПК введите команду:
Если программа обнаружит смартфон, то вы увидите его идентификатор в списке подключенных устройств.
Теперь с помощью проводника Windows перейдите в папку Minimal ADB и Fasbtoot (обычно это C:\Program Files (x86)\Minimal ADB and Fastboot). Вставьте файл APK в эту папку. Можно переименовать файл, присвоив ему короткое название. Так его будет легче вручную вводить в командную строку.
Вернувшись в то же командное окно, которое вы открывали ранее, введите команду:
Вместо name-of-file впишите название файла, которое присвоили ему во время переименования. Подождите пару секунд. Готово!
Источник
Установка приложения программно на Android
Мне интересно узнать, можно ли программно установить динамически загружаемый apk из пользовательского приложения для Android.
14 ответов:
вы можете легко запустить ссылку на рынок или запрос на установку:
однако, вы не можете установить .АПК без пользователя разрешение; нет, если устройство и ваша программа не укоренены.
У меня была такая же проблема и после нескольких попыток, это сработало для меня этот путь. Я не знаю, почему, но установка данных и тип отдельно испортили мое намерение.
Ну, я копнул глубже, и нашел источники приложения PackageInstaller из источника Android.
из манифеста я обнаружил, что он требует разрешения:
и сам процесс установки происходит после подтверждения
все решения, представленные на этот вопрос, применимы к targetSdkVersion s из 23 и ниже. Для Android N, т. е. API уровня 24 и выше, однако, они не работают и сбой со следующим исключением:
это связано с тем, что начиная с Android 24, в Uri для адресации загруженный файл изменился. Например, установочный файл с именем appName.apk хранится в основной внешней файловой системе приложения с именем пакета com.example.test будет как
на API 23 и ниже, тогда как что-то вроде
на API 24 и выше.
более подробную информацию об этом можно найти здесь и я не собираюсь проходить через это.
чтобы ответить на вопрос для targetSdkVersion на 24 и выше, нужно выполнить следующие действия: Добавить в AndroidManifest.XML-код:
2. Добавить следующее к на res в src, main:
The pathName это показано в примерном примере uri контента выше и pathValue — это фактический путь в системе. Было бы неплохо поставить «.»(без кавычек) для pathValue в приведенном выше, если вы не хотите добавлять какой-либо дополнительный подкаталог.
напишите следующий код для установки apk с именем appName.apk на главную внешних файловая система:
разрешение также не требуется при записи в личный каталог вашего собственного приложения на внешней файловой системе.
я написал библиотеку AutoUpdate здесь в котором я использовал выше.
Я просто хочу поделиться тем фактом, что мой файл apk был сохранен в каталоге «данные» моего приложения и что мне нужно было изменить разрешения на файл apk, чтобы он был читаемым в мире, чтобы позволить ему быть установленным таким образом, иначе система бросала «ошибка разбора: есть проблема разбора пакета»; поэтому использование решения от @Horaceman, которое делает:
1 — добавить AndroidManifest.xml :
2 — добавьте следующие пути.xml-файл в папку xml (если он не существует, создайте его) на res в src, main
путь-это то, что показано в Примере URI примерного содержимого выше и pathValue является фактическим путем в системе. Было бы неплохо поставить «.»для pathValue в приведенном выше, если вы не хотите добавлять какие-либо дополнительные подкаталог.
3 — напишите следующий код для запуска файлов Apk:
и благодаря Али Немати Хаяти, чтобы быть первым, чтобы написать решение профиль Али-nemati-Хаяти
Да, это возможно. Но для этого вам нужен телефон для установки непроверенных источников. Например, приложений это. Я думаю, что лучшее, что вы можете сделать, это проверить, если приложение присутствует и отправить намерение для Android Market. вы должны использовать что-то схему url для android Market.
Я не знаю точно, как начать деятельность, но если вы начинаете деятельность с такого рода url. Он должен открыть android market и дать вам выбор для установки приложения.
стоит отметить, что если вы используете DownloadManager чтобы начать загрузку, обязательно сохраните его на внешний носитель, например, setDestinationInExternalFilesDir(c, null, » ).apk»; . Намерение с типом пакета-архива, похоже, не нравится content: схема используется с загрузками во внутреннее расположение, но нравится file: . (Попытка обернуть внутренний путь в объект File, а затем получить путь также не работает, хотя это приводит к file: url, так как приложение не будет анализировать apk; похоже, что это должно быть внешний.)
другое решение, которое не требует жесткого кода получающего приложения и поэтому более безопасно:
просто расширение, если кому-то нужна библиотека тут этой может помочь. Спасибо Рагхав
UpdateNode предоставляет API для Android для установки пакетов APK из другого приложения.
Вы можете просто определить свое обновление в интернете и интегрировать API в свое приложение — вот и все.
В настоящее время API находится в бета-состоянии, но вы уже можете сделать некоторые тесты самостоятельно.
Кроме того, UpdateNode предлагает также отображать сообщения, хотя система — довольно полезно, если вы хотите сказать что-то важное для ваших пользователей.
Я являюсь частью команда разработчиков клиента и я использую по крайней мере функциональность сообщений для моего собственного приложения для Android.
попробуйте это — Напишите на Манифесте:
Источник