android studio: 為現有項目添加C++支持


剛開始創建項目的時候並沒有勾選“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文件中去,不知道為什么。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM