无法编译 NDK android 项目

Can't compile NDK android project

我正在使用 android studio 并打开 hello-jni 示例项目。 但是当我尝试编译项目时,提示:

Error:Cause: failed to find target with hash string 'android-23' in: 

/Users/xx/opensource/android-sdk-macosx
<a href="openAndroidSdkManager">Open Android SDK Manager</a>

我已经安装了android6.0(api23)。为什么还是提示找不到? 我在 android stuido 中的首选项中查找,在 android SDK 选项卡中似乎可以找到 android 6.0 (api level 23 revision 1)。

下面是我的 gradle 文件:

apply plugin: 'com.android.model.application'

model {
    android {
        compileSdkVersion = 23
        buildToolsVersion = "23.0.0"

        defaultConfig.with {
            applicationId = "com.example.hellojni"
            minSdkVersion.apiLevel      = 3
            targetSdkVersion.apiLevel = 23
        }
    }
    /*
     * native build settings
     */
    android.ndk {
        moduleName = "hello-jni"
        /*
         * Other ndk flags configurable here are
         * cppFlags += "-fno-rtti"
         * cppFlags += "-fno-exceptions"
         * ldLibs    = ["android", "log"]
         * stl       = "system"
         */
    }
    android.buildTypes {
        release {
            minifyEnabled = false
            proguardFiles  += file('proguard-rules.txt')
        }
    }
    android.productFlavors {
        // for detailed abiFilter descriptions, refer to "Supported ABIs" @
        // https://developer.android.com/ndk/guides/abis.html#sa
        create("arm") {
            ndk.abiFilters += "armeabi"
        }
        create("arm7") {
            ndk.abiFilters += "armeabi-v7a"
        }
        create("arm8") {
            ndk.abiFilters += "arm64-v8a"
        }
        create("x86") {
            ndk.abiFilters += "x86"
        }
        create("x86-64") {
            ndk.abiFilters += "x86_64"
        }
        create("mips") {
            ndk.abiFilters += "mips"
        }
        create("mips-64") {
            ndk.abiFilters += "mips64"
        }
        // To include all cpu architectures, leaves abiFilters empty
        create("all")
    }
}

我刚遇到同样的问题,我认为这是一个错误。但我设法使其适用于以下解决方法:

  1. 首先确保安装 api 和构建工具(见下图)

  2. 与 build.gradle 相比,更改 api 的版本并将工具构建到以前的版本:即

        android{ compileSdkVersion = 22
        buildToolsVersion = "22.0.1"    
        defaultConfig.with {
            applicationId = "com.sample.teapot"
            minSdkVersion.apiLevel = 11
            targetSdkVersion.apiLevel = 22
        }
    

    }

  3. 同步gradle成功

  4. 改回版本

我也重启了几次android工作室,但不确定是否需要。

这对我有用:

  • 我在 AndroidStudioProjects

  • 下的主目录中删除了我正在处理的应用程序
  • 重新启动Android Studio

  • 它提示 Android Studio 向导,我完成了 Android Studio 安装向导,它下载了一些 SDK 构建工具 修订版 23.0.1.
  • 当下载 Android SDK 构建工具时出现 "Platform and Plugin Updates" 消息时,我还单击了更新 link 进行更新 一些组件。
  • "Welcome to Android Studio" 中的 Android 安装向导会出现, 单击配置,它将显示 Android SDK 管理器正在获取 上一个答案中显示的一些包,单击新建或 更新 links
  • 包加载完成后,您可以继续安装 可用的包。安装默认 selected 软件包后 您可能会得到更多 selected。安装 Android SDK 许可证。你 应该 select 每个,然后单击接受许可。 Android Studio 将完成 gradle 构建过程