我的博客版本V1.0.1
大家是不是为导别的项目,而报各种错误来让自己头疼吗?
首先我再尝试导别人的项目中也一直在百度,在用了一下午加晚上的时间,我发现导一个项目太麻烦。
今天我发现了一个好的文章 我是传送门
具体是这样的:
在导入别人的android studio项目(假设为项目A)时,会遇到gradle不一致的情况,以下简短介绍解决方法:
1. 打开要导入的项目的目录,删除下图红框中的文件。
2. 找到自己以前在自己的android studio的任一项目(假设为项目B),在上图蓝框的对应位置用记事本打开build.gradle的文件,记住自己的gradle版本号。(比如我的为3.1.3)
3. 回到要导入的项目,用记事本打开上图蓝框中的文件,修改gradle版本为自己的gradle版本号。(如下图)然后保存。
4. 在项目B中,复制gradle文件夹(注意和 .gradle文件夹区分开来),粘贴至项目A,即别人的项目。至此完成了90%,最后正常导入即可,如下图。
这个方法能快速的解决问题,大量问题
还有笨的方法 我就不复制了啊,
我来帮你们,那我拿一个项目来做例子,演示一下。
后面有错误日志,是我试验新导别人的项目发现的错误,并修复。(当然是百度了),可以收藏慢慢看,或者以后看。
1.首先,我认为先锤一下项目,看报错。
2.锤完后,会有错误信息,按照提示修改,下面的错误一般是版本问题,因为Android Studio3.0有很多重大修改。
不会改吗?教你看提示,来解决问题。授人以鱼不如授人以渔。
大家先仔细看报错信息。
你发现了,什么吗?(我的蓝色框框),我想大家应该知道了,但是为让大家理解我还是翻译一下,这样大家下次导别的项目有问题,先看错误。看看认识吗,看不到翻译看。报错信息很重要。
配置“androidTestCompile”已经过时,已经被替换为“androidTestImplementation”和“androidTestApi”。
它将在2018年底被移除。有关更多信息,请参见:http://d.android.com/r/tools/update-dependconfigurations.html。
你只需要这样就行!(拿大家熟悉的compile说)
上面是第一条报错的翻译了,以此,你也知道别的报错的信息的意思了,如果你仔细的话你会发现,and这个词。
对!!!就是你想的那样。改成testImplementation开头也行testApi也行。
1.注意事项
以下方法一般都是,一边改错,一边百度出来的,但是我都验证过截图为证。
如果报错
1.Your project path contains non-ASCII characters.
就是你的工程项目路径或者项目名称包含了中文,修改相关的名称就好了。
其他
1.如果你是使用的模拟器请是用真机尝试测试。
2.注意API版本,是否需要动态获取权限
错误日志
1.
处理方式
将dependencies里
compile project(‘:*‘) 换成 implementation project(path: ‘:*‘, configuration: ‘default’)
复制在这里↓↓↓
*代表你的项目module名称
implementation project(path: ':?', configuration: 'default')
红色为正确的绿色为之前错误的
2.
Cause: android-apt plugin is incompatible with the Android Gradle plugin. Please use 'annotationProcessor' configuration instead.
翻译
Android -apt插件与Android Gradle插件不兼容。请使用'annotationProcessor'配置代替。
把module/build.gradle下的apt插件应用全部注释掉
把dependencies下的apt全部改为annotationProcessor
3.把dependencies下的apt全部改为annotationProcessor
4.
打包出现错误。
解决方法
在app的build.gradle 加上
lintOptions {
checkReleaseBuilds false
abortOnError false
}
项目中libs文件夹里引入了butterknife-7.0.1.jar包报错:
Error:Execution failed for task ':app:javaPreCompileDebug'.
> Annotation processors must be explicitly declared now. The following dependencies on the compile classpath are found to contain annotation processor. Please add them to the annotationProcessor configuration.
- butterknife-7.0.1.jar (butterknife-7.0.1.jar)
Alternatively, set android.defaultConfig.javaCompileOptions.annotationProcessorOptions.includeCompileClasspath = true to continue with previous behavior. Note that this option is deprecated and will be removed in the future.
See https://developer.android.com/r/tools/annotation-processor-error-message.html for more details.
大概意思就是:注释处理器现在必须明确地声明。在编译类路径上的依赖项被发现包含注释处理器(即butterknife-7.0.1.jar),请将它们添加到注释处理器配置中。
解决:在app的build.gradle文件内defaultConfig{}里添加
javaCompileOptions {
annotationProcessorOptions {
includeCompileClasspath true
}
}
就可以了