##MyJNI
##前言
##Описание проекта Проект состоит из двух модулей:
##Объяснение
Если у вас не установлен jni helper, это будет довольно хлопотно, вам нужно будет вручную запустить javah для создания файла .h или вручную добавить соответствующий код в метод hellojni/autojavah.sh (для систем, отличных от Windows), чтобы завершить его. В любом случае, без jni helper это довольно хлопотно.
Если у вас есть jni helper, вы можете напрямую щелкнуть правой кнопкой мыши в пустой области редактора Java, и появится меню для создания файлов .h.
###Конфигурация JNI в Android Studio выглядит следующим образом:
Создайте собственный метод в MainActivity
, например:
public native String getStringFromNative();
Используйте jni helper или autojavah.sh
или вручную javah для генерации файла .h
. Поместите сгенерированный файл .h в папку hellojni/src/main/jni
, а затем реализуйте его.
(Необязательно) Настройте конфигурацию NDK для hellojni в файле hellojni/build.gradle
:
android { ... buildTypes { release { ... ndk { moduleName "jnimain" } }
debug {
...
ndk {
moduleName "jnimain"
}
}
}
} moduleName — это имя статической библиотеки. Если оно не задано, статическая библиотека будет иметь то же имя, что и модуль.
Импортируйте статическую библиотеку. В MainActivity используйте статический блок кода для импорта статической библиотеки:
static { System.loadLibrary("jnimain"); } Если moduleName не задан, замените jnimain на hellojni.
Конкретное имя созданной статической библиотеки можно найти в подкаталоге hellojni/build/intermediates/ndk
в файле .mk
.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )