基于android studio NDK项目构建过程
来源:互联网 发布:雅兰仕s8软件 编辑:程序博客网 时间:2024/06/05 10:18
首先必须具有NDK,下载地址:
https://developer.android.com/ndk/downloads/index.html
不废话,开始(我把使用ndk的部分作为一个moudle来使用)
在已有的studio项目中 新建moudle,把创建Mainactivity勾掉 ,
选择 android library在新建的moudle里,新建一个本地native java文件,
加载的so文件后缀要加“Lib“,不知为何。
如:
生成.h头文件
首先build 新建的moudle,从而会生成刚创建的java文件的.class文件。
打开android studio的terminal命令窗口,进入当前moudle的src/main目录下 执行
JarlendeMacBook-Pro:main jarlen$ javah -d jni -classpath ../../build/intermediates/classes/debug cn.jarlen.gpuimagelibrary.YUVCoderLibrary
此时,会生成一个jni文件夹,和里面所需要的.h头文件
配置moudle
打开当前moudle下的build.gradle文件defaultConfig中加入ndk的声明
defaultConfig { applicationId "cn.jarlen.gpuimagelibrary" minSdkVersion 15 targetSdkVersion 22 versionCode 1 versionName "1.0" ndk { moduleName "libraryLib" } }
- 配置 项目,找到 local.properties文件,配置ndk路径
sdk.dir=/android-sdk-macosxndk.dir=/ndk/android-ndk-r10e
最后就是 完成moudle的C++/C源代码了。
这样就可以直接编译了,不用自己编写make文件了
常见问题:
Error:Execution failed for task ':gpuimage library:compileDebugNdk'. > com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command '/ndk/android-ndk/ndk-build'' finished with non-zero exit value 2
可能原因:
- C++/c源文件有错,比如 刚才我在test的时候,在include的时候多写了一个”#”号
- 也有可能 所知的studio的一个bug ,可以在jni下新建一个空的源文件。
其他问题 可参考
http://blog.csdn.net/asmcvc/article/details/24457677
http://www.race604.com/android-studio-with-ndk/
还有这个问题,overflow上不知道所云。
http://stackoverflow.com/questions/27432596/unity-project-as-dependency-in-gradle
Warning:Dependency gpuimage-for-android-studio:gpuimagelibrary:unspecified on project app resolves to an APK archive which is not supported as a compilation dependency. File: /Users/jarlen/Downloads/gpuimage-for-android-studio/gpuimagelibrary/build/output
解决方法为:
打开build.gradle文件,
1 .删除defaultConfig中的applicationId项
2.修改 apply plugin: ‘com.android.application’为apply plugin: ‘com.android.library’
即可。
如果会出现 Exception Ljava/lang/UnsatisfiedLinkError; thrown while initializing Lcn/jarlen/gpuimagelibrary/YUVCoderLibrary;
可将so库文件加上Lib后缀。
- 基于android studio NDK项目构建过程
- 基于android studio NDK项目构建过程-2
- Android Studio下构建NDK
- Android Stduio NDK项目构建
- 导入开源库到基于Android Studio构建的项目中
- 导入开源库到基于Android Studio构建的项目中
- 导入开源库到基于Android Studio构建的项目中
- 导入开源库到基于Android Studio构建的项目中
- 导入开源库到基于Android Studio构建的项目中
- Android 项目构建过程
- Android 项目构建过程
- Android项目构建过程
- 新版本android studio 构建ndk helloworld
- Android Studio NDK 构建工具 CMake初探
- jenkins构建android studio项目
- android Android项目构建过程
- Android Stuido 使用cMake构建NDK项目
- Android【官方教程】NDK 构建项目
- 双击与单击并存
- Android 计时器CountDownTimer延迟问题
- NYOJ 月老的难题 239【匹配+邻接表】
- Shader频率or主频? 谁是未来显卡生命线
- apache编译安装的参数说明
- 基于android studio NDK项目构建过程
- ios开发--注册通知NSNotificationCenter
- 你的精力分配决定了你的层次
- 网站大流量解决
- HDU 4417 树状数组
- webrtc中scope_ptr的使用
- HDU OJ 1232畅通工程(并查集)
- VS2013无法调试Unity3D问题
- Android Gradle 插件中文指南