2017-01-09 4 views
2

Если у меня есть build.gradle для приложения:Как добавить cpufeatures в android jni cmake gradle build?

android { 
    compileSdkVersion 24 
    buildToolsVersion "25.0.2" 
    defaultConfig { 
     applicationId "com.ndkcmaketest.headwayent.ndkcmaketest" 
     minSdkVersion 19 
     targetSdkVersion 24 
     versionCode 1 
     versionName "1.0" 
     testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" 

     externalNativeBuild { 

      cmake { 
       cppFlags "-frtti -fexceptions" 
       arguments "-DANDROID_ARM_NEON=TRUE", "-DANDROID_TOOLCHAIN=gcc"//, "-DANDROID_ALLOW_UNDEFINED_SYMBOLS=TRUE" 

      } 
     } 
    } 
    buildTypes { 
     release { 
      minifyEnabled false 
      proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
     } 
    } 



    externalNativeBuild { 
     cmake { 
      path "CMakeLists.txt" 
     } 
    } 
} 

Как добавить cpufeatures в ldlibs? Добавление ldLibs.addAll (["cpufeatures"]) в externalNativeBuild не работает. И ни добавить в блок ndk.

ответ

6

Нужно ли это добавить к build.gradle? Если нет, то добавьте следующие строки в одном из ваших CMakeLists.txt файлов:

include(AndroidNdkModules) 
android_ndk_import_module_cpufeatures() 

Тогда вы можете target_link_libraries(<your target>, cpufeatures). Этот макрос и несколько других параметров определены в $ANDROID_SDK/cmake/<cmake-version>/share/cmake-<version>/Modules/AndroidNdkModules.cmake.