Когда я нажимаю, чтобы запустить проект, который я только что создал в Android Studio 0.2.10, и выбираю свой Android (подключенный по USB с отладкой по USB), я получаю эту ошибку:
Waiting for device.
Target device: 0123456789ABCDEF
Uploading file
local path: /Users/Rui/AndroidStudioProjects/FirstAppProject/FirstApp/build/apk/FirstApp-debug-unaligned.apk
remote path: /data/local/tmp/rui.firstapp
Installing rui.firstapp
DEVICE SHELL COMMAND: pm install -r "/data/local/tmp/rui.firstapp"
pkg: /data/local/tmp/rui.firstapp
Failure [INSTALL_FAILED_INVALID_APK]
Любая идея того, что это может быть?
MinSDK
иTargetSDK
значение в манифесте. Вы пробовали установить это в эмуляторе? Это позволит сузить круг вопросов, связана ли проблема с APK-файлом или с вашим устройством.Ответы:
Я получал это в Android Studio, и все, что я сделал, чтобы исправить, это зашел,
"Build" > "Clean Project"
и это просто сработало.источник
./gradlew clean
следует обычная команда сборкиПросто удалите старый APK android / app / build / output / apk / debug / app-debug.apk в папку. это все. наслаждайтесь кодированием ...
источник
rm -fr android/app/build/outputs/apk/debug/
Однажды у меня возникла аналогичная проблема, я заметил, что имя пакета в моем Androidmanifest.xml было начато с одного символа пустого пробела.
like " com.example.test" instead of "com.example.test"
Я удалил все такие недопустимые пробелы из своего файла манифеста, это решило мою проблему
Изменить 1 : '-' в имени пакета также вызывает ту же проблему в некоторых версиях Android.
источник
invalidate cache and restart
что заставит чистую сборку, видимо, нет.У меня была такая же проблема, но ни одно из решений не помогло мне. Проблема была в том, что у меня не было . разделители в имени моего пакета.
т.е. если имя вашего пакета - my.packagename, все в порядке, но это не может быть просто mypackagename.
Получил подсказку из этого отчета об ошибке.
https://code.google.com/p/android/issues/detail?id=55841
источник
Если у кого-то все еще есть проблема, тогда Build-> Clean Project, затем Build-> Rebuild project, наконец, синхронизируйте проект с файлом Gradle .
источник
Как решить эту проблему:
RootExplorer
tmp
папку на SD-картеLink
эту папку (последний вариант в меню)/data/local/
и нажмите кнопкуCREATE LINK
снизуисточник
У меня была эта проблема, и ни одно из вышеперечисленных решений не помогло мне.
По какой-то причине в моем
/data/local/tmp
каталоге неправильно были установлены разрешения (только root имел rwx). Я исправил проблему с помощью ADB (вам понадобится рутированное устройство):adb shell
/data/local
использованиюcd /data/local
su
tmp
каталоге с помощьюchmod 777 tmp
источник
Отключив Instant Run, я решил проблему. До сих пор не знаю никаких объяснений. После перехода на Android Studio 3.0 возникает такая проблема. Надеюсь, это поможет кому-то в будущем.
источник
Когда я столкнулся с этой проблемой, для меня ее решило то, что имя пакета AndroidManifest.xml совпадает с идентификатором приложения build.grade.
источник
Я нашел другую причину этой ошибки. Если вы внедрили права доступа к устройству / data / local / tmp, могут быть изменены, поэтому adb не сможет получить доступ к временному файлу. Решение - создать папку «tmp» на SD-карте и создать на нее символическую ссылку в / data / local / (через оболочку ADB или Root Explorer).
источник
Если вы напишете
android:extractNativeLibs="false"
в файле AndroidManifest. затем измените его наandroid:extractNativeLibs="true"
источник
Я пробовал большинство предложенных выше решений (простые, а не те, которые предлагают chmod и изменяют внутренние библиотеки), и ни одно из них не работает
В конце концов, у меня сработало: «Очистить проект» -> «Перестроить проект» -> изменить имя версии приложения в модуле приложения build.gradle -> Синхронизировать Gradle -> Запустить приложение на устройстве.
источник
Перейдите к
Run/Debug Configurations
Нажмите «Выполнить» на верхней вкладке> «Изменить конфигурации».
источник
В моем случае это помогло:
Settings -> Apps -> Google Play Store -> Click "Enable" button.
источник
Я столкнулся с этой проблемой из-за несоответствия вариантов сборки. Модуль динамической доставки находился в отладочном варианте, а остальные модули были в выпуске. Простое изменение модуля динамической доставки для выпуска, перекомпоновки и установки устранило проблему.
источник
Для проектов Flutter с помощью редактора VS Code перейдите в исходную папку проекта, удалите папку «build» и начните отладку.
источник
У меня возникла эта проблема в проекте с Dagger и несколькими модулями. Что сработало для меня (ничего из вышеперечисленного не сработало): 1) очистить папку .gradle 2) очистить папку .idea 3) В проекте gradle.properties отметьте org.gradle.caching = false 4) Возможно, сделать недействительными кеши в AS , очистить, восстановить
Возможно, вам удастся обойтись простым №3: очистить, затем построить.
РЕДАКТИРОВАТЬ: В последнее время я смог обойти это, перезапустив AS, затем выполнив чистку, а затем снова установив.
источник
./gradlew installDebug
из командной строкиПричиной этой проблемы для меня был неправильный вариант сборки, выбранный для одного из модулей моего приложения. В инструменте «Варианты сборки» я выбрал вариант модуля, который соответствует модулю приложения, и это устранило проблему для меня.
источник
У меня была эта проблема в Android Studio, потому что в моей сборке отладки я добавил суффикс имени версии -DEBUG и - была проблема.
Постарайтесь, чтобы в названиях версий и идентификаторах приложений были только буквы, цифры и точки.
источник
У меня была такая же ошибка. У меня был 2015 год в идентификаторе приложения. Я заменил 2015 на пятнадцать, и это решило проблему.
Кроме того, если вы используете Android Studio, вы можете попробовать: Инструменты / Android / Синхронизировать проект с файлами Gradle.
источник
Принудительно остановить приложение в настройках устройства.
источник
У меня была эта проблема, и ни одно из вышеперечисленных решений не помогло мне.
Причина, вероятно, в телефоне с корневой версией, у которого есть доступная квота или разрешения на установку apk только на SD-карте.
Я исправил проблему с помощью ADB (вам понадобится рутированное устройство):
источник
Кажется, есть несколько причин для этой неудачи. Для меня проблема заключалась в том, что в файле AndroidManifest я сослался на несуществующую библиотеку (только на этом конкретном устройстве) с помощью тега uses-library. После удаления библиотеки, которой на этом устройстве не было, apk был установлен правильно.
источник
Я использовал архетип maven androidquickstart и столкнулся с той же проблемой:
Имя моего пакета было единственным androidquickstart. Согласно советам раньше
package="androidquickstart"
кpackage="androidquickstart.test"
и , соответственно , удаляются тест из других частей XML<activity android:name=".test.HelloAndroidActivity" >
в<activity android:name=".HelloAndroidActivity" >
источник
Имя вашего пакета должно включать слова, объединенные точками, например com.example или prashant.mydairy ..... теперь он должен работать нормально
файлы, в которых вы должны обновить имя пакета ur, следующие: 1) файл манифеста 2) файл Gradle (модуль appp): applicationId "package.name"
источник
В имени taskAffinity должно быть хотя бы одно "." разделитель
источник
Если у вас есть доступ к консоли устройства (оболочка adb), измените разрешения для следующих:
Вы также можете попробовать скопировать apk,
/data/local/
в этом случае убедитесь, что для apk также установлены правильные разрешения .источник
Похоже, что виноват номер после точки .
У меня была такая же проблема со следующим applicationId
org.tony.stark.125jarvis
Изменив его на
org.tony.stark.jarvis
Мне удалось установить приложение на устройства Android.
источник
Вы можете получить эту ошибку, если размер
minSdkVersion
inbuilde.gradle
больше, чем версия Android устройства. В этом случае вам необходимо изменить файлminSdkVersion
.источник
удалить код в AndroidManifest.xml:
инструменты: replace = "android: appComponentFactory" android: appComponentFactory = ""
оно работает.
источник