NDK开发_AndroidStuido中创建和编译ndk流程

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Mr_ZJC/article/details/86417783

一、根据native类生成 native类的头文件

   1> 如下图所示,com.lhs.serial.ObdNative 是自己建的native类;

   2> cmd 切到 工程的java目录下, 输入 javah -d ../jni com.lhs.serial.ObdNative;

   3> 可以看到 在 jni文件目录下,生成了 com_lhs_serial_ObdNative.h ;

   4> 新建 .cpp ,实现 com_lhs_serial_ObdNative.h 中的内容;

二、编译 .cpp ,生成 .so

  1>在 jni目录下新建 Android.mk

    

扫描二维码关注公众号,回复: 4902307 查看本文章

  2> 修改gradle,根据Android.mk 自动编译 .cpp

- - - - - - - - -     app 目录下的 build.gradle 配置

android {
    compileSdkVersion 25
    buildToolsVersion "25.0.2"
 
    defaultConfig {
        applicationId "com.mct.interation.service"
        minSdkVersion 15
        targetSdkVersion 25
        versionCode 1
        versionName "1.0"
 
        externalNativeBuild {
            ndkBuild{
                abiFilters 'armeabi-v7a'
            }
        }
    }
 
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
    externalNativeBuild {
        ndkBuild{
            path 'src/main/jni/Android.mk'
        }
    }
}
 
task ndkClean(type: Delete) {
    delete ".externalNativeBuild/"
}
 
clean.dependsOn 'ndkClean'

  工程根目录下的build.gradle, class path 中的gradle版本需要修改为2.2.0以上 (不然会报错找不到 externalNativeBuild 方法)

  

三、完成上面步骤后,运行工程的时候,就会自动生成 .so,并打包进 apk

【遇到的问题】

 1、Could not find method externalNativeBuild() for arguments

【action】
    


 

猜你喜欢

转载自blog.csdn.net/Mr_ZJC/article/details/86417783
ndk