不支持 Android 11(R) 的 NDK 构建

Posted

技术标签:

【中文标题】不支持 Android 11(R) 的 NDK 构建【英文标题】:NDK build for Android 11(R) not supported 【发布时间】:2020-09-11 22:42:23 【问题描述】:

有没有为 android R image 构建 C/C++ 项目?

我得到:“C/C++ release|x86_64: API codeName 'R' is not supported by NDK 'D:\Android_sdk\ndk\21.1.6352462” 错误。

这是项目结构:

我使用 Android Studio 4 RC1Android R PreviewNDK 21.1 版 进行此构建。

这是 gradle 配置:

apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'

android 
    compileSdkVersion "android-R"
    buildToolsVersion "30.0.0 rc4"

    defaultConfig 
        applicationId "com.example.myapplication"
        minSdkVersion "R"
        targetSdkVersion "R"
        versionCode 1
        versionName "1.0"

        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
        externalNativeBuild 
            cmake 
                cppFlags "-std=c++17"
            
        
    

    buildTypes 
        release 
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        
    
    externalNativeBuild 
        cmake 
            path "src/main/cpp/CMakeLists.txt"
            version "3.10.2"
        
    


dependencies 
    implementation fileTree(dir: "libs", include: ["*.jar"])
    implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
    implementation 'androidx.core:core-ktx:1.2.0'
    implementation 'androidx.appcompat:appcompat:1.1.0'
    implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'androidx.test.ext:junit:1.1.1'
    androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0'


【问题讨论】:

【参考方案1】:

根据this comment,您需要从金丝雀频道安装更新的NDK:

Android Studio 菜单,“设置 > 外观和行为 > 系统设置 > 更新” 选择“金丝雀频道” Canary NDK 将启用下载: “工具 > SDK 管理器 > SDK 工具” (假设“显示包详细信息”已启用)“NDK 并排”

或者你可以从命令行安装它

sdkmanager --channel=3 --install 'ndk;21.1.6363665'

【讨论】:

以上是关于不支持 Android 11(R) 的 NDK 构建的主要内容,如果未能解决你的问题,请参考以下文章

Android Studio“不推荐使用当前的 NDK 支持”

平台 android NDK 不支持 ABI [armeabi, mips]

平台android NDK不支持ABIs [armeabi,mips]

Eclipse 中的 Android 项目缺少“添加本机支持”

Android Studio NDK 入门教程--被NDK支持的C++运行库

android -------- Eclipse下的NDK配置环境