Android项目引入Freeline插件,6得飞起

前言

随着项目版本的不断迭代,体积也不断地变大,现在每次编译都得花上十几分钟的时间去等待,折腾各种优化方案仍旧对编译时间没有任何太大的改善。对着这低配置的电脑,每天都真够无奈的,一个不小心Android Studio就卡死或者电脑死机了,感叹编译都这么难吗? 问题终归得解决,自从引入了蚂蚁金服旗下一站式理财平台蚂蚁聚宝团队在Android平台上的量身定做的一个基于动态替换的编译方案 ———— Freeline,真的是6得飞起来,从此不用再担心编译慢的问题咯.具体的集成会在下面贴上官方详细介绍,这篇文章就记录本人在Android Studio开发的项目上集成过程中遇到的坑。

Ⅰ. 集成

参考下官方的文档,里面有非常的详细的介绍
>
- https://github.com/alibaba/freeline/blob/master/README-zh.md
- https://yq.aliyun.com/articles/59122

Ⅱ.大坑小坑

看到好多小伙伴在折腾Freeline的集成过程中都会遇到不少的问题,当然,有些问题仍得期待官方逐渐完善,但是大多问题是可以得到解决的,可以到上面网址的云栖社区看下官方介绍下面的留言,经常遇到的问题都能看到解决方法,如下截图:

这里写图片描述


下面记录遇到的坑

1.flavor的坑

简单贴下异常信息,如下

Missing the productFlavor configuration?
You can try to add productFlavor to freeline DSL, for example:

freeline { 
      hack true 
      productFlavor 'your-flavor' 
}

Then re-run python freeline.py again.

上面是异常信息,其实信息已经明确说了应该怎么解决,主要是由于gradle配置多渠道的原因导致的,加入下面标注的,然后Sync Now即可.

解决

    productFlavors {
        huawei{}
        baidu {}
        _360 {}
        lenovo{}
        yidong{}
        yingyongbei{}
        xiaomi {}
        //...
    }
     productFlavors.all {
            flavor -> flavor.manifestPlaceholders = [UMENG_CHANNEL_VALUE: name]
     }  

    //加入下面的脚本,指定flavor
    freeline {
                hack true
                productFlavor 'huawei'   //指定flavor为华为市场
    }

2.flavor的坑2

简单贴下异常信息,如下

FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':checkBeforeCleanBuild'.
>  invalid productFlavor : assembleHuawei
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get 

more log output.
[ERROR] --------------------------------------------------------
[ERROR] freeline failed when read project info with script: gradlew.bat -q 
checkBeforeCleanBuild

解决

主要是由于找不到指定的flavor,那么将下面的flavor指定为gradle里声明的就可以了,比如baidu、_360等(备注:看你gradle里productFlavors声明的渠道名,指定其中1个)

freeline {
            hack true
            productFlavor 'assembleHuawei'  //这个的值指定错了,改为huawei或其他的渠道包名
    }

3.又是等待

停留在下面两行,等待N久

[DEBUG] [tracing] build_base_resource_aapt_task: 2838.99998665ms
[DEBUG] [build_base_resource_task] build_base_resource_task finish in 2.9s

解决:可能手机连接不正常,拔掉手机数据线重新接上

4.需要安装python,python的版本要求是2.x,3.x会报错的.

备注:除了上面记录的几个小点,当然还遇到了其他的问题,但大多在云栖的留言板上可以看到相应的问题和解决方案,有些最新的问题留言虽然还没有得到解决,但相信很快会得到解决的.

Ⅲ.集成过程中随笔记录的

>
- gradlew initFreeline -Pmirror -PfreelineVersion=0.8.2 //命令行下载Freeline
- python配置环境变量,将python的安装目录放在path环境变量里,命令行敲下python验证是否成功
- gradle知识点: applicationIdSuffix “.debug” //gradle下指定debug/release模式下打包生成包名的后缀

Ⅳ.总结

集成过程中遇到不少的坑,花了一个上午的时间,但是这两周在项目开发中用着挺爽的,再也不用担心电脑卡死之类的问题。除了第一次编译比较慢,之后简直是秒编译,6得飞起;当然,有时会出现白屏,只要应用退出之后重启就可以了,这么6,项目上没用上真的是不6咯。

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值