Исполняемый файл убит системой на Android, но исполняется через «Adb Shell»Android

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Исполняемый файл убит системой на Android, но исполняется через «Adb Shell»

Сообщение Anonymous »

У меня есть кросс-скомпилированная GCC для работы на устройстве Android Arm64, и я могу запустить его на эмуляторе с «оболочкой ADB»: < /p>

Код: Выделить всё

130|generic_arm64:/data/data/com.mycompany.myproject/files/sdk/hardware/tools/avr/bin # ./avr-g++ -v
Using built-in specs.
COLLECT_GCC=./avr-g++
Target: avr
Configured with: ...
Thread model: single
gcc version 7.3.0 (crosstool-NG 1.28.0.1_403899e)
Но если я запускаю его из приложения с помощью runtime.getRuntime (). exec () (или с помощью ProcessBuilder ). Он убит Android, а код возврата - 159.
Я использую d, и я ясно вижу, что он убит Android:

Код: Выделить всё

[pid 18202] chdir("/data/app/com.mycompany.myproject-MofhdxOiFns4__o-Osu8rw==/lib/arm64") = 0
[pid 18202] execve("/data/user/0/com.mycompany.myproject/files/sdk/hardware/tools/avr/bin/avr-g++", ["/data/user/0/com.mycompany.mypr"..., "-v"], [/* 14 vars */]) = 0
[pid 18202] --- SIGSYS {si_signo=SIGSYS, si_code=SYS_SECCOMP, si_call_addr=0x4d186c, si_syscall=__NR_set_robust_list, si_arch=AUDIT_ARCH_AARCH64} ---
[pid 18202] +++ killed by SIGSYS +++
[pid 18201] --- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_KILLED, si_pid=18202, si_uid=10100, si_status=SIGSYS, si_utime=0, si_stime=0} ---
< /code>
Что может быть причиной?
Я пытался избежать передачи текущих переменных DIR и среды. Похоже, Si_syscall = __ NR_SET_ROBUST_LIST 
является проблемой. AVR-GCC был перекрестно скомпилирован с использованием «Aarch64-Linux-Gnu», а не «Aarch64-Linux-Android». Это поможет? Кажется, для этого есть блокатор. Также неясно, как это работает от "Adb Shell" ..

Подробнее здесь: https://stackoverflow.com/questions/797 ... -adb-shell
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»