螞蟻freeline安裝教程以及問題解決
介紹
Freeline是一款針對Android平臺的增量編譯工具, 專案地址
雖然最新的版本是0.7.3.1,但是這個版本增量編譯會bug,推薦用0.7.2
第一步
配置project-level的build.gradle,加入freeline-gradle的依賴:
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.antfortune.freeline:gradle:0.7.2'
}
}
在你的主module的build.gradle中,應用freeline外掛的依賴:
apply plugin: 'com.antfortune.freeline' android { freeline { hack true autoDependency false //productFlavor "normal" } } dependencies { debugCompile 'com.antfortune.freeline:runtime:0.7.2' releaseCompile 'com.antfortune.freeline:runtime-no-op:0.7.2' testCompile 'com.antfortune.freeline:runtime-no-op:0.7.2' }
切記一定要加入
apply plugin: 'com.antfortune.freeline'
在Application類中的onCreate()函式的最前面呼叫
// import com.antfortune.freeline.FreelineCore;
FreelineCore.init(this);
super.onCreate();
最後
- 初始化專案:
gradle initFreeline -Pmirror
- 編譯並啟動專案
python freeline.py
強制全量編譯專案python freeline.py -f
問題1. 問題描述
File"/usr/lib/python2.7/subprocess.py", line 710, in init
errread, errwrite)
File "/usr/lib/python2.7/subprocess.py", line 1327, in _execute_child
raise child_exception
OSError:[Errno 13] Permission denied
解決方案:
chmod +x gradlew
問題2. 問題描述
Execution failed fortask ':app:transformClassesWithDexForTempusRelease'.
com.android.build.api.transform.TransformException:com.android.ide.common.process.ProcessException:java.util.concurrent.ExecutionException: com.android.dex.DexException: Multipledex files define Lcom/antfortune/freeline/BuildConfig;
解決方案:
在 Application中去掉的import.freeline的package包去掉,重新讓系統import;
同時將以前用module中引用的com.antfortune.freeline:runtime去掉,然後重新compile,最後重新build,已經完美解決了