Подтвердить что ты не робот

Не удалось проверить приложение после обновления до Lollipop

Я использую Android Studio для разработки своих приложений.

Так как я обновил свой HTC One M8 до Lollipop, я не могу использовать его для тестирования своих приложений с помощью "Запустить приложение" в Android Studio. Я получаю эту ошибку, и на моем телефоне ничего не происходит:

Launching application: com.project.GalleryActivity.
DEVICE SHELL COMMAND: am start -n "com.project.GalleryActivity" -a android.intent.action.MAIN -c android.intent.category.LAUNCHER
java.lang.UnsatisfiedLinkError: No implementation found for java.lang.String android.os.SystemProperties.native_get(java.lang.String) (tried Java_android_os_SystemProperties_native_1get and Java_android_os_SystemProperties_native_1get__Ljava_lang_String_2)
at android.os.SystemProperties.native_get(Native Method)
at android.os.SystemProperties.get(SystemProperties.java)
at com.htc.customization.HtcCustomizationManager.<init>(HtcCustomizationManager.java)
at com.htc.customization.HtcCustomizationManager.<clinit>(HtcCustomizationManager.java)
at android.os.Environment$UserEnvironment.getCustomizationReader(Environment.java)
at android.os.Environment$UserEnvironment.isDynamicSwitchSupported(Environment.java)
at android.os.Environment$UserEnvironment.<init>(Environment.java)
at android.os.Environment.initForCurrentUser(Environment.java)
at android.os.Environment.<clinit>(Environment.java)
at android.os.Environment.getLegacyExternalStorageDirectory(Environment.java)
at android.os.Debug.<clinit>(Debug.java)
at android.ddm.DdmHandleHello.handleHELO(DdmHandleHello.java)
at android.ddm.DdmHandleHello.handleChunk(DdmHandleHello.java)
at org.apache.harmony.dalvik.ddmc.DdmServer.dispatch(DdmServer.java)
java.lang.UnsatisfiedLinkError: android.os.Debug
at android.ddm.DdmHandleHello.handleFEAT(DdmHandleHello.java)
at android.ddm.DdmHandleHello.handleChunk(DdmHandleHello.java)
at org.apache.harmony.dalvik.ddmc.DdmServer.dispatch(DdmServer.java)
java.lang.UnsatisfiedLinkError: android.os.Debug
at android.ddm.DdmHandleProfiling.handleMPRQ(DdmHandleProfiling.java)
at android.ddm.DdmHandleProfiling.handleChunk(DdmHandleProfiling.java)
at org.apache.harmony.dalvik.ddmc.DdmServer.dispatch(DdmServer.java)
Aborted

Мои настройки проекта:

Project's settings

Этот метод работал отлично, прежде чем обновляться, и с тех пор я ничего не меняю.

4b9b3361

Ответ 1

Я столкнулся с такой же ошибкой на Asus Zenfone 5 (ASUS_T00J) с Android 5.0. Для меня решение заключалось в отключении "Verify Apps over USB" в "Параметры разработчика". Launcher, возможно, не проблема, так как я пытался с помощью Google Now Launcher также без успеха. Он отлично работал на моем Nexus 5 с Android 5.1

Ответ 2

Обход проблемы: отключить интеграцию ADB в Android Studio.

Инструменты > Android > снимите флажок Включить интеграцию с ADB

Ответ 3

Я не уверен, в чем причина, но я обнаружил, что смог успешно избежать этой проблемы, закрыв все запущенные приложения на телефоне, прежде чем пытаться запустить мой код на моем M8.

Ответ 4

Используете ли вы какую-либо стороннюю пусковую установку на устройстве? У меня такая же проблема при использовании Aviate launcher. Я переключаюсь обратно на BlinkFeed в настройках Personalize- > Main Screen, и теперь мое развертывание на устройстве стабильно. Classpath com.htc.customization.HtcCustomizationManager делает меня чем-то вроде этой проблемы, связанной с пусковой установкой.

Ответ 5

Я встретил ту же проблему на ASUS ME176C (Lollipop 5.0),
 но я разрешил его настройкой "Выбрать приложение отладки" на "Нет" . Затем нажмите apk, как обычно. После этого вы можете отменить "приложение отладки" для целевого приложения.

Ответ 6

Я обнаружил "обходной путь" для решения этой проблемы

Найдите главную пусковую установку HTC Blink и удалите обновление

(ПРЕДОСТЕРЕЖЕНИЕ: удаление обновления пусковой установки приведет к удалению всех значков и виджетов, размещенных на панели запуска)

Это работает для меня, и теперь его можно использовать для отладки без удаления приложений в многозадачном режиме. Это должна быть ошибка, вызванная HTC? (Я использую HTC Butterfly 2 и Android 5.0.2)

Ответ 7

У меня нет комментариев для комментариев, но я был в той же ситуации @user47625, но моя "Verify Apps over USB" уже отключена. Я попытался немного увеличить этот ответ с некоторыми соображениями.

Сначала я попытался сменить пусковую установку, и мне повезло, но он был поражен и промахнулся, а не правильное решение. Перезагрузка телефона предоставила пару часов спокойной работы.

Затем я нашел кого-то в Google, который заявил:

Если это ошибка: клиент DDMS подключается к "Hello", когда процесс PM сначала запускается и регистрируется, но до того, как он полностью инициализирует весь собственный код. Это гонка на Android и там тоже встречается.

Итак, если эта гонка происходит, это не происходит каждый раз, но время от времени я подозреваю что-то относительно взаимодействия элемента на Android. Я не знаю, связано ли это с процессором, оперативной памятью или приложением, но на моем Zenfone 2, закрывающем все фоновые приложения (1) и освобождая память (2), делает трюк, позволяя мне правильно отлаживать приложение.

Я использовал причину "Чистый мастер" с запасом Zenfone 2, но я подозреваю, что каждый менеджер памяти может это сделать. Попробуйте

Ответ 8

На моем HTC M8 я решил проблему, отключив "Настройки → Параметры разработчика → Использовать NuPlayer (экспериментальный)"

Что я заметил, когда я пытаюсь запустить приложение, которое я создал давно (несколько лет назад), мне нужно отключить NuPlayer. Однако, с новыми приложениями, я должен оставить эту опцию отмеченной.

Надеюсь, это поможет...

Ответ 9

Это решение сработало для меня, вы можете попробовать.

Добавить путь adb к переменным System Environment (я использую Windows 8)
Пример: мой путь: "C:\Users\xxx\AppData\Local\Android\sdk\platform-tools"
Не забудьте перезагрузить систему, чтобы она вступила в силу!

О том, как установить переменные пути и среды в Windows → здесь

Ответ 10

У меня был разумный успех с обходным решением ниже.

После каждого сеанса отладки с вашим приложением перейдите на терминал Android Studio:

> adb shell am force-stop com.your.app.package

Я все же иногда получаю java.lang.UnsatisfiedLinkError, но только следуя приведенной выше команде, а не между процессом build/push apk/install и попыткой сеанса отладки.

Для меня это экономит много времени, затрачиваемого только на то, чтобы получить ошибку. Если приведенная выше команда не работает, просто up-arrow и запустите команду до тех пор, пока она не будет работать без ошибок.

Ответ 11

На Asus ZenPad, 5.0.2 я смог решить проблему, перейдя в диспетчер автозапуска Asus (Настройки → Управление питанием → Менеджер автозапуска) и разрешив автозапуск приложения.