1、Could not find lint-gradle-api.jar (com.android.tools.lint:lint-gradle-api:26.1.2).
maven {url 'https://maven.aliyun.com/reposity/google' }
maven {url 'https://maven.aliyun.com/reposity/jcenter' }
maven {url 'http://maven.aliyun.com/nexus/content/groups/public' }
2、Unable to load class 'org.gradle.api.internal.component.Usage'.
该问题一般均是classpath 'com.novoda:bintray-release:0.8.0'库兼容性导致的,如果有com.novoda:bintray-release请把版本修改为0.5.0;如果AndroidStudio版本大于3.14,请改为0.8.0
3、The specified Android SDK Build Tools version (23.0.2) is ignored, as it is below the minimum supported version (27.0.3) for Android Gradle Plugin 3.1.2.
Android SDK Build Tools 27.0.3 will be used.
To suppress this warning, remove "buildToolsVersion '23.0.2'" from your build.gradle file, as each version of the Android Gradle Plugin now has a default version of the build tools.
这是因为报错原因是因为gradle插件版本以及SDK build Tools 是有关联的,更新AndroidStudio或者gradle时,gradle 插件版本会做相应检测是否符合,不符合版本要求就会报错。
解决方案:直接点击Open File提示,会直接打开文件,将所有提示的地方修改成目标版本,重新编译即可。
4、错误: 程序包android.support.annotation不存在
错误: 找不到符号
符号: 类 NonNull
报错原因:是因为程序使用了NonNull的注解,但是没有导包
解决方案:implementation 'com.android.support:support-v4:23.2.0',重新编译即可
5、Gradle's dependency cache may be corrupt
这种情况是因为下载的新版本gradle压缩包损坏了导致出错,去官网下载需要的gradle版本压缩包,替换C:\Users\Rui\.gradle\wrapper\dists路径下目标gradle的压缩包,重新编译即可。
Gradle官网地址
6、Failed to find Build Tools revision 27.0.3
新换了电脑,整个环境从零开始搞,AndroidStudio安装后,原来的工程导进来,build-tools没有了,可以直接从官网下载,然后放到Android\Sdk\build-tools目录下就可以了,build-tools官网地址如下。
Build-Tools官网
7、org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':ops:lintVitalRelease'.
在使用AndroidStudio打包release版本的apk时候,报了这个错,解决办法是在相应模块的gradle文件中添加如下两行,重新编译即可,需要注意添加的时候一定要是报错module的gradle,假如我们的project中有多个module,添加的地方不对那肯定是无法打包成功的。
lintOptions {
checkReleaseBuilds false
abortOnError false
}
8、Caused by: java.lang.NullPointerException
at com.google.common.base.Preconditions.checkNotNull(Preconditions.java:787)
建立NDK工程时候,我们的工程需要有NDK支持,否则就会报这个错,NDK无法编译,在Project Structure中设置好NDK的路径就可以了,如果没下载CMake,AndroidStudio直接会提示安装并编译,点击按钮即可。
9、gradlew命令编译:
如果项目编译出错,可直接使用gradlew命令编译,可以看到更详细信息,方便问题定位。
gradlew compileDebugSources --stacktrace -info
gradlew animation:processDebugResources --debug --stacktrace -info
10、AAPT2 error: check logs for details
出现该错误时,我们可以点击Build Output视图中的Run tasks,同时右侧会显示出当前编译失败的详细信息,在顶部可以看到是Execution failed for task ':animation:processDebugResources'出错了,那很明显就是资源文件编译出错了,如下图:
那么我们需要进一步判断是哪个资源文件出错,在点击Build Output视图中的Toggle View,就会看到进一步详细的信息,如下图:
从这里我们就可以直接判断出,原来是在activity_recycle.xml文件中使用的tr_wave_height属性找不到导致出错的,那么我们只需要根据错误进行相应的修改即可。
11、Unsupported method: BaseConfig.getApplicationIdSuffix().
从Github上Down下来的项目,编译出现该问题,这种问题都是由于项目中使用的gradle版本太低导致的。修改方法如下:
第一步:修改根目录下build.gradle文件中的classpath,或者干脆一点,直接从自己其他构建成功的项目中,把根目录下build.gradle文件的内容全部拷贝过来。
第二步:修改gradle-wrapper.properties文件中distributionUrl选项的值,也是直接参考其他项目,直接复制过来即可。
修改完这两处,上一个问题就解决了,不过可能会出现其他的问题。比如gradle中还使用的compile关键字等等,我们根据问题具体解决就可以了。
12、Data Binding Android - Type parameter T has incompatible upper bounds : ViewDataBinding xxx
Android项目使用的框架越来越多,也都越来越高级,AS中还是报红,但是编译都可以通过,说明本身是没有错误的,看来AS已经非常强大,还是需要跟进技术,还需要改进,解决方法如下,非常简单!
1)定位到xml文件处,比如“some_layout.xml”
2)右击 -> Refactor -> Rename (or SHIFT + F6),我的快捷键是Eclipse方式,是(Alt + Shift + R)
3)将xml文件改个名字,比如“some_layout2.xml”
4)再次重命名,改回原来的名字,”some_layout.xml“,报错即会消失