Начало работы с NDK Development

Когда проект требует вмешательства C/C++, проект Android использует разработку NDK (Native Development Kit).

Возможны два случая
: 1. Создать новый проект.
2. Добавить разработку NDK в существующий проект.

создать новый проект

При использовании Android Studio для создания проекта вы можете выбрать проект разработки NDK, редактор автоматически настроит для вас среду, а также будет образец кода, шаги следующие:

первый шаг
вставьте сюда описание изображения
Нажмите "Далее
вставьте сюда описание изображения

После завершения создания структура каталогов проекта выглядит следующим образом.По
вставьте сюда описание изображения
умолчанию в основном каталоге создается cpp для хранения кода C++, здесь же находится ключевой файл CmakeLists.txt.Файл
CmakeLists должен иметь такое имя, которое исправлено, и содержание выглядит следующим образом

вставьте сюда описание изображения
объясни что внутри

add_library( # 设置so库的名称,随意起名
    myndkapplication

    # 设置lib的权限.
    SHARED

    # 关连c++文件.这里必须是绝对路径,跟标签是CMakeLists.txt存放位置,由于此时位置和native-lib.cpp同级,所以这里直接名称即可
    native-lib.cpp)

Ключ add_library, последние два нужны при использовании библиотеки Android, вот связанная библиотека логов, мало используется, лога достаточно, пояснений нет

Сгенерированный файл native-lib.cpp предназначен для записи файла собственного кода C++.
вставьте сюда описание изображения
Как использовать:
сначала статически импортируйте библиотеку so.

 companion object {
    // Used to load the 'myndkapplication' library on application startup.
    init {
        System.loadLibrary("myndkapplication")
    }
}

Имя библиотеки — это имя, определенное в файле CmakeLists.

Затем определите собственный метод

external fun stringFromJNI(): String

Это определено в kotlin, и ниже приведен метод определения java.

public static native String stringFromJNI();

Затем вы можете напрямую вызвать собственный метод в коде Android.
вставьте сюда описание изображения

Какие методы необходимо добавить позже, тот же процесс.
Например, чтобы определить метод getUserName, сначала определите собственный метод
вставьте сюда описание изображения
в коде Android, а затем нажмите сочетание клавиш alt+enter, чтобы автоматически создать метод C++.
вставьте сюда описание изображения

Добавляйте нативные методы в существующие проекты

Если существующий проект, не относящийся к NDK, хочет вмешаться в код C++, сначала настройте среду разработки.

вставьте сюда описание изображения
Загрузите NDK и CMake

Создайте файл CMakeLists.txt.
Имя файла должно быть этим именем, а местоположение может быть размещено в любом месте в каталоге приложения. Однако при настройке gradle путь должен соответствовать месту хранения здесь. Поместите его в тот же
каталог как приложение.

вставьте сюда описание изображения
конфигурация градиента

	  externalNativeBuild {
    cmake {
        path = file("CMakeLists.txt")
    }
}

Если файл CMakeLists.txt находится в каталоге src, он

	  externalNativeBuild {
    cmake {
        path = file("src/CMakeLists.txt")
    }
}

Создать файл класса С++

Здесь создайте каталог cpp в main, а затем поместите файл c++ в
вставьте сюда описание изображения
файл каталога CMakeLists, чтобы записать информацию о конфигурации.

cmake_minimum_required(VERSION 3.10.2)//添加版本

	
add_library(
myndkapp//自己定义的名称
 SHARED//so的类型
src/main/cpp/firstNdk.cpp
) 

После того, как среда настроена, пришло время написать метод c++, который представлен выше и повторяться не будет.

Supongo que te gusta

Origin blog.csdn.net/ligaoyuan8030/article/details/123575306
Recomendado
Clasificación