很久没有写文章了,今天使用Freeline的时候发现很多文章基本都是一样的步骤,当然正常的情况可以解决问题。简单说一下我的步骤有一些不同和遇到的问题,环境mac + AS2.3
1. 首先我没有去配置build.gradle,AS2.3现在的功能很强大,我首先是装插件Freeline有不会装插件的同学请参考
2.安装完毕后,AS重启会发现在运行按钮的旁边有Freeline的图标,直接点击运行,这个过程可能会比较漫长,因为要下载相关库文件,
第一个报错的肯定是没有安装Python, 那接着就安装Python 版本要大于2.7(不会的同学自行度娘)
3.步骤2做的事情其实就是在工程的build.gradle 加上了 classpath 'com.antfortune.freeline:gradle:0.8.7'
在Module的build.gradle 加上 apply plugin: 'com.antfortune.freeline' 请注意这两个都是自动加上的
4. 要想使用Freeline 必定简单了解它的原理,热更新,那么运行环境则需要配置,在Module的build.gradle配置文件中dependencies{}
中加上所依赖的库
compile fileTree(dir: 'libs', include: ['*.jar'])compile 'com.antfortune.freeline:runtime:0.7.2' 然后clean 或者sync 等待下载相关库文件
下载完毕后在Application 文件的onCreate()函数中加上FreelineCore.init(this);
5.如果你的apk是多渠道的,那么需要添加
freeline { hack true productFlavor '渠道名称' }
添加位置是
productFlavors {
huawei{}
baidu {}
_360 {}
lenovo{}
yidong{}
yingyongbei{}
xiaomi {}
//...
}
productFlavors.all {
flavor -> flavor.manifestPlaceholders = [UMENG_CHANNEL_VALUE: name]
}
//加入下面的脚本,指定flavor
freeline {
hack true
productFlavor 'huawei' //指定flavor为华为市场
}
这样是运行测试的时候只是编译出一个渠道的来测试,否则会全部编译。
6.先卸载掉手机上的app,点击freeline就可以重新运行了,第一次比较慢,请耐心等待,以后每次都是毫秒级别的了。
如果不熟悉步骤6的,可以用命令来做
1.):./gradlew initFreeline -Pmirror
2.): python freeline.py
如有问题,请留言。