> 未能在 /opt/android-sdk-linux 中找到哈希字符串 'android-26' 的目标

> Failed to find target with hash string 'android-26' in: /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守护进程(后续builds会更快) 准备 "Install Android SDK Build-Tools 21.1"。 "Install Android SDK Build-Tools 21.1"准备好了。 整理 "Install Android SDK Build-Tools 21.1" 在 /opt/android-sdk-linux/build-tools/21.1.0 中安装 Android SDK Build-Tools 21.1 "Install Android SDK Build-Tools 21.1" 完成。 准备 "Install Android SDK Platform 26"。 "Install Android SDK Platform 26"准备好了。 完成 "Install Android SDK Platform 26" 在 /opt/android-sdk-linux/platforms/android-26 中安装 Android SDK Platform 26 "Install Android SDK Platform 26"完成。

失败:Build 因异常而失败。

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

无法在 /opt/android-sdk-linux

中找到哈希字符串 'android-26' 的目标

重要提示: 就我而言,没有 android 工作室,没有 ui,只有 CLI

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

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

buildToolsVersion "26.0.2"
  1. 从 /opt/
  2. 中删除所有以前的 android sdk 文件
  3. cd /opt && wget https://dl.google.com/android/repository/sdk-tools-linux-3859397.zip
  4. unzip sdk-tools-linux-3859397.zip -d android-sdk-linux

  5. 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

查看android家:

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 关于构建工具版本的帮助