2015-08-27 207 views
1

我正在使用android studio並打開hello-jni示例項目。 然而,當我試圖編譯項目,它會提示:無法編譯NDK android項目

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> 

我已經安裝了Android 6.0(API 23)。爲什麼還是提示沒有找到? 我在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") 
    } 
} 

android sdk

回答

1

這爲我工作:

  • 我刪除,我被AndroidStudioProjects

  • 重啓動Android平臺上的主目錄工作室

  • 它提示了Android應用工作室嚮導,我通過Android Studio安裝嚮導在哪裏它爲 修訂版23.0.1下載了一些SDK構建工具。
  • 當下載Android SDK構建工具時出現「平臺和插件更新」消息時,我還點擊了更新鏈接,以更新 某些組件。
  • 「歡迎到Android工作室」在Android安裝嚮導會顯示出來, 點擊配置,它會顯示在Android SDK管理器中獲取 一些軟件包如在以前的答案,點擊新的或 更新網頁鏈接
  • 一旦包裝完成加載,您可以繼續並安裝 可用包。安裝默認選擇的軟件包 後,您可能會獲得更多選定的軟件包。安裝Android SDK許可證。你應該選擇每一個,然後點擊接受許可證。Android 工作室將通過gradle構建過程
+0

+1。我花了幾個小時試圖修復它......事實證明,這些項目也在它們內部帶有Gradle文件!我複製了我的源代碼,刪除了整個項目,創建了一個新項目,並粘貼了舊代碼。 Gradle同步!感謝這個簡單的解決方案... – codefl0w

1

我只是遇到了同樣的問題,我認爲這是一個錯誤。但我設法使之與以下解決方法工作:

  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. 更改版本回

我也重新啓動機器人工作室幾次,但不知道它是否需要與否。

Don't Forget to install Android SDK Build-tools