今早看了来自StormZhang的微信公众号的文章——Android 秒级编译 Freeline,就决定来尝尝鲜
相关链接
正常流程:
gradlew initFreeline -Pmirror
- 在Android Studio中,通过以下路径Preferences → Plugins → Browse repositories,搜索“freeline”,并安装。
- 直接点击
Run Freeline
的按钮
Sample Usage
cd freeline/sample
./gradlew initFreeline
python freeline.py```
可惜我每次接触新东西都要费一番周折
我的安装过程
首先需要安装Python,此处务必使用Python2.+版本,文章中没有指明我就顺理成章地踩到了这个坑
另外Python安装过程可以设置自动添加到Path,真是贴心。
再到AS项目中
配置project-level的build.gradle,加入freeline-gradle的依赖:
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.antfortune.freeline:gradle:0.8.3'
}
}
然后,在你的主module的build.gradle中,应用freeline插件的依赖:
apply plugin: 'com.antfortune.freeline'
android { ...}
一切都感觉很自然直到在Terminal
中运行了gradlew initFreeline
遇到了issues/25
公司网络问题导致freeline.zip无法成功下载,只好告别gradlew initFreeline
命令
解决方法
借助以下两个issue
issues/345
issues/348
手动下载了freeline.zip,将freeline、freeline_core、freeline.py解压到项目根目录下,当然也别忘了设置JAVA_HOME
哦
依次进行以下操作
clean project
gradlew checkBeforeCleanBuild
freeline.py -f
另外还有些注意事项是我有确切体会的:
- 第一次增量资源编译的时候有点慢,之后的编译就快了,这很正常;
- 不支持多设备同时连接,也就是说不管是模拟器还是真机,只允许同时一台设备连接,否则会失败;
- 不支持删除带 id 的资源,否则可能导致 aapt 编译出错;
- 如果你的项目又想用 Freeline,又想使用 Gradle,记得执行 Gradle 脚本之前先执行 ./gradlew clean,否则会编译失败;
- 不要忘记把产生的文件加入到.gitignore中去,环境还是每个人自行配置来得好,保持工程的纯净也是很重要的;
- 最后一点也是最重要一点,通过Freeline应用更改不一定会自动启动被更新的应用[二哈]。
网友评论