PTP_ERROR_IO при попытке запустить приложение на телефоне Android с помощью Apportable

Я пытаюсь преобразовать приложение iOS с помощью UIKit, используя Apportable, и отлаживать его на своем телефоне Android.

Я могу собрать и запустить пример Tweejump из Apportable на моем Sony Ericsson Xperia Arc S с Android 4.0.4 с помощью Starter Apportable. Устройство подключено через USB и включена отладка по USB.

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

Finalizing Build/android-armeabi-debug/Chaser/Chaser-unaligned.apk
Signing APK with keys
Aligning Build/android-armeabi-debug/Chaser/Chaser-signed.apk
Loading...
PTP_ERROR_IO: failed to open session, trying again after resetting USB interface
LIBMTP libusb: Attempt to reset device
Android device detected, assigning default bug flags
Found Sony Ericsson LT18i (BX902USN5N)
Could not get device foldersStarting: Intent { cmp=Cromian.CHASER/com.apportable.activity.VerdeActivity (has extras) }
Error type 3
Error: Activity class {Cromian.CHASER/com.apportable.activity.VerdeActivity} does not exist.

scons: done building targets.
Finished.

Я пытался построить и запустить, используя следующие команды: apportable load и EARLY_LIFECYCLE_DEBUG=yes apportable just_debug

И я пробовал с режимом подключения USB, установленным на MTP, а также с MSC.

Если я смогу заставить его работать, я подумаю о переходе на Инди-план.

Кто-нибудь может мне помочь?

ОБНОВЛЕНИЕ: при выполнении команды EARLY_LIFECYCLE_DEBUG=yes apportable just_debug в одном из моих других приложений iOS я получаю следующий вывод в терминале:

Running process NOT FOUND
1572 KB/s (9848 bytes in 0.006s)
Using Xcode breakpoints v2
am start -e EARLY_LIFECYCLE_DEBUG 1 -e NSUnrecognizedForwardingDisabled 1 -e WAIT_FOR_ATTACH 1 -n AndersFriis.CheckUd/com.apportable.activity.VerdeActivity
Starting: Intent { cmp=AndersFriis.CheckUd/com.apportable.activity.VerdeActivity (has extras) }
Attaching to pid 2108
Attached; pid = 2108
Listening on port 5039
GNU gdb (GDB) 7.5-https://github.com/apportable/gdb Feb 20 2014 18:49:38
Copyright (C) 2012 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "--host=x86_64-apple-darwin12.4.0 --target=arm-elf-linux".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Remote debugging from host 127.0.0.1
warning: Could not load shared library symbols for gralloc.msm7x30.so.
Do you need "set solib-search-path" or "set sysroot"?
warning: Unable to find dynamic linker breakpoint function.
GDB will be unable to debug shared library initializers
and track explicitly loaded dynamic code.
0x2aabc4b0 in epoll_wait () from /Users/Anders/.apportable/cache/devices/BX902USN5N/libs/libc.so
$1 = 1
/Users/Anders/.apportable/SDK/Build/android-armeabi-debug/Check_ud/gdb/gdb.setup:18: Error in sourced command file:
No symbol table is loaded.  Use the "file" command.
(gdb) 

Приложение просто зависает на изображении запуска «приемлемой бета-версии» и ничего не происходит.

ОБНОВЛЕНИЕ 2: ошибка при выполнении команды EARLY_LIFECYCLE_DEBUG=yes apportable debug:

[1/10] Writing Build/android-armeabi-debug/Check_ud/AndroidManifest.xml
[2/10] Creating Build/android-armeabi-debug/Check_ud/Check_ud-resources.apk and R.java files
[3/3] Building Build/android-armeabi-debug/Check_ud/Check_ud-debug.apk
Device 0 (VID=0fce and PID=514f) is a SonyEricsson LT15i Xperia Arc MTP+ADB.
Android device detected, assigning default bug flags
Found Sony Ericsson LT18i (BX902USN5N)
Could not get device foldersError: command failed: /Users/Anders/.apportable/SDK/bin/transfer /Users/Anders/.apportable/SDK/Build/android-armeabi-debug/Check_ud/Check_ud-debug.apk

Обновление 3:

...
pull: /system/lib/libpower.so -> /Users/Anders/.apportable/cache/devices/BX902USN5N/libs/libpower.so
pull: /system/lib/lib_get_secure_mode.so -> /Users/Anders/.apportable/cache/devices/BX902USN5N/libs/lib_get_secure_mode.so
278 files pulled. 0 files skipped.
4500 KB/s (65824946 bytes in 14.284s)
1559 KB/s (9848 bytes in 0.006s)
Using Xcode breakpoints v2
am start -e EARLY_LIFECYCLE_DEBUG 1 -e NSUnrecognizedForwardingDisabled 1 -e WAIT_FOR_ATTACH 1 -n AndersFriis.CheckUd/com.apportable.activity.VerdeActivity
Starting: Intent { cmp=AndersFriis.CheckUd/com.apportable.activity.VerdeActivity (has extras) }
Attaching to pid 1935
Attached; pid = 1935
Listening on port 5039
GNU gdb (GDB) 7.5-https://github.com/apportable/gdb Feb 20 2014 18:49:38
Copyright (C) 2012 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "--host=x86_64-apple-darwin12.4.0 --target=arm-elf-linux".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Remote debugging from host 127.0.0.1
warning: Could not load shared library symbols for gralloc.msm7x30.so.
Do you need "set solib-search-path" or "set sysroot"?
warning: Unable to find dynamic linker breakpoint function.
GDB will be unable to debug shared library initializers
and track explicitly loaded dynamic code.
0x2aabc4b0 in epoll_wait () from /Users/Anders/.apportable/cache/devices/BX902USN5N/libs/libc.so
$1 = 1
/Users/Anders/.apportable/SDK/Build/android-armeabi-debug/Check_ud/gdb/gdb.setup:18: Error in sourced command file:
No symbol table is loaded.  Use the "file" command.
(gdb) 

person Anders Friis    schedule 01.03.2014    source источник


Ответы (1)


Ошибка «Не удалось получить папки устройства» возникает из-за сбоя программы переноса.

Перезагрузка устройства может решить проблему.

В противном случае при запуске MTP=no apportable load будет работать более медленный, но, возможно, более надежный adb для передачи приложения на устройство.

person Paul Beusterien    schedule 12.04.2014
comment
Привет, Пол. Теперь приложение можно перенести на устройство с помощью предложенной вами команды, и это нормально. Но он вылетает сразу при запуске, так что если бы была возможность его отладить, я бы смог найти причину ошибки.. - person Anders Friis; 31.05.2014
comment
Используйте EARLY_LIFECYCLE_DEBUG=yes, подходящий только_отладке - person Paul Beusterien; 31.05.2014
comment
Спасибо за ответ. Я обновил вопрос выводом, который я получаю при выполнении этой команды. - person Anders Friis; 01.06.2014
comment
Попробуйте сбросить все: удалить приложение и соответствующий clean_device_cache и EARLY_LIFECYCLE_DEBUG=yes соответствующую отладку - person Paul Beusterien; 01.06.2014
comment
Я удалил, очистил кеш и перезагрузил устройство. Затем я выполнил команду, но затем получил новую ошибку, см. Обновление 2. - person Anders Friis; 02.06.2014
comment
Я обновил вопрос (обновление 3) с новым выводом при запуске EARLY_LIFECYCLE_DEBUG=yes MTP=no apportable debug - person Anders Friis; 02.06.2014
comment
Не уверен что происходит. Файл может быть в плохом состоянии. Вы можете попробовать выполнить соответствующую очистку и повторить EARLY_LIFECYCLE_DEBUG=yes MTP=нет соответствующей отладки - person Paul Beusterien; 09.06.2014
comment
Но я это уже сделал. Я думаю, мне придется отказаться от Apportable - person Anders Friis; 14.06.2014