1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/jijunpeng-MyJNI

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
В этом репозитории не указан файл с открытой лицензией (LICENSE). При использовании обратитесь к конкретному описанию проекта и его зависимостям в коде.
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

##MyJNI

##前言

  • Этот проект в основном используется для практики программирования с использованием NDK в Android Studio (сокращённо AS).
  • Ссылка на учебное пособие: http://demo.netfoucs.com/ashqal/article/details/21869151
  • В учебном пособии использовалась Android Studio версии 0.4.2.
  • Создание этого проекта было завершено в версии Android Studio 1.2 preview 4.
  • Рекомендуется использовать плагин «jni helper» в AS, который может помочь быстро и удобно генерировать заголовочные файлы .h.

##Описание проекта Проект состоит из двух модулей:

  1. app: модуль, автоматически генерируемый при создании проекта.
  2. hellojni: вручную созданный модуль библиотеки Android: hellojni, весь код, связанный с JNI, полностью помещён в этот модуль.

##Объяснение

Если у вас не установлен jni helper, это будет довольно хлопотно, вам нужно будет вручную запустить javah для создания файла .h или вручную добавить соответствующий код в метод hellojni/autojavah.sh (для систем, отличных от Windows), чтобы завершить его. В любом случае, без jni helper это довольно хлопотно.

Если у вас есть jni helper, вы можете напрямую щелкнуть правой кнопкой мыши в пустой области редактора Java, и появится меню для создания файлов .h.

###Конфигурация JNI в Android Studio выглядит следующим образом:

  1. Создайте собственный метод в MainActivity, например: public native String getStringFromNative();

  2. Используйте jni helper или autojavah.sh или вручную javah для генерации файла .h. Поместите сгенерированный файл .h в папку hellojni/src/main/jni, а затем реализуйте его.

  3. (Необязательно) Настройте конфигурацию NDK для hellojni в файле hellojni/build.gradle:

    android { ... buildTypes { release { ... ndk { moduleName "jnimain" } }

         debug {
             ...
             ndk {
                 moduleName "jnimain"
             }
         }
     }

    } moduleName — это имя статической библиотеки. Если оно не задано, статическая библиотека будет иметь то же имя, что и модуль.

  4. Импортируйте статическую библиотеку. В MainActivity используйте статический блок кода для импорта статической библиотеки:

    static { System.loadLibrary("jnimain"); } Если moduleName не задан, замените jnimain на hellojni.

Конкретное имя созданной статической библиотеки можно найти в подкаталоге hellojni/build/intermediates/ndk в файле .mk.

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

В Android Studio используйте JNI для программирования. Развернуть Свернуть
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/jijunpeng-MyJNI.git
git@api.gitlife.ru:oschina-mirror/jijunpeng-MyJNI.git
oschina-mirror
jijunpeng-MyJNI
jijunpeng-MyJNI
master