1. 程式人生 > >螞蟻freeline安裝教程以及問題解決

螞蟻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,已經完美解決了