NDK開發_AndroidStuido中創建和編譯ndk流程

一、根據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

    

 

  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】
    

 


 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章