Articles of андроид NDK

Неразрешенное включение: <jni.h>

У меня есть проблемы с затмением и секвойями. Я написал простое приложение, и без sequoyah он строит успешно. Но он попадает в эмулятор, поэтому я решил использовать sequoyah для собственной отладки. И после установки sequoyah я вижу, что неразрешенное включение не позволяет мне создавать и запускать проект. Кто-нибудь может мне помочь? Благодарю.

Android Studio: новая ошибка приложения NDK для создания градиента

Я создаю образец проекта MoreTeapots из https://github.com/googlesamples/android-ndk и получаю ошибки Информация: задачи Gradle [: приложение: assembleAllDebug]: приложение: copyArm64-v8aDebugAllMoreTeapotsNativeActivitySharedLibraryGdbServer: приложение: createArm64-v8aDebugAllMoreTeapotsNativeActivitySharedLibraryGdbsetup: приложение: compileArm64-v8aDebugAllMoreTeapotsNativeActivitySharedLibraryMoreTeapotsNativeActivityMainC: приложение: compileArm64-v8aDebugAllMoreTeapotsNativeActivitySharedLibraryMoreTeapotsNativeActivityMainCpp: приложение: linkArm64-v8aDebugAllMoreTeapotsNativeActivitySharedLibrary: приложение: stripSymbolsArm64-v8aDebugAllMoreTeapotsNativeActivitySharedLibrary: приложение: arm64 -v8aDebugAllMoreTeapotsNativeActivitySharedLibrary: приложение: copyArmeabi-v7aDebugAllMoreTeapotsNativeActivitySharedLibraryGdbServer: приложение: createArmeabi-v7aDebugAllMoreTeapotsNativeActivitySharedLibraryGdbsetup: приложение: compileArmeabi-v7aDebugAllMoreTeapotsNativeActivitySharedLibraryMoreTeapotsNativeActivityMainC: приложение: compileArmeabi-v7aDebugAllMoreTeapotsNativeActivitySharedLibraryMoreTeapotsNativeActivityMainCpp: приложение: linkArmeabi-v7aDebugAllMoreTeapotsNativeActiv itySharedLibrary: приложение: stripSymbolsArmeabi-v7aDebugAllMoreTeapotsNativeActivitySharedLibrary: приложение: armeabi-v7aDebugAllMoreTeapotsNativeActivitySharedLibrary: приложение: copyArmeabiDebugAllMoreTeapotsNativeActivitySharedLibraryGdbServer: приложение: createArmeabiDebugAllMoreTeapotsNativeActivitySharedLibraryGdbsetup: приложение: compileArmeabiDebugAllMoreTeapotsNativeActivitySharedLibraryMoreTeapotsNativeActivityMainC: приложение: compileArmeabiDebugAllMoreTeapotsNativeActivitySharedLibraryMoreTeapotsNativeActivityMainCpp: приложение: […]

Проблемы с подключением к сети NDK для Android: соединение TCP не работает

У меня проблемы с Android NDK. В моем проекте требуются программные компоненты, написанные на C, которые могут получать данные по TCP, которые будут исполняться на ОС Android. С этой целью я сделал простой сервер и клиент в C, используя сокеты BSD, и могу успешно отправлять сообщения по всему соединению на ПК. Теперь я переместил клиентский […]

Пакет Android apk с дополнительными исполняемыми файлами

В соответствии с более ранним вопросом ( Android ioctl – разрешения и использование root ), можно ли создать отдельный собственный исполняемый файл и упаковать его в APK? Приложение нуждается в корневом доступе и не идет на рынок Android, но я бы хотел установить его, не используя скрипт, который накладывает дополнительный исполняемый файл на устройство.

Получить имя приложения от NDK

Мне нужно получить имя моего приложения для Android от родной стороны, например: android.content.context context=(android.content.context) this;//current activiy Resources appR =context.getResources(); String packageName=context.getPackageName(); int id=appR.getIdentifier("app_name","string",packageName ); CharSequence txt = appR.getText(id); Мой собственный код: jstring Java_com_AnalyticToolC_AnalyticToolActivity_JNISendData(JNIEnv* env,jobject entryObject,jobject contxt) { char *realAppName; realAppName=(char *)malloc(16 * 1024); jclass android_content_Context =(*env)->GetObjectClass(env, contxt); jmethodID midGetPackageName = (*env)->GetMethodID(env, android_content_Context, "getPackageName", "()Ljava/lang/String"); jstring […]

Использование Android NDK и C ++

Я получил пример проекта HelloJni, который использует файл C для собственного кода. Я не смог получить простые примеры работы с C ++. Возьмите следующий код JNI: #include <jni.h> #include <string.h> JNIEXPORT void JNICALL Java_com_test_testActivity_doSomething(JNIEnv * env, jobject obj) { } Если у меня есть код в .c файле, он отлично работает. Если я изменю расширение […]

Компилятор NDK 11 обрабатывает предупреждения как ошибки

Я пытаюсь построить библиотеку с android ndk-11, и я получаю ошибку компоновщика: arm-linux-androideabi/bin/ld: error: treating warnings as errors Я не получаю эту ошибку, если я использую ndk-r10e. Запуск ndk-build с V = 1, я вижу, что -Wl,–fatal-warnings передаются компоновщику. Я попытался добавить LOCAL_LDFLAGS:=-Wl,–no-fatal-warnings в мой файл Android.mk, и я вижу в выходе компоновщика, что он […]

Получение версии ОС с NDK в C

Я пишу программу на C, которую хочу выполнить на моем рабочем столе под управлением Linux, а также на устройстве Android. Я должен сделать некоторые конкретные вещи для настольных компьютеров и некоторые специфические для Android вещи. Мой вопрос: есть ли способ получить версию ОС на C, чтобы я мог справиться, если программа выполняется на рабочем столе […]

Не удалось загрузить класс com.android.build.gradle.managed.NdkConfig $ Impl

Я просто обновился до AS 2.0 Preview 8, и я пытаюсь создать свой старый проект. Я обновил его, чтобы classpath 'com.android.tools.build:gradle-experimental:0.6.0-alpha8' И обновил gradle-wrapper.properties чтобы использовать gradle-2.10-all.zip , но когда я пытаюсь построить свой проект, я получаю высказывание Java stactrace: Unable to load class com.android.build.gradle.managed.NdkConfig$Impl Я использую Java 8 для запуска AS, а также для […]

Можем ли мы использовать System IPC в коде Android NDK

Здесь я хочу использовать методы System IPCs, например <sys/msg.h> /* SysV message queues */ <sys/ipc.h> /* General IPC definitions */ Здесь мой код Android NDK находится на языке C, и я использовал механизм IPC очереди сообщений для связи для другого приложения C. Поэтому, пожалуйста, дайте мне знать, есть ли способ достичь этой цели IPC? Как […]