【问题标题】:> Failed to find target with hash string 'android-26' in: /opt/android-sdk-linux> 无法在 /opt/android-sdk-linux 中找到带有哈希字符串“android-26”的目标
【发布时间】:2018-04-04 09:55:47
【问题描述】:
  • Ubuntu 16.04
  • android-sdk 位于 /opt/android-sdk-linux
  • android home 配置(export ANDROID_HOME="/opt/android-sdk-linux/")
  • /opt/android-sdk-linux/ 中没有额外的工具文件夹

我的 gradle 文件:

android {
    compileSdkVersion 26
    buildToolsVersion "21.1.0"
    defaultConfig {
        applicationId "hu.prject.sandbox.sample"
        minSdkVersion 21
        targetSdkVersion 26
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

在项目文件夹中运行 ./gradelew clean build 时,我得到了以下输出:

启动 Gradle 守护进程(后续构建会更快) 准备“安装 Android SDK Build-Tools 21.1”。 准备好“安装 Android SDK Build-Tools 21.1”。 完成“安装 Android SDK Build-Tools 21.1” 在 /opt/android-sdk-linux/build-tools/21.1.0 中安装 Android SDK Build-Tools 21.1 “安装 Android SDK Build-Tools 21.1”完成。 准备“安装 Android SDK 平台 26”。 “安装Android SDK Platform 26”准备就绪。 完成“安装Android SDK Platform 26” 在 /opt/android-sdk-linux/platforms/android-26 中安装 Android SDK Platform 26 “安装Android SDK Platform 26”完成。

FAILURE:构建失败并出现异常。

出了什么问题: 配置项目 ':app' 时出现问题。

在 /opt/android-sdk-linux 中找不到带有哈希字符串“android-26”的目标

重要提示: 在我的情况下,没有 android studio,没有 ui,只有 CLI

在 /opt/android-sdk-linux/platforms/ 存在 android-26 文件夹,其内容

【问题讨论】:

    标签: android ubuntu gradle build android-sdk-tools


    【解决方案1】:

    由于您的compileSDKVersion 是 26,请使用最新版本的构建工具。

    buildToolsVersion "26.0.2"
    

    【讨论】:

      【解决方案2】:
      1. 从 /opt/ 中删除所有以前的 android sdk 文件
      2. cd /opt && wget https://dl.google.com/android/repository/sdk-tools-linux-3859397.zip
      3. unzip sdk-tools-linux-3859397.zip -d android-sdk-linux

      4. nano /etc/profile.d/android.sh

      粘贴此行:

      export ANDROID_HOME="/opt/android-sdk-linux"
      export PATH="$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools:$PATH"
      
      1. source /etc/profile

      查看安卓主页:

      echo $ANDROID_HOME
      
      1. 在 /opt/android-sdk-linux 中

        tools/bin/sdkmanager --update

        tools/bin/sdkmanager "platforms;android-26" "build-tools;26.0.2" "extras;google;m2repository" "extras;android;m2repository"

        tools/bin/sdkmanager --licenses

      此时可能已经足够了,构建将起作用...

      但在我的情况下缺少一些依赖关系,并检查

      tools/bin/sdkmanager --list

      使用缺少的依赖项进行更新 tools/bin/sdkmanager "extras;m2repository;com;android;support;constraint;constraint-layout;1.0.0-alpha9"

      tools/bin/sdkmanager "extras;m2repository;com;android;support;constraint;constraint-layout-solver;1.0.0-alpha9"

      在这些构建成功之后

      感谢 NinjaCoder 关于构建工具版本的帮助

      【讨论】:

      猜你喜欢
      • 2023-04-03
      • 1970-01-01
      • 2018-04-07
      • 2020-01-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-11-23
      • 1970-01-01
      相关资源
      最近更新 更多