错误1:
Failed to install the following Android SDK packages as some licences have not been accepted
解决方案:
首先打开命令行,进入到报错的sdk路径,找到可以处理licences的文件,我就贴出我的了
cd C:\Users\17720\AppData\Local\Android\SDK
cd tools
cd bin
这时该路径下有一个windows批处理文件sdkmanager,用这个来解决问题,调用命令
sdkmanager --licenses
然后等一小会就巴拉巴拉一大堆licenses等待你同意,全部选yes就可以,反正也看不懂
之后,再到AS里build一下就好了。
错误2:
关于Android Studio3.2新建项目无法运行出现Failed to find Build Tools revision 28.0.3的解决方法
解决方案:
去所创建项目下的app>build.gradle,打开build.gradle 在compileSdkVersion 28下面加上buildToolsVersion "28.0.3"这一句,再去工具栏那里点一下和该文件一样的那个图标重新运行一下就可以了
但是需要注意:buildToolsVersion "28.0.3"中的版本号对应的是在SDK Tools中下载的Android SDK Build-Tools的版本,路径是file>settings>Appearance&Behavior>System Settings>Android SDK>SDK Tools
还有要注意的是新建项目的Android API的版本不能低于26,不然targetSdkVersion会报错的(我的是28),会无法运行的
错误3:
Could not GET 'https://dl.google.com/dl/android/maven2/com/android/tools/build/transform-api/2.0.0-deprecated-use-gradle-api/transform-api-2.0.0-deprecated-use-gradle-api.pom
解决方案:
build.gradle 中的google(),jcenter(),替换成访问国内的maven地址
buildscript {
repositories {
maven { url 'https://maven.aliyun.com/repository/google' }
maven { url 'https://maven.aliyun.com/repository/jcenter' }
maven { url 'http://maven.aliyun.com/nexus/content/groups/public' }
}
dependencies {
classpath 'com.android.tools.build:gradle:3.2.1'
}
}
allprojects {
repositories {
maven { url 'https://maven.aliyun.com/repository/google' }
maven { url 'https://maven.aliyun.com/repository/jcenter' }
maven { url 'http://maven.aliyun.com/nexus/content/groups/public' }
}
}
错误4
org.gradle.api.UncheckedIOException: Failed to capture snapshot of input files for task ':app:mergeDebugResources' property 'aapt2FromMaven' during up-to-date check.
解决方案:
gradle.properties里添加
systemProp.https.proxyHost=127.0.0.1
systemProp.https.proxyPort=1080
错误5:
关于Android Studio3.2新建项目无法运行出现Failed to find Build Tools revision 28.0.3
解决方案:
去所创建项目下的app>build.gradle,打开build.gradle 在compileSdkVersion 28下面加上buildToolsVersion "28.0.3"这一句,再去工具栏那里点一下和该文件一样的那个图标重新运行一下就可以了 但是需要注意:buildToolsVersion "28.0.3"中的版本号对应的是在SDK Tools中下载的Android SDK Build-Tools的版本,路径是file>settings>Appearance&Behavior>System Settings>Android SDK>SDK Tools
还有要注意的是新建项目的Android API的版本不能低于26,不然targetSdkVersion会报错的(我的是28),会无法运行的
错误6:
org.gradle.api.ProjectConfigurationException;编译报错Read Time out
解决方案:
解决方法一:
使用开源中国的maven库:阿里云的速度比较快,更稳定
阿里云的:http://maven.aliyun.com/nexus/content/groups/public/
OSChina的仓库地址:http://maven.oschina.net/content/groups/public/
buildscript {
repositories {
jcenter()
maven{url 'http://maven.aliyun.com/nexus/content/groups/public/'}
google()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.2.1'
classpath 'com.google.gms:google-services:4.0.1'
}
}
allprojects {
repositories {
jcenter()
maven{url 'http://maven.aliyun.com/nexus/content/groups/public/'}
google()
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}
然后再运行gradle命令:gradlew clean uploadArchives。若此时问题并没有解决,可能是因为jcenter()仍然会去下载国外网站的内容。可以再次修改为
解决方法二:
1、 修改单独项目
在项目的build.gradle文件中,修改repositories配置
由:
repositories {
mavenCentral()
}
改为:
repositories {
maven{ url 'http://maven.aliyun.com/nexus/content/groups/public/'}
}
2、 更改所有项目
如果想一次更改所有的仓库地址,可以在USER_HOME/.gradle/(如C:\Users\hellowood.gradle)文件夹下添加init.gradle文件来配置。获取在单个项目的.gradle下修改对当前项目起作用。
init.gradle:
allprojects{
repositories {
def REPOSITORY_URL = 'http://maven.aliyun.com/nexus/content/groups/public/'
all { ArtifactRepository repo ->
if(repo instanceof MavenArtifactRepository){
def url = repo.url.toString()
if (url.startsWith('https://repo1.maven.org/maven2') || url.startsWith('https://jcenter.bintray.com/')) {
remove repo
}
}
}
maven {
url REPOSITORY_URL
}
}
}
这样就可以在项目编译的时候从阿里的仓库中下载依赖了