目录
1、配置NDK开发环境,本人开发环境(Artic Fox 2020.3.1 Patch 3)
在cpp目录new->C/C++ Source File native-lib
new->File CMakeList,添加CMakeList中的代码到此
1、配置NDK开发环境,本人开发环境(Artic Fox 2020.3.1 Patch 3)
File->Settings->System Settings->Android SDK->右侧SDK tools->勾选NDK(side by side)、CMake
遇到问题:
dl.google.com被屏,导致不能获取到未下载的资源选项,找不到ndk和cmake,
在此处获得解决方法,
大概套路就是,查询dl.google.com的ip,从获取到的ip地址中ping一个可通的ip,配置到c->windosw->system32->drivers->etc下的hosts下,格式:ip地址 dl.google.com,例如:203.208.41.78 dl.google.com,添加进去即可,该问题得到解决,重启studio,获取到未下载的资源,勾选ndk、cmake,下载完毕确定。
2、正常项目搭建
file->new project->下拉找到Native C++->next ->改名->next。。。finish
成功后,项目中会自动在java同级目录生成cpp文件夹,
文件夹下自带CMakeList.txt(配置so库名字和其他属性的地方)、
native-lib.cpp(写native函数的地方),
build.gradle下多了两处代码:
android { ... defaultConfig { ... externalNativeBuild { cmake { cppFlags '' } } } externalNativeBuild { cmake { path file('src/main/cpp/CMakeLists.txt') version '3.10.2' } } }
3、普通项目改造成ndk项目
有了正常创建项目多出来那几个文件,普通项目改造也就不难了
第一篇ndk开发项目看的这里,所以我是从改造项目学起的,大概步骤如下:
-
在java同级目录创建cpp文件夹
-
在cpp目录new->C/C++ Source File native-lib
-
new->File CMakeList,添加CMakeList中的代码到此
cmake_minimum_required(VERSION 3.10.2)
project("myjniproject")
add_library(
# Sets the name of the library.
myjniproject
# Sets the library as a shared library.
SHARED
# Provides a relative path to your source file(s).
native-lib.cpp)
find_library( # Sets the name of the path variable.
log-lib
# Specifies the name of the NDK library that
# you want CMake to locate.
log)
target_link_libraries( # Specifies the target library.
myjniproject
# Links the target library to the log library
# included in the NDK.
${log-lib})
-
添加build.gradle的代码
android {
...
defaultConfig {
...
externalNativeBuild {
cmake {
cppFlags ''
}
}
}
externalNativeBuild {
cmake {
path file('src/main/cpp/CMakeLists.txt')
version '3.10.2'
}
}
}
改造完毕,接下来就是写native方法,跟java层交互了
扬帆
--
起航