您的位置:首页 > 移动开发 > Android开发

android之android studio的NDK环境搭建

2016-01-19 10:34 435 查看
JNI: 使用NDK

英文网站 http://tools.android.com/tech-docs/new-build-system/gradle-experimental
Requirements:

Gradle 2.5 only

Android NDK r10e (if you are using NDK)

SDK with Build Tools at least version 19.0.0 and we aim to minimize the amount of changes needed for the migration process in the future. Some features may require a more recent version.

首先到C:\Users\用户名\.gradle\wrapper\dists\gradle-1.10-all下确认gradle的版本 不是2.5 的,去https://services.gradle.org/distributions 下载2.5 的版本 , 注意要放到目录下的一个随机字符串的子目录下

我的是 C:\Users\用户名\.gradle\wrapper\dists\gradle-1.10-all\d90a2yjknzzhpcfgm937zpcte

接着下载 NDK r10e 解压找个文件放在就好,路径别有中文,,然后修改 项目右击 -->open module setting





1.ndk location: F:\ChenLing\AndroidStudio\android-ndk-r10

2.需要将根目录下的gradle修改为实验性的gradle

classpath 'com.android.tools.build:gradle-experimental:0.2.0'



3.已经有gradle 2.5的支持

4.然后修改原来的app/build.gradle,注意现在各项配置都是有等号的,并且使用的是 com.android.model.application

而不再是原来的com.android.application,如果是Library,则 是com.android.model.library。

然后android外围包了一层model。原来在android里面的buildTypes 移到了外面

apply plugin: 'com.android.model.application'
model{
android {
compileSdkVersion = 23
buildToolsVersion = "23.0.2"
defaultConfig.with {
applicationId = "android.cl.com.forthtest02ndk_zbar"
minSdkVersion.apiLevel = 14
targetSdkVersion.apiLevel = 23
versionCode = 1
versionName = "1.0"
}
tasks.withType(JavaCompile) {
//指定编译JDK版本
sourceCompatibility = JavaVersion.VERSION_1_7
targetCompatibility = JavaVersion.VERSION_1_7
}
}
android.ndk {
moduleName = "test"
ldLibs +="log"
abiFilters +="armeabi"
abiFilters +="armeabi-v7a"
abiFilters +="x86"
}
android.buildTypes {
release {
minifyEnabled = false
proguardFiles += file( 'proguard-rules.pro')
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:22.2.1'
在android.ndk中进行ndk的配置,模块名字是必须的。然后使用了log,并且支持armeabi,armeabi-v7a,x86三个平台。

5.然后增加jni目录,在main上右键新建jni目录



配好 环境,后面新建一个运行项目就直接参考 :http://yanbober.github.io/2015/02/14/android_studio_jni_1/

由于修改个项目为NDK,每次修改build.gradle都需要重启,要不module报错,没办法,这个软件的bug

有一些需要注意的是:切换到build/intermediates/classes/debug/文件夹下,说实话,我没找到这个文件夹

还有别看我配的NDK build.gradle 有波浪线提醒 , NdkJniUtils 里有报红 ,但是是可以使用的, 哈哈哈哈

so : 从Android Studio的Terminal里进入到, <Project>/src/main/java 目录下,

执行javah XXX.XX.XXX 即可, XXX.XX.XXX是要生成.h文件的完整路径名,包名+文件名

eg:

F:\ChenLing\AndroidStudio\ThirdTest01>cd ndkjni

F:\ChenLing\AndroidStudio\ThirdTest01\ndkjni>cd src/main/java

F:\ChenLing\AndroidStudio\ThirdTest01\ndkjni\src\main\java>javah -jni android.cl.com.ndkjni.NdkJniUtils

后面的跟着文章继续
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: