记一次从Eclipse到Android Studio工程迁移

最近从某日网上下载了一个发行较早的安卓项目包,原生开发环境是Eclipse。对Android Studio的兼容似乎不是很好,可能是因为gradle版本问题。之前下载过另一个比较相似的项目,布署时并未出现什么问题,但这个项目的问题数有些超乎意料。不过在反复删装排错后,终于可以运行了。
以下是布署时出现频率较高的问题,记录以备参考:


问题一:打开工程后发现不存在module
相关问题:在File选项卡内没有"Sync Projects with Gradle Files"。

参考解决方法:
菜单栏:打开File/New/Import Module,选择包含module的项目。然后一路确认。并在项目的setting.gradle中添加:(假设module名为module name)
include ‘:module name’
比较常见的导入module方法
结果:经过十几次尝试,大部分module添加后仍然无法被显示。

有效方法:
打开File/Project Structure/Dependencies,在Module选项卡点击加号(+),新增module。

选择Import Gradle Project,在Source directory中选择包含module的项目。然后一路确认。
在这里插入图片描述
不要选其他的。
在这里插入图片描述
最后Sync Projects with Gradle Files,module就会被同步到项目中。
这个方法屡试不爽。


问题二:“使用SDK最低版本为XXX。。。”

提示:(原文见报错)
在这里插入图片描述
翻译:在安卓清单文件中不应当声明SDK最低版本,你可将这个版本从清单移动到build.gradle的默认配置中。

解决方法:
清单中声明最低sdk版本的那句是多余的(图中第7行),删除就好了。


问题三:某个源文件缺少类的支持 (卡了好久)

比如:一个源文件提示缺少“jp.live2d.ALive2D.Model”类的支持,该类的方法无法被resolve。(我是把项目转移到Eclipse才找到方法和库文件包含关系的)
在这里插入图片描述
AS的项目添加库支持似乎不像Eclipse,VC这类IDE那么方便,只要项目的目录中有库文件,然后源文件中导入一下就可以用了。毕竟控制着项目文件同步的是gradle。
项目对外部类的依赖仍需要在Project Structure内设置。依赖顺序为:Project→Module→Library/Jar
在这里插入图片描述
选中缺少类的module,在Declared Dependencies选项卡中点击加号(+),在下拉菜单中选择“Jar Dependency”。在step1输入栏中添加所需库的完整路径。包括库名和后缀jar。不然仍会出错。
在这里插入图片描述
在step2依赖配置中选择implementation,OK然后Apply。gradle会自动同步文件,依赖建立完成。


问题四: 编译时报错 apply.plugin ‘com.android.application’ @…
这个错误网上相关资料比较多,所以只做简单记述。

解决方法:
在build.gradle文件中添加下列代码(如果不存在的话)

build script{
repositories{
//这里写Maven仓库接口
}
dependencies{
//这里写gradle依赖的插件版本
}
}

这里是我用AS以来感觉非常坑的地方,一旦这里出错就会找不到头脑,怎么装了一个gradle又要装一个,而且后一个还经常装不了。
不得不理清两个gradle的关系。之前装的gradle是一个管理项目的软件,在这里要装的gradle是项目所需的gradle插件,因为不同项目所需插件版本不同,所以需要到maven仓库获取,安装一次后不需再下载。
repositories中可以设置用于获取插件的接口或地址。
AS原生提供获取插件的方法:
google() //google的Maven仓库,稳定性很迷,有时可能需要cross the wall。
jcenter() //地址是jcenter.bintray.com/com/android/tools/build/gradle
//看样子似乎是不维护了,最高版本才2.5.0AP2,老版本的gradle和项目可能还可用。
用的比较多的应该是国内的Maven仓库。
用url获取插件的方法:
maven{ url “http://仓库地址”}
阿里云:maven.aliyun.com/nexus/content/repositories/jcenter
谷歌:maven.google.com

工程同步时会自动寻找并下载插件,如果版本不对就按报错更改。

小结:没有完美的IDE或编译器,一般都是选择相对好用的。第一次在csdn上发blog,安卓也是初学状态,肯定存在没说清道明之处,如有错误请包涵,欢迎在下方评论区指出,如果感觉这篇文章对您有用的话,请点个赞哦。
运行效果如下图:
在这里插入图片描述
还行。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值