android之android studio的NDK环境搭建

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
 后面的跟着文章继续



  • 5
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值