Ошибка установки: INSTALL_PARSE_FAILED_NO_CERTIFICATES
Рискуя повторить то, что кажется очень распространенной жалобой, я думаю, что у меня есть существенные различия в этой ошибке.
Приложение не будет установлено из Eclipse, и это появится на консоли: Ошибка установки: INSTALL_PARSE_FAILED_NO_CERTIFICATES.
LogCat обеспечивает некоторую подсветку: пакет com.xxx не имеет сертификатов на входных ресурсах /fonts/helvetica _neue.ttf; не обращая внимания!
Значение, которое устройство (или эмулятор) считает, что этот файл не был подписан.
Обычные решения, предлагаемые для этого:
- Переименуйте повреждающий файл. Мы пробовали это, тогда он жалуется на следующий файл, затем на следующий и т.д.
- Добавить фиктивный файл. Пробовал тоже. Он жалуется на новый файл, независимо от того, что он назвал.
- Скомпилируйте для Android больше 1.6. Мы собираем для 2.3.
Стоит отметить, что это происходит только при запуске unit test. Мы можем установить "реальное" приложение самостоятельно без каких-либо трудностей. Мы также используем Maven и, конечно же, Maven Android-плагин.
Любые идеи или предложения были бы очень желанными, и, конечно, если мы сами это выясним, я опубликую любые выводы.
Ответы
Ответ 1
Теперь это исправлено. Если кто-то окажется с той же уникальной настройкой проекта и ошибкой, решение может иметь какое-то значение.
Проблема связана с конфигурацией наших справочников ресурсов в POM нашего тестового проекта (проект, содержащий наши модульные тесты). Они указывали на каталоги ресурсов проверяемого проекта. Эта настройка должна работать, поэтому я собираюсь предположить, что это ошибка в плагине Maven Android, которая заставляет ресурсы оставаться без знака.
Итак, решение заключалось в том, чтобы удалить ссылки на внешние каталоги ресурсов (я не могу сказать, почему это было сделано таким образом изначально, но удаление их, по-видимому, не имеет вредных последствий) и настроить каталоги ресурсов стандартным способом (принимая как пример POM, предоставленный архетипом проекта плагина maven с тестами).
Ответ 2
Я столкнулся с этим через обычную отладку - хотя это вряд ли поможет все время, просто перейдите в Project → Clean и перестройте все, что может быть достаточно, чтобы очистить ошибку.
Ответ 3
Я понял, что это связано с моей версией JDK. У меня была проблема с ant, и это было связано с этим ОСТОРОЖНО, упомянутым в документации:
http://developer.android.com/guide/publishing/app-signing.html#signapp
Внимание: с JDK 7 алгоритм подписывания по умолчанию изменился, и вам нужно указать алгоритмы подписи и дайджесты (-sigalg и -digestalg), когда вы подписываете APK.
У меня есть JDK 7. Я не могу говорить для вашего Maven, но это, вероятно, та же проблема. В моем журнале Ant я использовал -v для подробностей и показал
$ ant -Dadb.device.arg=-d -v release install
[signjar] Executing 'C:\Program Files\Java\jdk1.7.0_03\bin\jarsigner.exe' with arguments:
[signjar] '-keystore'
[signjar] 'C:\cygwin\home\Chloe\pairfinder\release.keystore'
[signjar] '-signedjar'
[signjar] 'C:\cygwin\home\Chloe\pairfinder\bin\PairFinder-release-unaligned.apk'
[signjar] 'C:\cygwin\home\Chloe\pairfinder\bin\PairFinder-release-unsigned.apk'
[signjar] 'mykey'
[exec] pkg: /data/local/tmp/PairFinder-release.apk
[exec] Failure [INSTALL_PARSE_FAILED_NO_CERTIFICATES]
Я подписал JAR вручную и запустил его, но он дал немного другую ошибку:
$ "$JAVA_HOME"/bin/jarsigner -sigalg MD5withRSA -digestalg SHA1 -keystore release.keystore -signedjar bin/PairFinder-release-unaligned.apk bin/PairFinder-release-unsigned.apk mykey
$ zipalign -v -f 4 bin/PairFinder-release-unaligned.apk bin/PairFinder-release.apk
$ adb -d install -r bin/PairFinder-release.apk
pkg: /data/local/tmp/PairFinder-release.apk
Failure [INSTALL_PARSE_FAILED_INCONSISTENT_CERTIFICATES]
641 KB/s (52620 bytes in 0.080s)
Я нашел, что ответил здесь.
Как работать с INSTALL_PARSE_FAILED_INCONSISTENT_CERTIFICATES без удаления
Мне нужно было только удалить его, а потом он сработает!
$ adb -d uninstall com.kizbit.pairfinder
Success
$ adb -d install -r bin/PairFinder-release.apk
pkg: /data/local/tmp/PairFinder-release.apk
Success
641 KB/s (52620 bytes in 0.080s)
Теперь мне нужно изменить файл build.xml, чтобы использовать эти параметры при подписании!
Ответ 4
У меня была эта проблема с MotoDev 3.0.0
Решением было удалить эмулятор и создать новый.
На самом деле вам не нужно удалять старый эмулятор, просто создайте новый, и установка будет плавно.
Ответ 5
У той же проблемы было то, что я настроен на использование App Store вместо отладки в целевой конфигурации Android, и я еще не настроил хранилище приложений. Переключился обратно на отладку, и все было нормально.
Ответ 6
выберите Java SE 6 в приложении предпочтений Java
Ответ 7
Для тех, у кого есть эта проблема...
Выберите V1 (подпись jar) вместо V2 (полная подпись apk)
Выбор V2 также может вызвать эту проблему.
![введите описание изображения здесь]()