Мне интересно узнать, можно ли программно установить динамически загружаемый apk из пользовательского приложения для Android.
автор: Simon MᶜKenzie
14 ответов
вы можете легко запустить рыночную ссылку или запрос на установку:
Intent promptInstall = new Intent(Intent.ACTION_VIEW) .setDataAndType(Uri.parse(«file:///path/to/your.apk»), «application/vnd.android.package-archive»); startActivity(promptInstall);
Intent goToMarket = new Intent(Intent.ACTION_VIEW) .setData(Uri.parse(«market://details?id=com.package.name»)); startActivity(goToMarket);
однако вы не можете установить .apks без пользователя разрешение; не только устройства и программы Корни.
автор: Lie Ryan
File file = new File(dir, «App.apk»); Intent intent = new Intent(Intent.ACTION_VIEW); intent.setDataAndType(Uri.fromFile(file), «application/vnd.android.package-archive»); startActivity(intent);
У меня была та же проблема, и после нескольких попыток это сработало для меня таким образом. Я не знаю почему, но установка данных и типа отдельно испортила мое намерение.
How to fix package installer keeps stopping android | package installer has stopped problem solved
автор: Horaceman
Ну, я копнул глубже и нашел источники приложения PackageInstaller из источника Android.
из манифеста я обнаружил, что для этого требуется разрешение:
и сам процесс установки происходит после подтверждения
Intent newIntent = new Intent(); newIntent.putExtra(PackageUtil.INTENT_ATTR_APPLICATION_INFO, mPkgInfo.applicationInfo); newIntent.setData(mPackageURI); newIntent.setClass(this, InstallAppProgress.class); String installerPackageName = getIntent().getStringExtra(Intent.EXTRA_INSTALLER_PACKAGE_NAME); if (installerPackageName != null) < newIntent.putExtra(Intent.EXTRA_INSTALLER_PACKAGE_NAME, installerPackageName); >startActivity(newIntent);
автор: Alkersan
решения, предоставленные для этого вопроса, применимы к targetSdkVersion s 23 и ниже. Для Android N, т. е. API уровня 24 и выше, однако, они не работают и сбой со следующим исключением:
android.os.FileUriExposedException: file:///storage/emulated/0/. exposed beyond app through Intent.getData()
это связано с тем, что начиная с Android 24, в Uri для адресации скачанный файл изменился. Например, установочный файл с именем appName.apk хранится в основной внешней файловой системе приложения с именем пакета com.example.test будет as
на API 23 и ниже, тогда как что-то вроде
content://com.example.test.authorityStr/pathName/Android/data/com.example.test/files/appName.apk
на API 24 и выше.
более подробную информацию об этом можно найти здесь
ответить на вопрос для targetSdkVersion of 24 и выше, нужно следовать этим шагам: Добавить в AndroidManifest.XML-код:
2. Добавьте следующее paths.xml файл в на res в src, main:
на pathName это показано в примерном примере uri контента выше и pathValue — это фактический путь в системе. Было бы неплохо поставить «.»(без кавычек) для pathValue в приведенном выше, если вы не хотите добавлять какой-либо дополнительный подкаталог.
Android Package Installer Not Working
-
напишите следующий код для установки apk с именем appName.apk на основном внешнем файловая система:
File directory = context.getExternalFilesDir(null); File file = new File(directory, fileName); Uri fileUri = Uri.fromFile(file); if (Build.VERSION.SDK_INT >= 24) < fileUri = FileProvider.getUriForFile(context, context.getPackageName(), file); >Intent intent = new Intent(Intent.ACTION_VIEW, fileUri); intent.putExtra(Intent.EXTRA_NOT_UNKNOWN_SOURCE, true); intent.setDataAndType(fileUri, «application/vnd.android» + «.package-archive»); intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_NEW_TASK); intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION); context.startActivity(intent); activity.finish();
разрешение также не требуется при записи в личный каталог вашего собственного приложения во внешней файловой системе.
я написал библиотеку AutoUpdate здесь в котором я использовал вышеизложенное.
автор: Ali Nem
File file = new File(dir, «App.apk»); file.setReadable(true, false); Intent intent = new Intent(Intent.ACTION_VIEW); intent.setDataAndType(Uri.fromFile(file), «application/vnd.android.package-archive»); startActivity(intent);
автор: user1604240
выполните следующие действия:
1 — добавить AndroidManifest.xml :
2 — добавьте следующие пути.xml-файл в папку xml (если его нет, создайте его) в res в src, main
путь-это путь, показанный в примерном примере uri контента выше, а pathValue-фактический путь в системе. Было бы неплохо поставить «.»для pathValue в приведенном выше, если вы не хотите добавлять какие-либо дополнительные подкаталог.
3 — напишите следующий код для запуска файлов Apk:
File file = «path of yor apk file»; if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) < Uri fileUri = FileProvider.getUriForFile(getBaseContext(), getApplicationContext().getPackageName() + «.provider», file); Intent intent = new Intent(Intent.ACTION_VIEW, fileUri); intent.putExtra(Intent.EXTRA_NOT_UNKNOWN_SOURCE, true); intent.setDataAndType(fileUri, «application/vnd.android» + «.package-archive»); intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_NEW_TASK); intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION); startActivity(intent); >else < Intent intent = new Intent(Intent.ACTION_VIEW); intent.setDataAndType(Uri.fromFile(file), «application/vnd.android.package-archive»); intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); startActivity(intent); >
и благодаря Али Немати Хаяти, чтобы быть первым, чтобы написать решение профиль ali-nemati-hayati
автор: Lila saad
Да, это возможно. Но для этого вам нужен телефон для установки непроверенных источников. Например, приложений это. Я думаю, что лучшее, что вы можете сделать, это проверить, присутствует ли приложение и отправить намерение для Android Market. вы должны использовать что-то схему url для android Market.
market://details?id=package.name
Я не знаю точно, как начать действие, но если вы начинаете действие с такого url-адреса. Он должен открыть Android market и дать вам выбор для установки приложения.
автор: Loïc Faure-Lacroix
стоит отметить, что если вы используете DownloadManager чтобы начать загрузку, обязательно сохраните его на внешний носитель, например, setDestinationInExternalFilesDir(c, null, «).apk»; . Намерение с типом package-archive не похоже на content: схема используется с загрузками во внутреннее расположение, но нравится file: . (Попытка обернуть внутренний путь в объект File, а затем получить путь также не работает, хотя это приводит к file: url, так как приложение не будет анализировать apk; похоже, что это должно быть внешний.)
int uriIndex = cursor.getColumnIndex(DownloadManager.COLUMN_LOCAL_URI); String downloadedPackageUriString = cursor.getString(uriIndex); File mFile = new File(Uri.parse(downloadedPackageUriString).getPath()); Intent promptInstall = new Intent(Intent.ACTION_VIEW) .setDataAndType(Uri.fromFile(mFile), «application/vnd.android.package-archive») .addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); appContext.startActivity(promptInstall);
другое решение, которое не требует жесткого кода принимающего приложения, и поэтому безопаснее:
Intent intent = new Intent(Intent.ACTION_INSTALL_PACKAGE); intent.setData( Uri.fromFile(new File(pathToApk)) ); startActivity(intent);
автор: Hartok
просто расширение, если кому-то нужна библиотека тут этой может помочь. Спасибо Рагхав
Источник: askdev.ru
Package installer
Установщик пакетов APK Package installer APK Package installer APK [Þåçķåĝé îñšţåļļéŕ one two three] APK Instalador do pacote APK Instalador del paquete APK Instalador de paquetes APK Trình cài đặt gói APK โปรแกรมติดตั้งแพ็กเกจ APK أداة تثبيت الحزم APK Package installer APK Paket yükleyici APK Installazione pacchetti APK Progr. d’inst. de paquet APK Programme installation kit APK Paketinstallation APK 패키지 설치 프로그램 APK パッケージ インストーラ APK Pakket-installatie APK Instalator pakietu APK पैकेज इंस्टॉलर APK 套件安裝程式 APK 软件包安装程序 APK Alat za inst. paketa APK Csomagtelepítő APK Package Installer APK ప్యాకేజీ ఇన్స్టాలర్ APK Pakketinstalleerder APK Installer paket APK Instaluesi i paketës APK Uppsetningarforrit pakka APK Package ထည့်သွင်းခြင်း APK ጥቅል ጫኚ APK מתקין החבילה APK পেকেজ ইনষ্টলাৰ APK Paket quraşdırıcı APK Isifaki sephakheji APK Program de instalare a pachetelor APK Усталёўшчык пакетаў APK Пакети: Инстал. програма APK প্যাকেজ ইনস্টলার APK កម្មវិធីដំឡើងកញ្ចប់ APK Alat za instalir. paketa APK პაკეტის ინსტალატორი APK පැකේජ ස්ථාපනකරු APK Nástroj na inštaláciu balíkov APK Pakete-instalatzailea APK Namest. program za paket APK Програм за инстал. пакета APK Пакет орнатқыш APK ಪ್ಯಾಕೇಜ್ ಇನ್ಸ್ಟಾಲರ್ APK Paketinstallationsprogram APK Kisakinishaji cha kifurushi APK ਪੈਕੇਜ ਇੰਸਟੌਲਰ APK தொகுப்பு நிறுவி APK Топтомду орноткуч APK Instalátor balíčků APK პაკეტის ინსტალერი APK Alat za instaliranje paketa APK प्याकेज स्थापनकर्ता APK Installer ng package APK پیکیج انسٹال کنندہ APK Pakkeinstallationsprogram APK ຕົວຕິດຕັ້ງແພັກເກດ APK Paketo diegimo programa APK Pakotnes instalēš. progr. APK ໂຕຕິດຕັ້ງແພັກເກດ APK Програма встановлення пакета APK ಪ್ಯಾಕೇಜ್ ಸ್ಥಾಪಕ APK پیکیج انسٹالر APK Инсталатор на пакет APK പാക്കേജ് ഇൻസ്റ്റാളർ APK Багц суулгагч APK पॅकेज इंस्टॉलर APK Paket o‘rnatish vositasi APK Pemasang pakej APK Πρόγρ. εγκατάστ. πακέτου APK பேக்கேஜ் இன்ஸ்டாலர் APK ပက်ကေ့ဂျ်ထည့်သွင်းကိရိယာ APK Paketi installiprogramm APK Pakkeinstallasjon APK प्याकेज स्थापनाकर्ता APK نصبکننده بسته APK Бума орнатқыш APK Paketin asentaja APK पॅकेज स्थापनकर्ता APK Топтом орноткуч APK Ilova paketini o‘rnatish vositasi APK ପ୍ୟାକେଜ୍ ଇନଷ୍ଟଲର୍ APK Փաթեթի տեղադրիչ APK પૅકેજ ઇન્સ્ટૉલર APK ਪੈਕੇਜ ਸਥਾਪਨਾਕਾਰ APK પૅકેજ ઇન્સ્ટોલર APK Paketiinstaller APK
Package installer APP
предыдущие версии
Package installer 13-8768315 APK
7 авг. 2022 г. · Android 14+
Package installer UpsideDownCake beta APK
15 февр. 2023 г. · Android 5.1+
Package installer 13 beta APK
25 июл. 2022 г. · Android 14+
Популярные запросы
LD Player — #1 Android Emulator
Лучший Эмулятор Андроида для ПК
Приложения · Hot
TikTok TikTok Pte. Ltd. · Социальные
Google Play Маркет Google LLC · Инструменты
自由浏览 Greatfire.org · Связь
VK VK.com · Социальные
Spaces — Зона обмена Artem Kalash · Социальные
Популярные
Device Manager devmgrnet · Инструменты
Генератор случайных чисел UXAPPS LTD · Инструменты
Device Id IMEI Changer Xposed PLP · Инструменты
VPN Proxy Master LEMON CLOVE PTE. LIMITED · Инструменты
Helium — App Sync and Backup ClockworkMod · Инструменты
Mi Cloud Xiaomi Inc. · Инструменты
Mi AI Xiaomi Inc. · Инструменты
Samsung Game Optimizing Service Samsung Electronics Co., Ltd. · Инструменты
Popular Up Fire Tag · Инструменты
Android System Update Arum Communications · Инструменты
APKCombo Installer
Порядок установки XAPK, APKS, OBB?
Источник: apkcombo.com
SAI (Split APKs Installer)
Это установщик приложений, состоящих из несколько APK. Его можно применять для установки приложений, распространяемых как App Bundle, потому что Android не представляет встроенного способа для этого, помимо Google Play. Так же вы можете переименовать .zip архив, содержащий апк файлы.
Оценка редакции
Оценка 93 пользователей
Оценить Читать отзывы
Требования к v 4.5
- Версия ОС: Android 5.0+
- Интернет: не требуется
- Требуется свободного места: 3 Mb
- Как установить?
- Какой кэш выбрать?
- Как установить приложения с кэшем?
- Видео-инструкция
- Как узнать архитектуру процессора?
Скачать программу SAI (Split APKs Installer)
v4.5 Оригинал
26.02.2021 • Настройка для отключения открытия .apk файлов через SAI
• SAF фиксы для Android 11
• Добавлено предупреждение при установке огромных (>150МБ) приложений
Скачать apk
Файлы: Niko
v4.4 Оригинал
2.02.2021 • Исправлена ошибка, из-за которой SAI предлагалось для открытия любого контента
• Добавлена поддержка Sui Shizuku установщиком
• Поддержка открытия .apk файлов
• Поддержка APKM (только незашифрованных)
• Pro режим установщика включен по умолчанию
• Части конфигурации split APK не должны помечаться как неизвестные
• Другие исправления
Скачать apk
Файлы: Niko
v4.3 Оригинал
31.01.2021 — Изменения не указаны.
Скачать apk
Файлы: founder
v4.2 Оригинал
19.06.2020 — Фикс бага, который не давал сделать бэкап при включенном экспорте APK, даже если выбрано больше 1 части split APK
Скачать apk
Файлы: founder
В избранное Подписаться на обновления Запросить обновление
- Photo Lab PRO
- MX Player Pro
- Shazam Encore
- WhatsApp Messenger
- AirDroid
- Lucky Patcher
- Root Explorer
- Clean Master
- Kate Mobile
- Freedom
Похожие на SAI (Split APKs Installer)
Чтобы оставлять комментарии,
Обсуждение Отзывы
эчпочмак 3 года назад
эчпочмак 3 года назад
Если у вас устройство от Xiaomi и через SAI ничего не устанавливается, вот решение:
1) Заходим в настройки и находим пункт «О телефоне»
2) Тыкаем много раз по номеру сборки и получаем доступ к настройкам для разработчиков (если уже открыто, ещё раз делать не нужно)
3) Заходим в «Расширенные настройки»
4) Потом в «Настройки для разработчиков»
5) Пролистать в самый низ и найти функцию «Включить оптимизацию MIUI», отключаем эту функцию, после того как вы уже воспользовались SAI, советуем включить обратно
Источник: pdalife.to