Невозможно выполнить отладку через eclipse на телефоне с помощью Jelly Bean

У меня есть Nexus S для спринта, который я использую в качестве телефона разработчика с корнем для работы под управлением Android 4.1. Eclipse распознает телефон, драйверы и т. д. Я могу запустить «устройства adb», и отображается идентификатор телефона. Однако, если я попытаюсь отладить свое приложение или любой другой импортированный проект, я получу следующую ошибку:

Не удалось открыть zip '/data/local/tmp/com.myapp.apk': разрешение отклонено

(Я бы выложил фото, но раньше не выкладывал сюда)

Если я вручную перенесу .apk и установлю через Astro, все работает отлично. Я значительно потерян, и любая помощь будет оценена по достоинству.


person sonofdiesel    schedule 14.07.2012    source источник
comment
Возможный дубликат   -  person adneal    schedule 14.07.2012
comment
Мне не кажется, что это дубликат. Вы пытались установить свое приложение на эмулятор Jelly Bean? Если это удастся, то вы, вероятно, нашли ошибку в своем пользовательском ПЗУ.   -  person Michael Hampton    schedule 15.07.2012
comment
У меня похожие проблемы. Что я вижу, так это то, что я не могу установить свой .apk, потому что он создается с разрешениями 600 вместо 666, которые, как мне кажется, ему нужны. Я также вижу, что мой umask в adb равен 077, что потенциально является причиной проблемы, но я не знаю, как установить правильный umask.   -  person jolo    schedule 19.07.2012
comment
Вы пробовали мой ответ? Дайте мне знать, если это помогло вам, пожалуйста.   -  person Saran    schedule 24.10.2013


Ответы (6)


Для тех, кто смотрит на это с более новой версией ядра siyah, если вы не хотите переключать свое ядро, вы можете использовать приложение «ExTweaks», чтобы изменить настройки в разделе «MISC» под названием «Двоичный режим ADB». Я установил «Разработка ADB» (был «Обычный ADB») и теперь могу успешно отлаживать с помощью eclipse! :D

person Matthew Cooper    schedule 14.10.2012

У меня есть кастомное ПЗУ, установленное на моем Galaxy S2. При поиске в Google я пришел к этому сообщению: http://forum.xda-developers.com/showpost.php?p=29454043&postcount=203

Проблема в моем случае тоже была в ядре (Siyah 3.5.2).

Установил другое ядро ​​для JB (http://developer.clockworkmod.com/downloads/51/3354/kernel-cm-10-20120801-i9100-signed.zip) и проблема решилась.

person ekim    schedule 03.08.2012

В основном

/данные/локальные

не имеет правильных разрешений, поэтому просто:

adb shell
cd /data
chmod 777 local

должно сработать. (Не уверен, что новые разрешения слишком широкие, но я не слишком беспокоюсь)

person cesarferreira    schedule 17.07.2012

Согласно ответу ekim, у меня была та же проблема, опять же, Galaxy S2 и т. д. Последняя версия Siyah устраняет эту проблему, и я могу вернуться к запуску/отладке из Eclipse.

person Zulaxia    schedule 08.08.2012

Я обновил SGS3 (I9300) до стандартной версии 4.1.1, и у меня возникла та же проблема.

После того, как я безуспешно попробовал все здесь и в других местах, предложил:

  • очистить все проекты
  • установить через adb chmod 777 для /data/local/tmp (и прямые подпапки)
  • танец курицы (не знаю, кто это предложил, но, по крайней мере, это вызвало смех ;)
  • и Т. Д.

Я установил SiyahKernel S3-v1.6.8 и проблема исчезла.

Проверив свой UMASK, я увидел, что теперь он 0000 (а на стандартном ядре был 0077), поэтому я пришел к выводу, что неправильный UMASK был основной причиной ошибки.

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

person Saran    schedule 24.10.2012

Вот быстрый способ узнать, не связана ли проблема с разрешением:
adb install -s Your.apk

это будет установлено на SD-карту, а не /data/local

person David Galante    schedule 05.01.2013