AS中NDK环境搭建

文章目录

      • 第一步 设置AS
      • 第二步
      • 第三步
      • 第四步 写测试类:
      • 第五步
      • 第六步
      • 第七步
      • 第八步
      • 第九步 添加调用测试
      • 第十步 运行结果


第一步 设置AS

在安装好的as,打开:AS中NDK环境搭建_第1张图片
配置ndk路径,如果没有下载在下面提示框中有选择自动下载。


第二步

在项目的gradle.properties文件中加上 android.useDeprecatedNdk = true 
(此项不同as版本好像可以不用添加)

第三步

为了方便生成头文件和so文件,我们可以在Android Studio → External Tools中设置两个命令,分别来生成头文件和生成.so文件。
AS中NDK环境搭建_第2张图片
AS中NDK环境搭建_第3张图片

program:$JDKPath$/bin/javah
Arguments:-encoding UTF-8 -d ../jni -jni $FileClass$
Working directory:$SourcepathEntry$\..\java​

program:E:\Android\ndk-bundle\build\ndk-build.cmd    (ndk-build.cmd所在文件夹的路径)
Arguments:可以不用填
Working directory:$ModuleFileDir$\src\main  
(这给路径一定要填对,不然找不到需要编译的C++源文件)

第四步 写测试类:

package com.example.williamwang.myapplication;
public class NdkTest {
    static {
        System.loadLibrary("JniTest");
    }
    public static native String getString();
}

第五步

右击这个类选择刚才写的javah命令,就会生成头文件。
AS中NDK环境搭建_第4张图片


第六步

根据头文件写一个测试的.cpp文件
AS中NDK环境搭建_第5张图片
AS中NDK环境搭建_第6张图片
Android.mk文件

LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)

LOCAL_MODULE := JniTest
LOCAL_SRC_FILES := com_example_williamwang_myapplication_NdkTest.cpp
include $(BUILD_SHARED_LIBRARY)

第七步

然后右击jni文件夹选择我们的命令ndk-build
AS中NDK环境搭建_第7张图片
生成了so文件。


第八步

build.gradle添加配置
AS中NDK环境搭建_第8张图片

jniLibs.srcDirs是刚刚生成so的路径,不能写错,不然so不会编译进apk中。运行的时候会报错。


第九步 添加调用测试

AS中NDK环境搭建_第9张图片


第十步 运行结果

AS中NDK环境搭建_第10张图片

你可能感兴趣的:(android,ndk)