Android Studio 编译C++/C文件,生成so文件及错误信息详解

Android Studio 编译C++/C文件,生成so文件

一、Android studio的NDK下载:

在这里插入图片描述

二. 创建Android 工程

在这里插入图片描述

在这里插入图片描述

三.创建NativeJNI.java文件

该文件和MainActivity.java在同一路径·

public class NativeJNI {
static {
    System.loadLibrary("main");
}
public static native String helloJNI();

}

四.通过Build----->Make Project生成class文件:

在这里插入图片描述

五.Terminal输入命令行生成.h文件

在这里插入图片描述
1.执行命令javah -d jni -classpath E:\AndroidProjectTest\NdkDemo\app\build\intermediates\javac\debug\com
pileDebugJavaWithJavac\classes com.ndkdemo.NativeJNI
没有报错就是执行成功。

在这里插入图片描述
2.执行成功后在上图目录中会生成com_ndkdemo_NativeJNI.h文件。
将该目录和文件拷贝到main目录下,如下图:
在这里插入图片描述
3.将com_ndkdemo_NativeJNI.h重命名为main.c,并编写main.c中的代码,实现native方法:

JNIEXPORT jstring JNICALL Java_com_ndkdemo_NativeJNI_helloJNI
 (JNIEnv *env, jclass thiz)
 {
   	return (*env)->NewStringUTF(env, "Hello Main!");
 }

4、再执行Build------>Make Project

六.配置工程信息

6.1 build.gradle

添加如下图红色部分配置:
在这里插入图片描述

6.2. CMakeLists.txt

#将自己生成的C++文件添加进来

add_library(
             main
             SHARED
             src/main/jni/main.c)

6.3 gradle.properties

在这里插入图片描述

七. Build—>ReBuild工程后,则可以生成NativeJNI的so文件

八.错误信息

在这里插入图片描述
rebuild报上图的错,是因为ndk版本太新,换个旧版本就ok了。如下图:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值