Freeline 是一款 Android 平台上的秒级编译方案,能够显著地提高 Android 工程的编译速度。与Android Studio官方提供的InstantRun一样,都是增量编译,但是Instant Run有很多的局限性。必须Android5.0以上系统才能使用,而且经常挂掉导致重新全量编译。
接入方式:
方式一:插件化安装Preferences → Plugins → Browse repositories,搜索“Freeline”,安装。第一次点击Freeline图标会自动检测是否安装了Freeline点击确定,插件会自动为你修改配置文件,并自动安装Freeline依赖。
方式二:在project级的build.gradle文件中加入
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.antfortune.freeline:gradle:x.x.x'
}
}
在主moudle
的build.gradle中添加
apply plugin:'com.antfortune.freeline'
如果项目中本身添加了buildTypes和productFlavors的话,需要添加
buildTypes {
freeline {
hack true
productFlavor 'dev'
}
}
其中'dev'应该是你项目的渠道名,也就是productFlavors中的渠道,注意:这个渠道必须是debug模式下的。不然会出现
的提示。
最后,下载Freeline的python和二进制信赖,
- Windows[CMD]:
gradlew initFreeline
- Linux/Mac:
./gradlew initFreeline
Mac下使用./gradlew时,需要配置用户级环境变量(.bash_profile),打开并编辑
export GRADLE_HOME=/Applications/Android\ Studio.app/Contents/gradle/gradle-2.14.1(个人电脑下的路径)
export PATH=${PATH}:${GRADLE_HOME}/bin
如果提示找不到命令,可能是几个原因:
1.路径错误。
2.没有执行source .bash_profile使配置生效。
3..bash_profile文件中包含其它字符影响命令的执行,检查文件删除不必要的字符。
如果在执行过程中如果出现:
Unzipping XXX/.gradle/wrapper/dists/gradle-2.14-bin/76oc0mnc3ieqtsukq90mp0rxk/gradle-2.14-bin.zip to /XXX/.gradle/wrapper/dists/gradle-2.14-bin/76oc0mnc3ieqtsukq90mp0rxk
Exception in thread “main” Java.util.zip.ZipException: error in opening zip file
类似解压出错的信息,很可能是你的gradle-2.14.1-all文件出问题了,重新下载一份放到目录下,注意不要解压(Mac下载后会自动 解压,需要设置safari)。
以上问题解决之后,执行:python freeline.py (python freeline.py -f 强制进行全量编译)差不多就可以运行起来了,第一次编译稍微慢一些,之后编译速度还是相当快的。
如果是应用卸载了重新安装也是和第一次一样会相对慢一些。 如果应用是在打开的情况下编译不会重启应用而改变页面元素,很赞!
有其它的问题也可以到Freeline的官网查看:Freeline中文文档