剛開始創建項目的時候並沒有勾選“include C++ support” 選項:
后期增加步驟:
1.拷貝已有支持C++項目的CMakeLists.txt文件到現有項目的app目錄下;
2.在app/src/main 目錄下新建cpp文件夾;
3.修改app目錄下的build.gradle文件,分別在defaultConfig的大括號和android的大括號中添加“externalNativeBuild”項:
apply plugin: 'com.android.application' android { compileSdkVersion 28 defaultConfig { applicationId "com.yongdaimi.android.ffapitest" minSdkVersion 19 targetSdkVersion 28 versionCode 1 versionName "1.0" testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" externalNativeBuild { cmake { cppFlags "-std=c++11" } ndk { abiFilters "armeabi-v7a" } } sourceSets { main { jniLibs.srcDirs=['libs'] } } } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' } } externalNativeBuild { cmake { path "CMakeLists.txt" } } } dependencies { implementation fileTree(dir: 'libs', include: ['*.jar']) implementation 'com.android.support:appcompat-v7:28.0.0' implementation 'com.android.support.constraint:constraint-layout:1.1.3' testImplementation 'junit:junit:4.12' androidTestImplementation 'com.android.support.test:runner:1.0.2' androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2' }
最后同步一下gradle文件就好了,
注意:
1.ndk abiFilters 以及 sourceSets 不是必須的,我是因為引用了別的類庫所以才加的這兩句話。
2.最好先在native-lib.cpp中添加好對應的測試JNI方法,否則在Activity中新寫的native方法點擊創建無法生成到native-lib.cpp文件中去,不知道為什么。