【问题标题】:Android Gradle Build Failure - failed to find target with hash string 'android-22'Android Gradle 构建失败 - 找不到带有哈希字符串“android-22”的目标
【发布时间】:2016-03-24 00:14:21
【问题描述】:

我已经使用 Cocos2d-X 3 python 命令行工具创建了一个 Android Studio,但是我在生成的项目中遇到了一些问题。

每当我打开它或尝试构建它时,我都会收到以下错误:

21:05:01 Gradle sync failed: Cause: failed to find target with hash string 'android-22' in: C:\Desenvolvimento\_Dev_Tools\Android\android-sdk
         Consult IDE log for more details (Help | Show Log)

我在互联网上进行了一些研究,发现了几个关于此的问题,其中大多数问题的答案是将 app\gradle.build 脚本更改为:

android {
    compileSdkVersion 23
    buildToolsVersion "23.0.2"

    defaultConfig {
        applicationId "com.ArmoniaGames.IgualOuDiferente"
        minSdkVersion 10
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"
    }

这是我的 Android SDK 配置:

我做错了什么?是否有一些我缺少的配置,可能是 Cocos2d-X?

编辑

android list targets 命令运行结果:

Available Android targets:
----------
id: 1 or "android-23"
     Name: Android 6.0
     Type: Platform
     API level: 23
     Revision: 2
     Skins: HVGA, QVGA, WQVGA400, WQVGA432, WSVGA, WVGA800 (default), WVGA854, WXGA720, WXGA800, WXGA800-7in, AndroidWea
rRound, AndroidWearRound360x360, AndroidWearRound400x400, AndroidWearRound480x480, AndroidWearRoundChin320x290, AndroidW
earRoundChin360x325, AndroidWearRoundChin360x330, AndroidWearSquare, AndroidWearSquare320x320, AndroidWearRound, Android
WearRound360x360, AndroidWearRound400x400, AndroidWearRound480x480, AndroidWearRoundChin320x290, AndroidWearRoundChin360
x325, AndroidWearRoundChin360x330, AndroidWearSquare, AndroidWearSquare320x320
 Tag/ABIs : android-tv/armeabi-v7a, android-tv/x86, android-wear/armeabi-v7a, android-wear/x86, default/armeabi-v7a, def
ault/x86, default/x86_64
----------
id: 2 or "Google Inc.:Google APIs:23"
     Name: Google APIs
     Type: Add-On
     Vendor: Google Inc.
     Revision: 1
     Description: Android + Google APIs
     Based on Android 6.0 (API level 23)
     Libraries:
      * com.android.future.usb.accessory (usb.jar)
          API for USB Accessories
      * com.google.android.media.effects (effects.jar)
          Collection of video effects
      * com.google.android.maps (maps.jar)
          API for Google Maps
     Skins: HVGA, QVGA, WQVGA400, WQVGA432, WSVGA, WVGA800 (default), WVGA854, WXGA720, WXGA800, WXGA800-7in, AndroidWea
rRound, AndroidWearRound360x360, AndroidWearRound400x400, AndroidWearRound480x480, AndroidWearRoundChin320x290, AndroidW
earRoundChin360x325, AndroidWearRoundChin360x330, AndroidWearSquare, AndroidWearSquare320x320, AndroidWearRound, Android
WearRound360x360, AndroidWearRound400x400, AndroidWearRound480x480, AndroidWearRoundChin320x290, AndroidWearRoundChin360
x325, AndroidWearRoundChin360x330, AndroidWearSquare, AndroidWearSquare320x320
 Tag/ABIs : google_apis/armeabi-v7a, google_apis/x86, google_apis/x86_64

【问题讨论】:

    标签: android android-studio gradle cocos2d-x


    【解决方案1】:

    它找不到“android-22”(Lollipop 5.1 的 SDK),因为您没有安装它。在您的屏幕截图中,我看到只安装了 API 级别 23。

    如果您想构建以 API 22 为目标,则必须安装它并修改您的 gradle 以匹配

    “android-22”是等价的字符串22。例如compileSdkVersion 22compileSdkVersion "android-22"是等价的。 (目标sdk也一样)

    请注意,您可以将 compileSdkVersion 设置为 23,将 targetSdkVersion 设置为 22。

    【讨论】:

    • 嗨,我明白了。但是我想为我目前拥有的 API 23 构建它。考虑到我上面所做的配置,它不应该工作吗?
    • 你的 gradle 文件很好。如果你去 cocos2d 属性,你能检查你的目标是target=android-23(不是google api或使用android list targets的其他api级别)
    • 嗨,我已经运行了android list targets 命令并将其粘贴到我上面的问题上。但是我还没有找到 cocos2d 属性。是配置文件吗?你能告诉我它在哪里吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-23
    • 2016-06-26
    • 2017-03-20
    • 2023-03-19
    • 1970-01-01
    相关资源
    最近更新 更多