AndroidStudio 导入老项目报错的多种原因及解决办法

说明

以下导入老项目以AndroidStudio4.1.1为例

具体错误及原因

1,如果老项目中使用kotlin,升级到最新版本后如果kotlin插件(项目的build.gradle)版本和老项目中的插件版本不一致会导致错误;

错误:A problem occurred evaluating project ':app'.

> Failed to apply plugin [id 'kotlin-android']

> Current version of Gradle Gradle 4.6 is not compatible with Kotlin plugin. Please use Gradle Gradle 4.9 or newer or previous version of Kotlin plugin.

解决办法:1,按照提示修改项目的gradle版本,这个版本是指gradle-wrapper里面的gradle版本;2,修改项目kotlin插件版本为Androidstudio使用的插件(确定版本号:settings—>plugins—>installed—>搜索kotlin然后就可以查看插件版本号了,如果没有下载最安装最新的kotlin插件查看即可)版本一直就好;

2,出现Download maven-metadata.xml一直下载不了,卡死的问题;

解决办法:项目下的build.gradle修改国内Maven镜像仓库,如阿里镜像;如何换国内镜像:https://blog.csdn.net/ezconn/article/details/90794869

3,老项目使用gradle插件和gradle-wrapper版本一般比较老,如果遇到gradle-wrapper声明的gradle版本本地没有,就要动态下载,动态下载一般比较慢或者大概率下载不了;

解决办法:关掉项目,修改gradle-wrapper声明的版本为本地项目使用的版本,gradle插件改为本地项目使用的版本;

4,如果老项目中使用的是V4或者V7或者V13老的support包,建议迁移到Androidx;

迁移过程:https://blog.csdn.net/ezconn/article/details/91817884

5,很多情况下,老项目编译不过是因为很多gradle以前的写法和新版本不同导致;例如:BuildConfig.APPLICATION_ID在AndroidStudio 3.5以上版本废弃掉不再为library或者说module 生成此字段;所以在module要改用BuildConfig.LIBRARY_PACKAGE_NAME代替;

6,A problem occurred configuring project ':baseFrame'.

> Failed to notify project evaluation listener.

> org.gradle.api.tasks.compile.CompileOptions.setBootClasspath(Ljava/lang/String;)V

解决办法:1,gradle-wrapper声明的gradle版本太低了,改高版本即可;2,gradle-wrapper声明的gradle版本和gradle插件版本不匹配导致;

7,butterknife R2 id为0 (Attempt to use @BindView for an already bound ID 0 )

解决办法:升级butterknife插件到10.2.1以上版本即可;

8,kotlin Fragment迁移到Androidx Context报:Type mismatch: inferred type is Context? but Context was expected

解决办法:context换成context!!

9,Attribute meta-data#UMENG_CHANNEL@value at AndroidManifest.xml requires a placeholder substitution but no value for is provided.

解决办法 :https://blog.csdn.net/ezconn/article/details/113085289

10,使用butterknife导致module模块中控件的点击事件无效

原因:可能只添加了

implementation 'com.jakewharton:butterknife:版本号'

而没有添加下面这行 annotationProcessor 'com.jakewharton:butterknife-compiler:版本号'

11,Execution failed for task ':app:processDevDebugResources'.

> A failure occurred while executing com.android.build.gradle.internal.tasks.Workers$ActionFacade

> AAPT2 aapt2-4.1.1-6503028-windows Daemon #0: Unexpected error during link, attempting to stop daemon.

This should not happen under normal circumstances, please file an issue if it does.

以上都不可以,关闭项目重启,或者clear项目之后再重启,或者从新装载之后再重启;

  • 3
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 8
    评论
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Ang_qq_252390816

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值