因为要在旧版android在做一些工作。所以做用到了它。目标平台是:android api 10和armv6. 开发环境是:AS 版本2.3.2; SDK版配android 2.3.3(api10); NDK版本android-ndk-r10e这个必需,后面版本对armv6有点问题,我试的r13b就是gdbserv er不运行,好似这些版本从armv7开始了. gradle的版本关系不大,我用的是4.7.
这些基本的开改环境安装好就开始配成开发JNI 本地代码的三种方法三有:直接用gradle的任务与NDK中的ndk-build和ndk-gbdl; 用Gradle_Experimental,这个也是用ndk-build,做了一些gradle的工具,但现在有更新的方法不建议用这个。 新工程用CMAKE与LLDB吧,LLDB因为没找到armv6的编译版本,我自已双不想去编译,LLDB是LLVM下的一个工具,其工程和android源码有点类似,要整体下了配置编译,只编译一部分,大约问题会太多,我就没去试。用gdb原生工具适应度宽一点。配本上是LINUX的地方都可用。
第一步,生成新工程,
在生成新工程时选择支持C++,别的基本不用动,这样配出来的基本上就是用CMAKE开发的环境。我生成新工程时,因为AS网上下东西就卡死了,我断网后,AS不下东西,就生成新工程通过了。然后手工在文件中改配。我生成的代码中带一个简单的C调用。就用它做配置测试。
先用CMAKE有的环境做了测试。基本上不用动就是编译通过的,如果出小问题网上找一下吧。因为每个人的开发环境可能不一样。这里先试一下CMAKE, Cmake在android-ndk-r10e下是不能用的。我用的是android-ndk-r13b,在armv6可运行,但因LLDB-server不运行,所以不能调试。
第二步,在gradle配置中去CMAKE, 配ndk-build。相关的文件是gradle.properties,这里加入