Size: a a a

Android NDK (C++) — русскоговорящее сообщество

2019 June 08

MG

Matthew Good in Android NDK (C++) — русскоговорящее сообщество
Anyone have experience with the AOSP Terminal source code, I need help tracking down a bug
источник
2019 June 11

ЮЛ

Юрий Лещенко in Android NDK (C++) — русскоговорящее сообщество
охрана))))
источник

ЮЛ

Юрий Лещенко in Android NDK (C++) — русскоговорящее сообщество
встает охрана)))
источник

MG

Matthew Good in Android NDK (C++) — русскоговорящее сообщество
how do i register a kotlin class instead of a java class in C++, as i converted my java code into kotlin and i get

A/s.p.libtermina: java_vm_ext.cc:542] JNI DETECTED ERROR IN APPLICATION: JNI NewGlobalRef called with pending exception java.lang.NoSuchMethodError: no static or non-static method "La/o/s/p/libterminal/Terminal;.nativeInit(La/o/s/p/libterminal/TerminalCallbacks;)J"

TerminalCallbacks.kt 19: abstract class TerminalCallbacks {
Terminal.kt 43     private val mCallbacks = object : a.o.s.p.libterminal.TerminalCallbacks() {
Terminal.kt 187         private external fun nativeInit(callbacks: a.o.s.p.libterminal.TerminalCallbacks): Long
источник

I

Ivansuper in Android NDK (C++) — русскоговорящее сообщество
Matthew Good
how do i register a kotlin class instead of a java class in C++, as i converted my java code into kotlin and i get

A/s.p.libtermina: java_vm_ext.cc:542] JNI DETECTED ERROR IN APPLICATION: JNI NewGlobalRef called with pending exception java.lang.NoSuchMethodError: no static or non-static method "La/o/s/p/libterminal/Terminal;.nativeInit(La/o/s/p/libterminal/TerminalCallbacks;)J"

TerminalCallbacks.kt 19: abstract class TerminalCallbacks {
Terminal.kt 43     private val mCallbacks = object : a.o.s.p.libterminal.TerminalCallbacks() {
Terminal.kt 187         private external fun nativeInit(callbacks: a.o.s.p.libterminal.TerminalCallbacks): Long
Since Kotlin does perform some tricks under the hood I would suggest to stick with Java in places that are critical for NDK/JNI in order to keep it working properly
источник

EB

Evgen Bodunov in Android NDK (C++) — русскоговорящее сообщество
источник

EB

Evgen Bodunov in Android NDK (C++) — русскоговорящее сообщество
If it works, you should try to find differences between their approach and yours.
источник

VL

Viacheslav L in Android NDK (C++) — русскоговорящее сообщество
я тоже через джаву вызываю, чтобы не париться. А вот интересно, как с registerNatives работать в случае с котлином? Чтобы иметь кастомные названия функций в си
источник

MG

Matthew Good in Android NDK (C++) — русскоговорящее сообщество
Ivansuper
Since Kotlin does perform some tricks under the hood I would suggest to stick with Java in places that are critical for NDK/JNI in order to keep it working properly
how so o.o
источник
2019 June 12

AO

Alexandr Opara in Android NDK (C++) — русскоговорящее сообщество
Самый простой способ посмотреть jni имя твоего метода вызвать javah на твоём класфайле, и поидее не важно был исходник на котлине или джаве
источник
2019 June 13

eb

ed braed in Android NDK (C++) — русскоговорящее сообщество
Всех приветствую!
Господа, а можно ли как-то запустить нативный бинарник (тупой hello world, не более) без рут прав?
Телефон xiaomi, оболочка miui..
Эмулятор терминала есть.
источник

VL

Viacheslav L in Android NDK (C++) — русскоговорящее сообщество
вызвать ./path/to/bin
источник

VL

Viacheslav L in Android NDK (C++) — русскоговорящее сообщество
если есть Read+Execute права на бин, то повезло)
источник

eb

ed braed in Android NDK (C++) — русскоговорящее сообщество
Viacheslav L
вызвать ./path/to/bin
Ну если в тупую вызвать, кидает permission denied.
Или это какая-то системная директория?
источник

EB

Evgen Bodunov in Android NDK (C++) — русскоговорящее сообщество
это путь который тебе надо написать.
источник

EB

Evgen Bodunov in Android NDK (C++) — русскоговорящее сообщество
тут же пример просто.
источник

VL

Viacheslav L in Android NDK (C++) — русскоговорящее сообщество
ed braed
Ну если в тупую вызвать, кидает permission denied.
Или это какая-то системная директория?
возможно "эта" - системная. Ты какую вызываешь?
источник

eb

ed braed in Android NDK (C++) — русскоговорящее сообщество
Viacheslav L
возможно "эта" - системная. Ты какую вызываешь?
santoni:/sdcard/libs/arm64-v8a $ ls
helloWorld
santoni:/sdcard/libs/arm64-v8a $ ./helloWorld
/system/bin/sh: ./helloWorld: can't execute: Permission denied
источник

VL

Viacheslav L in Android NDK (C++) — русскоговорящее сообщество
сделай ls -la
источник

eb

ed braed in Android NDK (C++) — русскоговорящее сообщество
Viacheslav L
сделай ls -la
santoni:/sdcard/libs/arm64-v8a $ ls -la
total 32
drwxrwx--- 2 root everybody 4096 2019-06-10 16:57 .
drwxrwx--- 6 root everybody 4096 2019-06-10 16:57 ..        -rw-rw---- 1 root everybody 6128 2019-06-10 16:57 helloWorldsantoni:/sdcard/libs/arm64-v8a $
источник