2015-05-27 2 views
9

Im пытается запустить приложение на моем GS5 от андроида студии и Im получают это:Android-студия вечера инсталляции прерван

Waiting for device. 
Target device: samsung-sm_g900v-f3af9744 
Uploading file 
local path: D:\Android\Projects\TestProject\build\outputs\apk\TestProject-debug.apk 
remote path: /data/local/tmp/com.brian.testproject 
Installing com.datascan.mobilescripts 
DEVICE SHELL COMMAND: pm install -r "/data/local/tmp/com.brian.testproject" 
Aborted 

Вроде бы копирования файла на устройство, я могу видеть его в/data/local/tmp. Его просто не удается на стадии «pm install».

По телефону Я включил USB-отладку и авторизовал компьютер. Вот что я получаю, когда я запускаю устройства ADB:

D:\Android\sdk\platform-tools>adb devices 
List of devices attached 
f3af9744  device 

Так, чтобы это было правильно. Я не совсем уверен, в чем проблема. Поиск Google по проблеме не дал мне никаких релевантных результатов.

Кто-нибудь знает, как получить дополнительную информацию за пределами «Отменено»? Любая помощь приветствуется, спасибо!

EDIT:

Как было предложено @AlexP. Я побежал «ADB LogCat -d -s PackageManager: *», это был результат:

D:\Android\sdk\platform-tools>adb logcat -d -s PackageManager:* 
--------- beginning of main 
--------- beginning of system 

Не много помощи, но я решил посмотреть LogCat как установить вечера были бегутся, и я нашел эту ошибку запись:

Вслед за целым рядом записей об ошибках в искусстве.

Так кажется, что мой телефон что-то упустил, может быть?

+1

приложение уже установлено? Если да, пытались ли удалить его вручную? – cygery

+1

@cygery Не установлен, я смог установить его вручную, перенести apk на SD-карту и установить ее с телефона. Я пытался, пока приложение было установлено и получило тот же результат. –

+1

проверить журналы сразу после сбоя 'adb logcat -d -s PackageManager: *' –

ответ

8

Причина, по которой Android-студия выходит из строя на Galaxy S5, заключается в том, что adbd (служба ADB на телефоне, а не на вашем ПК), на корневой версии этого телефона не работает как root, что является мерой безопасности. Вы можете проверить это, вручную пытаясь выполнить команды Android Studio apk и выполнить на устройстве и выяснить, что они не выполняются, но повторить их с помощью «su ...» и увидеть, что приложение устанавливает и запускает на устройстве , Есть три варианта решения этой и разблокирование Android Studio:

Опции:

  1. флэш-ПЗУ, который включает в себя модификацию - не требуется, как от моего понимания вы хотели бы остаться на фондовом изображения; также хорошая мера безопасности, чтобы не работать adbd с правами root. Более старые рома также попадают в эту категорию, но тогда вам не хватает обновлений Stock Rom и исправлений безопасности.
  2. Создайте пользовательский boot.img и запустите его на свой телефон - это в основном настраиваемое ядро ​​и не желательно по аналогичным причинам, чем выше. 1.
  3. Перезапустите adbd на своем устройстве с привилегиями root при разработке приложений - предпочтительными и достижимыми довольно легко через различные методы, в том числе:

предпочтительное решение:

а. Перезапустите adbd с привилегиями root (небезопасный режим), убив службу на телефоне и используя приложение терминала или так, чтобы перезапустить его с помощью «su». После того, как вы закончите разработку приложений, перезагрузите телефон, и adbd вернется в безопасном режиме, восстановив меры безопасности.

b. Используйте бесплатное приложение Chainfire ADB, которое бесплатно доступно для XDA (скачать/ссылка ниже) или оплатить его в Google Play, чтобы поддержать его работу. Вы можете переключать режим в приложении. В приложении у вас также есть возможность автоматического повторного включения режима защиты при перезагрузке.

Ссылки:

https://android.stackexchange.com/questions/5884/is-there-a-way-for-me-to-run-adb-shell-as-root-without-typing-in-su

http://forum.xda-developers.com/showthread.php?t=1687590 (включает в себя скачать бесплатно ссылка)

https://play.google.com/store/apps/details?id=eu.chainfire.adbd (для поддержки работы Chainfire в)

+1

Большое спасибо за подробное решение. Я отмечаю ваш ответ как принятый. –

5

Возможные решения:

1. Проверьте ваше приложение оставил никаких ДАННЫЕ:

Первые если приложение уже установлено, то данные чистый кэш и удалите его В разделе «Системные настройки» затем «Диспетчер приложений» http://i.stack.imgur.com/b3oys.jpg

После удаления

  • Force, запустив & adb shell pm uninstall com.brian.testproject
  • Check "/data/data/com.brian.testproject/" и удалить его
  • Удалить все записи вашего пакета на/данных/системы/packages.xml
  • Удалите все записи из пакета на /data/system/packages.list
  • Также вы можете установить SDMaiD и очистки устройства, особенно с «CorpseFinder» и «AppCleaner»

2. Попробуйте установить приложение вручную и отладку результата:

В вашем случае у вас есть проблемы с вечером над андроидом студией ... установить его вручную, чтобы иметь более подробное сообщение по командной строке

$ adb push D:\Android\..\TestProject-debug.apk /sdcard/myapp.apk 
$ adb shell pm install /sdcard/myapp.apk 

3. Проверьте Android Studio и ваши источники приложений

изменить целевого уровня API:

  • правой кнопкой мыши на вашем приложении реж + Открыть настройки модуля + приложение + проверка версии SDK + изменение цели и минимум под "Flavor"
  • Синхронизировать Кнопка Gradle
  • Перестроить проект
  • https://www.youtube.com/watch?v=v4b7C6Q-9dI

  • Обновите свою студию Android, если у вас нет последней версии.
  • Если ваше приложение использует библиотеки, вам необходимо их перекомпилировать.

4. Проверьте Системные настройки:

  • Проверка вашего загрузочного пути к классам init.rc. BOOTCLASSPATH должен включать /system/framework/ext.jar и /system/framework/framework.jar и т. Д.

  • Проверить DEXPREOPT_BOOT_JARS сборки/ядра/dex_preopt.mk. DEXPREOPT_BOOT_JARS должен включать ext и framework и т. Д.

  • Порядок всех элементов на BOOTCLASSPATH должен быть равен порядку всех элементов на DEXPREOPT_BOOT_JARS.


5. Try команда вечер прямо на устройстве:

если команда вечера не работает, попробуйте эту команду с терминалом непосредственно на телефоне, чтобы увидеть, если это вопрос о связи между ПК и телефоном

pm install /sdcard/myapp.apk 

6. Переустановите свой ролик еще раз (просто переустановите его) не нужно стирать.

+0

Большое спасибо за этот подробный ответ. Что касается №4, то выглядит как BOOTCLASSPATH на самом деле в моем файле init.environ.rc. Он не содержит pm.jar или am.jar. Должны ли они быть добавлены? Кроме того, у меня нет файла с именем dex_preopt.mk. Думаю, это может быть проблемой? –

+0

«/system/framework/pm.jar» - это менеджер пакетов, и если вы пропустите этот файл, он объяснит, почему он не работает – intika

+0

вы не можете просто отредактировать init.rc, это часть ядра, я полагаю, вы установили пользовательский интерфейс ядро? это может быть проблемой. в вашем случае переустановка запаса rom + kernel кажется подходящим решением, в противном случае, если ваш телефон не загружен, вы можете попробовать другое ядро ​​ – intika

-1

Android Студия

шаг 1: Перейти к файлу -> недействительным и перезагрузка.

Этап 2: Очистить и перестроить проект.

шаг 3: перейти к папке проекта кнопкуВыполнения

gradle clean 

шаг 4: перезагрузка телефона/Emulator.

Done !!!

+0

Извините, но ваше решение не добавляет ничего нового в существующий – intika

+1

@intika Я полагаю, что это был точный ответ, чем выше. и не имеет права голоса! – Uzair

1

Для тех, кто имеет эту же проблему, к сожалению, единственным решением, которое я смог найти, было понизить мою версию ROM (до OA8). Как только я это сделал, adb работает отлично. Если кто-нибудь найдет лучшее решение, я бы определенно хотел узнать.

+0

Вы можете обновить свой ПЗУ и исправить это. См. Мой ответ. – YasharF

Смежные вопросы