У меня есть программа, работающая в эмуляторе Android. Время от времени я создавал подписанный .apk и экспортировал его в свой HTC Desire для тестирования. Все было хорошо.
На моем последнем экспортированном .apk я получаю сообщение об ошибке «Приложение не установлено» при попытке установить .apk. На эмуляторах работает нормально.
Поскольку я в основном тестировал на эмуляторах и только время от времени экспортировал в реальный телефон, я не уверен, когда это произошло. Какова вероятная причина того, что он не устанавливается на физический телефон, а работает нормально в эмуляторах?
Я попытался перезагрузить телефон и удалить существующий .apk, не устраняет ошибку.
android
android-emulator
Entropy1024
источник
источник
adb uninstall your.package.name
а потомadb install /path/to.apk
. Я не понимаю, почему это не сработает. Вы что-нибудь изменили в процедуре подписания?Ответы:
В первую очередь для старых телефонов
Я только столкнулся с
App not installed
ошибкой при попытке установить apk на моем телефоне, который работает на 4.4.2 или KitKat, но мой друг не сталкивался с этой ошибкой на своем телефоне, который работает на 6+. Я попробовал другие решения, такие как удаление старой / отладочной версии приложения, потому что apk был версией выпуска, очистка данных приложения отладки и даже очистка всех моих кэшированных данных. Затем, наконец, я понял, что все, что мне нужно было сделать, это выбрать обе версии подписи при создании моего подписанного apk.Раньше я только
V2 (Full APK Signature)
выбирал, но после выбораV1 Jar Signature
я смог успешно установить подписанный APK на моем устройстве 4.4.2. Надеюсь, что это помогает другим!источник
V1 (Jar Signature)
Для меня на Android 9 (API 28) отключение Google Play Protect из приложения Play Store сработало, и я смог избавиться от
App not Installed
ошибки.источник
У меня была похожая проблема, и это потому, что я пытался установить apk на телефон с предыдущей версией того же самого apk, и оба apks не были подписаны одним и тем же сертификатом. Я имею в виду, когда я использовал тот же сертификат, я мог перезаписать предыдущую установку, но когда я изменил сертификат между версиями, установка была невозможна. Вы используете тот же сертификат?
источник
Очевидно, есть много причин этой проблемы. Для меня ситуация была такая: я развернул на своем nexus 7 (фактическое устройство) из Android Studio (v1.3.2). Все работало нормально. Затем я создал подписанный apk и загрузил на свой Google Drive. После отключения моего нексуса от usb я зашел в настройки / приложения и удалил свое приложение (App1). Затем я открыл google drive и нажал на мой App1.apk и решил установить его (необходимо убедиться, что вы установили apks в настройках). Тогда я получил страшное сообщение "Приложение не установлено"
Решение для меня: вернитесь в настройки / приложения и прокрутите хотя все приложения и внизу была бледная версия моего приложения App1 (обратите внимание, что оригинальное приложение App1 было вверху в алфавитном порядке, которое было удалено, как указано выше). При нажатии на бледную версию он сказал «Не установлен для этого пользователя». (Я настроил свой нексус, чтобы иметь более одного пользователя). Но в правом верхнем углу есть кнопка с тремя точками . Я нажал на это, и он сказал «Удалить для всех пользователей» . Что я и сделал, и это решило проблему. Теперь я смог нажать на App1.apk, и он установился нормально, без ошибок.
источник
adb uninstall your.package.name
, которая удаляет все пользователи.Я столкнулся с проблемой, когда я обновляю свой андроид с 2.3.2 до 3.0.1. В этом случае IDE автоматически учитывает следующие моменты.
1.Не удается установить приложение с android: testOnly = "true" обычными способами, например, из файлового менеджера Android или из загрузки с веб-сайта.
2. Android Studio устанавливает Android: testOnly = "true" на APK, которые запускаются из
Если вы запустите приложение, напрямую подключив устройство к вашей системе, apk установится и запустится без проблем.
если вы отправили этот apk-копию из папки build out и debug, он никогда не будет установлен на устройстве.
Решение : перейти Build ---> Build APK (s) ---> скопируйте общий файл apk в вашу команду
тогда ваша проблема решится.
источник
Я столкнулся с той же проблемой. Проблема была в том, что основное действие в моем файле AndroidManifest.xml было написано дважды. Я удалил дубликат.
источник
android:exported
было установлено значение false для активности запускаЭто может произойти, если ваш MainActivity дважды объявлен в вашем AndroidManifest.xml.
Другая возможная причина: вы изменили активность запуска. Подсказка: никогда не делайте этого с уже опубликованными приложениями! Причины обсуждаются в блоге разработчиков Android .
источник
android:name
атрибут любогоActivity
,Service
,BroadcastReceiver
и так далее не может быть изменен в файле манифеста. Хотя это, кажется, частный идентификатор в вашем приложении, это публичный API.У меня такая же проблема. Я не понимал, что приложение должно быть подписано даже для тестирования.
После самостоятельной подписи он установился нормально.
источник
У меня была такая же проблема, и вот как ее решить: перейдите в файл Manifest и убедитесь, что для атрибутов «Debuggable» и «Test Only» установлено значение false. У меня это сработало :)
источник
android:testOnly="false" android:debuggable="false"
Для тех, кто использует Android Studio 3.
Ответ Сурьянараяна Редди является верным, хотя в нем не указаны шаги для его решения, следовательно.
в вашем AndroidManifest.xml под тегом приложения добавьте
testOnly="false"
иandroid:debuggable="true"
вот так:Отредактируйте
затем в строке меню AndroidStudio Построить> Построить APK (s)
источник
android:debuggable="true"
приводит кError: Avoid hardcoding the debug mode; leaving it out allows debug and release builds to automatically assign one [HardcodedDebugMode]
. Я пробовалandroid:testOnly="false"
, какBuild > Build Bundl(s) / APK(s) > Build APK(s)
иBuild > Generate SignedBundle APK...
с подписью версий v1, v2 (как на верхнем скриншоте). Пришлось удалить предыдущее приложение, а затем установить новое.Я знаю, что это старый пост, но для новых пользователей может быть полезным. У меня была та же проблема: мое приложение работало нормально при отладке. Когда я подписал APK, я получил то же сообщение: «Приложение не установлено».
Я исправил это, удалив мой JDK (я использовал jdk-6u14-windows-x64) и установил новый (jdk-6u29-windows-x64). После экспорта и подписи АПК снова все было ок!
Возобновление, моя проблема была в версии JAVA. Благодарю Оракула !!
источник
Моя проблема заключалась в том, что у меня есть несколько учетных записей пользователей на устройстве. Я удалил приложение на 1 учетной записи, но оно все равно было установлено на другой учетной записи. Таким образом пространство имен столкнулось и не установилось. Удаление приложения от всех пользователей исправило его для меня.
источник
Моя проблема была: я использовал Debug Apk, который был сгенерирован во время выполнения команды Run из Android Studio
Решение заключалось в следующем: вместо использования этого файла очистите проект и нажмите «Создать»> «Создать APK» из Android Studio. Затем вы можете использовать сгенерированный APK из обычной папки (app / build / output / apk / debug /)
Файл, который был сгенерирован таким образом, установлен без проблем.
источник
Если приложение не устанавливается, удалите файл
.android_secure/smdl2tmpl.asec
с SD-карты.Если папка
.android_secure
в файловом менеджере пуста, удалите ее с ПК.источник
В конце концов я обнаружил, что ни одно приложение не было успешно установлено, не только мое. Я установил Установочное приложение по умолчанию с SD-карты на Автоматический. Это исправило это.
источник
Если у вас есть предыдущая версия для этого приложения, попробуйте сначала стереть ее, теперь моя проблема была решена с помощью этого метода.
источник
Я также решил эту проблему,
Проблема заключалась в том, что я дважды объявлял свою основную деятельность: «В качестве первой загружаемой операции» и определял для нее также фильтр намерений. И еще раз под ней я снова объявлял ее.
Просто убедитесь, что вы не объявляете свою деятельность дважды.
источник
Manifest.xml
файле, появится ошибка компиляции, если у вас нет одинаковых действий с одинаковым именем, но в разных пакетах, НО это не работает со мной, так как я все проверил.создать файл хранилища ключей через командную строку
keytool -genkey -alias key_file_name.keystore -keyalg RSA -validity 1000000000000000 -keystore key_file_name.keystore
Экспортируйте apk через Eclipse, щелкните правой кнопкой мыши на Android-проекте Android Tools> Export Signed Application Package , затем укажите местоположение хранилища ключей и пароль.
это будет ящик подписанный apk в то же время apk будет zipaligned. И устанавливается.
Если вы пройдете через командную строку для всех, иногда вы можете столкнуться с ошибкой «Приложение не установлено». (Ошибка не установленного приложения может возникнуть не только при использовании командной строки. Это может быть и по другим причинам)
источник
У меня была та же проблема, то есть приложение показывалось как установленное, но не запускалось при нажатии значка. После некоторого удара головой я обнаружил, что тупо поместил 'android: exported = "false" для своей основной активности запуска в файле AndroidManifest .... Как только я удалил его, приложение запустилось нормально ..
источник
Моя проблема была похожа на проблему @Lunatikzx. Из-за неправильного тега разрешения, который был записан как атрибут приложения:
Для меня это исправило изменение тега разрешения на отдельный тег, подобный этому:
источник
Загрузка приложений отладки для тестирования на физическом телефоне работала надежно до тех пор, пока я не обновил телефон с Android Pie до Android 10. После этого каждый раз, когда я пытался загрузить приложение, возникала ошибка «Приложение не установлено».
На основании предупреждения в моем AndroidManifest.xml я изменил с ...
чтобы ...
После этого я смог загрузить приложение - один раз. Затем я снова столкнулся с той же ошибкой «Приложение не установлено». Изменяя
allowBackup
назадtrue
, он снова работает (по крайней мере , один раз).Из числа ответов и различий в ответах очевидно, что существует много причин этой проблемы. Я делюсь этим на случай, если это поможет другим.
источник
android:allowBackup="true"
кandroid:allowBackup="false"
и все еще не везет.Проверьте с версией Android.
Если вы устанавливаете нерыночные приложения и несовместимую версию, вы получите эту ошибку.
Пример: приложение нацелено на 2.3.4 Ваше устройство 2.2, тогда вы получите эту ошибку.
источник
build.gradle
ни в файле манифеста Android. ЕслиcompileSdkVersion
(значение 23) илиminSdkVersion
(16) илиtargetSdkVersion
(22) не указывают каким-либо образом на желаемую настройку. Моя галактика работает под управлением Android 7.0 (и просит обновить, но я пока не разрешаю). Я не использую android studio для создания своего собственного приложения, а скорееgradlew assembleRelease
Ошибка «Приложение не установлено» также может возникнуть, если приложение было установлено на SD-карту или перенесено на нее, а затем был подключен кабель USB, что приводит к отключению SD-карты.
Выключение USB-накопителя или перемещение приложения обратно во внутреннее хранилище решит проблему в этом случае.
источник
Я также столкнулся с этой проблемой. Пожалуйста, попробуйте это решение. Убедитесь, что имя пакета вашего проекта отличается от вашего предыдущего проекта, который уже был установлен на вашем мобильном телефоне. Я думаю, что они получают конфликт в своих именах. Это работает во мне.
источник
Вы также можете столкнуться с этой проблемой, поскольку производитель вашего устройства не лицензировал коммерческие приложения Google, такие как Play Store, YouTube, Google Maps и т. Д. Чтобы решить проблему , следуйте этому ответу .
источник
Очевидно, это также может быть вызвано переименованием APK перед его установкой. Я хотел уменьшить количество набираемых пользователями, чтобы получить приложение с нашего веб-сайта, сократив имя файла. После этого они не смогли его установить.
Когда я вернулся к исходному имени файла, которое использовалось при создании и подписании пакета, я смог обновить установленное приложение.
источник
Используя Android Studio, я ранее установил неподписанную отладочную версию APK ( Build> Build APK ) и должен был удалить ее перед установкой подписанной версии выпуска ( Build Varits> Build Variant: release , Build> Generate Signed APK ).
источник
для меня причина была в том, что у меня было несколько сборок с использованием разных вариантов сборки на одном телефоне:
случилось то, что некоторые из этих сборок были построены мной , другая была отправлена мне другим разработчиком ... попытка установить разработчиков, в то время как у меня были другие сборки (созданные мной), вызвала вышеуказанную ошибку.
поэтому исправление было простым: удалите все сборки на моем телефоне (независимо от варианта сборки) .. затем установите apk, отправленный моим коллегой .. и это сработало как прелесть
источник
Я столкнулся с подобной проблемой сегодня, и сначала я подумал, что это моя SD-карта, которая повредила ее. Я попробовал это на многих устройствах под управлением Android 4.4 и выше, но это продолжало вызывать одну и ту же проблему. После некоторого поиска в Google и исследования я понял, что я не выбрал подпись jar v1, которая предназначена для устройств старше, чем нуга Android 7.0, поэтому я применил оба эти подписи, установив два флажка и сгенерировали подписанный apk, и это сработало.
Ссылка на решение Android - приложение не установлено, ошибка при установке подписанного APK - как исправить
источник
Это также может произойти при создании виджета на главном экране, и в XML-файле вашего виджета указано неверное действие, указанное в его
android:configure
свойстве.источник