前言
eclipse在Android更新6.0之后被无情抛弃(意味着你用eclipse你的sdk最高只能有6.0的sdk 惊不惊喜,意不意外),首先,感谢这么多年来为android开发者做出的突出贡献。PS:如果你还在用eclipse,我也不能说啥,送你个图?
在这里插入图片描述
前2言
为何我会写这个,还是因为新公司(没错,就是做TV的那个新公司)的项目 All in Eclipse;
你们可能感受不了我9.0的sdk毫无用武之地的悲哀。
所以抽了两天迁移了一下项目。
中言
传统方式:eclipse导出gradle,As 导入选择adt导入 (缺点:坑多;优点:无)
于式方法:
First
新建一个As工程 要求(包名 .equals(eclipse包名) )为true; 其实不等于也行,_ (o)/~
Second
要动脑,迁移步骤,如果依赖了第三方Library,先迁移Library,再迁移主工程 ;
迁移Library:
- 右键选择 new Model .
- 选择Android Library
- 将你的eclipse library 中的res目录下的文件 1:1 对应拷入
- 将jar包拷入 or 选择在build中添加仓库依赖
- 将java下的com删除 ,直接将eclipse src 目录下的那一套靠过来。
- 大体完成,错误的解决方式下稍后介绍
迁移主工程:
跟Library 大体相同 就是记得顺序就好 Manifest -> lib->res->src
aidl 的迁移:在main目录下新建aidl文件 name 写aidl即可 然后将你eclipse的aidl文件从com开始一直到文件位置都复制过去即可,找不到aidl是因为你没有make project ;
可能会出的错
- Gradle下载不下来?VPN or 自己下载zip 推荐网站(https://www.androiddevtools.cn/)
- 编码问题: 用notepad++打开你乱码的java文件 然后编码 使用utf-8 无 BOM编码,解决
- jar包冲突: As 3.0+ 基本不会有这个问题 因为implementation ;如果出现了一个一个libs里看包名 哪俩一样了 2选一,具体如何取舍看喜好。
- Invoke-customs are only supported starting with Android O (--min-api 26)
在build android中添加
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
- classnotfound multiDexEnabled 这个的问题 大多出现在5.0以下的android系统 解决办法:https://developer.android.com/studio/build/multidex (过两天写个翻译的文章)
- .9图问题 自己从新画一下就好,大多因为不规范 只画了两条边。
- 其他大多都是编译问题 不过按照我这个方法编译问题很少如果遇到,解决方法如下:
第一种:删除build文件 然后从新build
第二种: File -> Invalidate Caches/Restart
第三种:Clean Project
第四种:对比build插件(找不同) - Other 有遇到的可以留言;
尾言
AndroidStudio 好,AndroidStudio秒,AndroidStudio用的呱呱叫。
网友评论