android 秒级编译freeline,部署过程

来源:互联网 发布:2016年交通事故数据 编辑:程序博客网 时间:2024/05/22 07:43

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

0 0
原创粉丝点击