Android Studio 与 NDK
来源:互联网 发布:化妆学校 知乎 编辑:程序博客网 时间:2024/05/22 07:56
一,基础配置
1,gradle:请使用2.5以上版本,本文使用的是2.8;
2,android studio版本:建议1.4以上,本文使用的是1.5;
3,java不说了,至少1.6, 本文使用1.7;
二,设置方面:
1,修改Project的build.gradle文件
修改前:
修改后:
2,修改Module的build.gradle文件
修改前:
修改后:
这个gradle的配置有几点需要注意的:
a,插件由apply plugin: "com.android.application"更改成apply plugin: "com.android.modelapplication";
b,设置都要写成赋值的形式,如:modelName="hello",否则会引起:"Error:Cause: org.gradle.api.internal.ExtensibleDynamicObject" ;
c,buildTypes需要从android{} 中取出来,
写成android.buildTypes{}的形式,
否则会引起:"Error:Unable to load class 'org.gradle.nativeplatform.internal.DefaultBuildType_Decorated'";
d,defaultConfig{} 需要写成defaultConfig.with{} 的形式,否则会引起:"Error:Cause: com.android.build.gradle.managed.AndroidConfig_Impl";
e,defaultConfig.with{} 中需要写成
minSdkVersion.apiLevel = 19
targetSdkVersion.apiLevel = 23,
否则会引起:"Unable to load class com.android.build.gradle.managed.ProductFlavor_Impl“;
到这里配置工作完成,可能需要等待很久的时间,然后,你可以clear工程,然后rebuild
三,编写NDK(不用再想以前那么麻烦了)
1,新创建一个java类,例如:name.java,写好相关代码,
public class name { static { System.loadLibrary("hello"); } public static native String stringFromJNI();}
请注意这里,有2个要注意的地方
a,lib的名词要与Modle里面的modelName的一致;
b,native方法如果没有对应的android.ndk或jni代码支持,会有语法警告
然后就可以编译一下,没有错误,就行了,目的生成class文件
2,打开Terminal窗口,切换到app/src/main目录下;
3,输入javah -d jni -classpath ..\..\build\intermediates\classes\debug com.ndk.test.name,这样在mian目录下,就给你自动生成了jni目录,并生成了对应的头文件;
这样就搞定了,可以去编辑C/C++代码了
- Android Studio 与 NDK
- android studio + NDK
- NDK With Android Studio
- Android studio NDK开发
- NDK With Android Studio
- windows+Android studio+ndk
- Android Studio NDK 编译
- android studio ndk
- Android Studio开发NDK
- Android Studio + NDK
- Android Studio ndk开发
- android studio 配置 NDK
- Android studio开发NDK
- Android Studio NDK配置
- Android Studio NDK编译.
- android studio NDK编程
- android studio 使用NDK
- Android Studio NDK使用
- DSP汇编"ZERO.L2 B0"机器码0427,如何解析?
- PopupWindow
- C++中引用
- 数值转换为String(std::to_string)
- Hello World聚类代码(一)
- Android Studio 与 NDK
- ECSHOP的订单状态在数据库中的表现
- JavaScript动态添加文本框
- MFC非模态对话框
- Android - 文件读写操作 总结
- iOS代理实现tableViewCell中的button在viewController中响应
- Hibernate映射关系(注解方式)
- 线性代数复习四——矩阵的维数和秩
- Java ArrayList、LinkedList和Vector的使用及性能分析