android|android studio中把c/c++文件编译成.so库(一)
2019独角兽企业重金招聘Python工程师标准>>>
文章图片
最近的项目涉及到JNI编程,经过一段时间的JNI编程之后,终于完美弄完了。所以,把在android studio中编译c/c++文件成.so库的过程记录一下。
使用ndk-build方式编译 .so库
1、在android studio上安装ndk。
文章图片
2、配置ndk的环境变量。
把如图中的ndk路径配置到环境变量中
文章图片
3、在android studio中创建一个android工程,并且android的工程的main目录下创建一个jni文件夹。
文章图片
需要在gradle.propertis文件中添加:
android.useDeprecatedNdk=true
4、在build.gradle文件中的android{defaultConfig{}}里面配置编译成.so库的相关配置。
如:
android { ... ...defaultConfig { ... ... ndk { moduleName "hello"// 生成的so动态库名称 abiFilters "armeabi", "armeabi-v7a", "x86" // 输出指定三种abi体系结构下的so库 } } ... ... }
5、在jni目录下,创建一个c或者c++文件。如:
文章图片
在hello.c文件中编写代码,例如:
文章图片
如果在本工程中直接通过java文件中调用c/c++文件中的函数。如:
文章图片
6、生成.so文件。
在android studio中的工具栏build中,选择build project。如图
文章图片
编译完之后,在android项目工程的build下就可以找到编译成的.so文件,这样就可以打包给其他android工程引用了 。
文章图片
在android studio中把c/c++源码编译成.so文件就大功告成。
【android|android studio中把c/c++文件编译成.so库(一)】转载于:https://my.oschina.net/u/2002921/blog/738801
推荐阅读
- android第三方框架(五)ButterKnife
- Android中的AES加密-下
- 带有Hilt的Android上的依赖注入
- android|android studio中ndk的使用
- Android事件传递源码分析
- RxJava|RxJava 在Android项目中的使用(一)
- Android7.0|Android7.0 第三方应用无法访问私有库
- 深入理解|深入理解 Android 9.0 Crash 机制(二)
- android防止连续点击的简单实现(kotlin)
- Android|Android install 多个设备时指定设备