>在/ opt / android-sdk-linux中找不到哈希字符串为“ android-26”的目标 [英] > Failed to find target with hash string 'android-26' in: /opt/android-sdk-linux
问题描述
- Ubuntu 16.04
- / opt / android-sdk-linux上的android-sdk
- 配置的android home出口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平台26
在/ opt / android-sdk-linux / platforms / android-26中安装Android SDK平台26
安装Android SDK平台26完成。 / p>
失败:构建失败,出现异常。
出了什么问题:
配置项目时发生问题':app'。
在以下位置找不到带有哈希字符串'android-26'的目标:/ opt / android-sdk-linux
重要:在我的情况下,
没有android studio,没有ui,只有CLI
存在android-26文件夹,其内容位于/ opt / android-sdk-linux / platforms /
- 从中删除所有以前的android sdk文件/ opt /
-
cd / opt&& wget https://dl.google.com/android/repository/sdk-tools-linux-3859397.zip
-
解压缩sdk-tools-linux-3859397.zip -d android-sdk-linux
-
nano /etc/profile.d/android.sh
粘贴以下行:
export ANDROID_HOME = / opt / android-sdk-linux
export PATH = $ ANDROID_HOME / tools:$ ANDROID_HOME / platform-tools:$ PATH
-
source / etc / profile
检查android home:
echo $ ANDROID_HOME
- / 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- -许可证
在这一点上可能就足够了,构建可以正常工作...
但是在我的情况下,缺少一些依赖项,并与
进行检查 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提供有关构建工具版本的帮助
- Ubuntu 16.04
- android-sdk at /opt/android-sdk-linux
- android home confugired (export ANDROID_HOME="/opt/android-sdk-linux/")
- there is no additional tools folder in /opt/android-sdk-linux/
my gradle file:
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'
}
}
}
when run ./gradelew clean build
in the project folder, I got this output:
Starting a Gradle Daemon (subsequent builds will be faster) Preparing "Install Android SDK Build-Tools 21.1". "Install Android SDK Build-Tools 21.1" ready. Finishing "Install Android SDK Build-Tools 21.1" Installing Android SDK Build-Tools 21.1 in /opt/android-sdk-linux/build-tools/21.1.0 "Install Android SDK Build-Tools 21.1" complete. Preparing "Install Android SDK Platform 26". "Install Android SDK Platform 26" ready. Finishing "Install Android SDK Platform 26" Installing Android SDK Platform 26 in /opt/android-sdk-linux/platforms/android-26 "Install Android SDK Platform 26" complete.
FAILURE: Build failed with an exception.
What went wrong: A problem occurred configuring project ':app'.
Failed to find target with hash string 'android-26' in: /opt/android-sdk-linux
IMPORTANT: in my case no android studio, no ui, only CLI
There is android-26 folder exist with content at /opt/android-sdk-linux/platforms/
- remove all previous android sdk files from /opt/
cd /opt && wget https://dl.google.com/android/repository/sdk-tools-linux-3859397.zip
unzip sdk-tools-linux-3859397.zip -d android-sdk-linux
nano /etc/profile.d/android.sh
paste this lines:
export ANDROID_HOME="/opt/android-sdk-linux"
export PATH="$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools:$PATH"
source /etc/profile
check android home:
echo $ANDROID_HOME
in /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
maybe enough at this point and the build will work...
but in my case missing some dependency, and check with
tools/bin/sdkmanager --list
update with the missing dependencies
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"
after these build success
thanks for help NinjaCoder about build tool version
这篇关于>在/ opt / android-sdk-linux中找不到哈希字符串为“ android-26”的目标的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!