本文主要是介绍android studio NDK使用,编译c生成.so实践记录,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
开发环境,Android studio 2.1.2,SDK环境和NDK环境
SDK不说了,NDK环境配置网上也有很多,这里就简单记录下:
1 下载NDK并安装到电脑 D:\android\android-ndk-r11c
2 android studio中右键项目进入菜单配置NDK
3 在项目的gradle.properties文件中加上 android.useDeprecatedNdk = true
为了方便生成头文件和so文件,我们可以在Android Studio → External Tools中设置两个命令,分别来生成头文件和生成.so文件
Program: $JDKPath$/bin/javah
Parameters: -encoding UTF-8 -d ../jni -jni $FileClass$
Working directory: $SourcepathEntry$\..\java
Program: D:\android\android-ndk-r11c\build\ndk-build.cmd
Parameters: NDK_LIBS_OUT=$ModuleFileDir$/src/main/jniLibs
Working directory: $ModuleFileDir$\src\main
(注意:NDK_LIBS_OUT=$ModuleFileDir$/src/main/jniLibs
这个含义是将生成的so文件放在jniLibs这个文件下,
如果不写这句话,什么都不填,则为默认的文件夹)
写一个测试类
右击这个类选择刚才写的javac命令,就会生成头文件
根据头文件写一个测试的.c文件
注意:打红框的地方要和头文件的名称和方法命名一样
写一个Android.mk文件
LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS)LOCAL_MODULE := JniTest LOCAL_SRC_FILES := TestJni.c include $(BUILD_SHARED_LIBRARY)
然后右击jni文件夹选择我们的命令ndk-build
则生成了
build.gradle的配置
最后so已经生成,调用
这篇关于android studio NDK使用,编译c生成.so实践记录的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!