2017-01-09 86 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?在externalNativeBuild中添加ldLibs.addAll([「cpufeatures」])不起作用。既不加入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