1、android开发(androidStudio环境)开放NDK的时候:报出:No toolchains found in the NDK toolchains folder for ABI with prefix: arm-linux-androideabi

问题如图:

2、这里只说我自己的解决办法,作为参考:

问题翻译过来就是:在ABI的NDK工具链文件夹中没有找到带有前缀:arm-linux-androideabi的工具链

3、这个问题一般出现在开发NDK的时候出现的,我的工程中带有NDK开发的文件,直接添加C文件与.h头文件进行开发的。

 4、解决办法:在build.gradle文件中添加 ndkVersion '22.1.7171670'

为了方便查看,这里我直接放整个文件源码:

apply plugin: 'com.android.application'

android {
    compileSdkVersion 28
    defaultConfig {
        applicationId "com.XX.XXX"
        minSdkVersion 22
        targetSdkVersion 22
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
        ndk {
            // Specifies the ABI configurations of your native
            // libraries Gradle should build and package with your APK.
            //abiFilters 'armeabi', 'armeabi-v7a', 'arm64-v8a'
            abiFilters 'armeabi-v7a'
            //ldLibs "lz"
        }
        externalNativeBuild {
            cmake {
                arguments '-DANDROID_STL=c++_static'
                //cppFlags "-std=c++11"
                //arguments '-DANDROID_STL=c++_shared'
                cppFlags ""
            }
        }
    }
    sourceSets {
        main {
            // 1. 配置在根目录libs下可以加载第三方so库, (最好不要创建jniLibs, 在众多的开源库中可能会引起冲突,还没发现)
            // 2. 运行时会自动将libs目录下的so库拷贝到指定目录
            // 3. 如果自己创建的so不需要重新编译,可以将(app/build/intermediates/transforms)生成的so拷贝到这个目录
            jniLibs.srcDirs = ['src/main/cpp/libs', 'jniLibs']
            // 如果是单个文件夹 可以直接这样如下配置
            // jniLibs.srcDir 'libs'
        }
    }
    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"
        }
    }
    ndkVersion '22.1.7171670'
}

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation 'androidx.appcompat:appcompat:1.0.2'
    implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'androidx.test.ext:junit:1.1.0'
    androidTestImplementation 'androidx.test.espresso:espresso-core:3.1.1'
}

 5、NDK下载配置如图:

如有问题请留言。 

                                                                                         -END 

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐