Прежде чем объяснить, почему я должен был опубликовать этот вопрос, позвольте мне объяснить, что я уже прошел большинство других ответов в списке безрезультатно.
Проблема, с которой я сталкиваюсь при установке APK(через adb.exe на реальном устройстве) это [INSTALL_FAILED_DEXOPT] со следующим выводом из LogCat:
INFO:
PackageManager( 725): init_copy idx=0: InstallParams{1d0ac875 file=/data/local/tmp/PruebaMapas.apk cid=null}
PackageManager( 725): Trying to bind to DefaultContainerService
PackageManager( 725): onServiceConnected
PackageManager( 725): onServiceConnected: true, 0
PackageManager( 725): mcs_bound
PackageManager( 725): startCopy UserHandle{-1}: InstallParams{1d0ac875 file=/data/local/tmp/PruebaMapas.apk cid=null}
PackageManager( 725): Apk copy done
PackageManager( 725): Checking for more work or unbind...
PackageManager( 725): Posting delayed MCS_UNBIND
PackageManager( 725): Start parsing apk: null
PackageManager( 725): Parsing done for apk: null
PackageManager( 725): Start installation for package: null
PackageManager( 725): Linking native library dir for /data/app/com.actividad.PruebaMapas-1
PackageManager( 725): Perform pre-dex opt for package: com.actividad.PruebaMapas
PackageManager( 725): Running dexopt on: /data/app/com.actividad.PruebaMapas-1/base.apk pkg=com.actividad.PruebaMapas isa=arm vmSafeMode=false
PackageManager( 725): Dexopt done on: com.actividad.PruebaMapas
PackageManager( 725): Installation done for package: null
PackageManager( 725): mcs_check
PackageManager( 725): mcs_check(true, 1)
PackageManager( 725): disconnectService: false
PackageManager( 725): mcs_unbind
PackageManager( 725): calling disconnectService()
ОШИБКА:
PlayCommon( 9265): [745] com.google.android.play.b.h.a(553): Failed to connect to server: java.net.UnknownHostException: Unable to resolve host "play.googleapis.com": No address associated with hostname
AEE/AED (24646): AM write failure (32 / Broken pipe)
AEE/AED (24646): timed out waiting for tid=24637 to stop
AEE/AED (24646): timed out waiting for tid=24638 to stop
AEE/AED (24646): timed out waiting for tid=24639 to stop
AEE/LIBAEE(24646): aee_try_get_word: read:24640 addr:0x00000006 ret:-1, 5
AEE/AED (24646): timed out waiting for tid=24640 to stop
installd( 224): DexInv: --- END '/data/app/com.actividad.PruebaMapas-1/base.apk' --- status=0x0006, process failed
проблема исчезнет, если я уберу поддержку Google Maps V2 и ссылки на android.support.v4. *, но, поскольку мне это явно нужно, просто удалить это не вариант.
Я уже уменьшил зависимости, чтобы сделать сгенерированныйAPK (classes.dex, то есть приложение компилируется в 2,3 МБ) меньше 5 МБ.
Я уже реализовал мультидексинг, чтобы каждый .dex был намного меньше 5 МБ.
Приложение устанавливается и прекрасно работает на старом устройстве под управлением Android 4.4.Как и многие другие устройства, работающие под разными версиями ОС.
Это заставляет меня думать, что, поскольку я тестирую это на умных часах Finow X5 Air, которые не уверены, что это действительно версия 5.1, она может быть более старой и устаревшей.что это 5.1 ??Я не знаю, это китайские часы, поэтому все ставки сняты.(Обновление: ОС Smartwatch не виновата, это подлинная ОС 5.1, хотя качество часов ужасное.)
Я не использую Gradle или Android studio.Я использую свой собственный компилятор, который я разрабатываю, поэтому я компилирую приложение с помощью командной строки.Но исходный код написан на Java, и он ничем не отличается от кода, используемого в Android Studio.
Все, что мне нужно сообщить, чтобы получить помощь, я сделаю.Спасибо.
РЕДАКТИРОВАТЬ: Я добавил больше информации logcat.