android 秒级编译freeline,部署过程


1、在项目的主Gradle中添加Freeline的依赖,完整配置如下

buildscript {

    repositories {
        jcenter()
    }

    dependencies {
        classpath 'com.android.tools.build:gradle:2.2.2'
        classpath 'com.antfortune.freeline:gradle:0.8.1'
    }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

2、在项目主module的build.gradle中,添加Freeline插件依赖及配置

apply plugin: 'com.antfortune.freeline'

android {

    freeline {
        hack true
        autoDependency false
        productFlavor 'dev' // 渠道名
    }

}

dependencies {
    debugCompile 'com.antfortune.freeline:runtime:0.8.1'
    releaseCompile 'com.antfortune.freeline:runtime-no-op:0.8.1'
    testCompile 'com.antfortune.freeline:runtime-no-op:0.8.1'

}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18

3、在应用程序的入口处添加如下代码(建议在Application的onCreate()方法里面调用)

FreelineCore.init(this);
  • 1
  • 1

4、初始化项目,命令如下:

./gradlew initFreeline -Pmirror
  • 1
  • 1

5、编译并安装apk,命令如下:

python freeline.py
  • 1
  • 1

6、强制进行全量编译并安装apk,命令如下:

python freeline.py -f
  • 1
  • 1

7、遇到的问题及解决办法 
OSError:[Errno 13] Permission denied 
解决办法,执行如下命令

chmod +x gradlew
  • 1
  • 1


遇到UnicodeEncodeError: 'ascii' codec can't encode characters in position 32-35: ordinal not in range(12

import sys     # 1  
   
def main():  
    reload(sys)                         # 2  
    sys.setdefaultencoding('utf-8')     # 3  

8、安装Android Studio插件Freeline。 
在Android Studio中,通过以下路径Preferences → Plugins → Browse repositories,搜索“freeline”,并安装。安装好后,如下图: 
这里写图片描述

好处是:原本需要每次在Terminal中输入命令Python freeline.py,现在你可以点击工具栏的icon,因此插件装不装都OK

其实现原理:https://yq.aliyun.com/articles/62334

你可能感兴趣的:(android 秒级编译freeline,部署过程)