美文网首页android 集结号Android 安卓技术分享安卓开发经验
编译时间从33.8秒降到4.5秒我只多做了一件事

编译时间从33.8秒降到4.5秒我只多做了一件事

作者: 2远 | 来源:发表于2017-01-27 00:24 被阅读3558次
android{
...
   tasks.whenTaskAdded { task ->
        if (task.name.contains("lint")
//如果instant run不生效,把clean这行干掉
                ||task.name.equals("clean")
             //如果项目中有用到aidl则不可以舍弃这个任务
                ||task.name.contains("Aidl")
//用不到测试的时候就可以先关闭
                ||task.name.contains("mockableAndroidJar")
                ||task.name.contains("UnitTest")
                ||task.name.contains("AndroidTest")
//用不到NDK和JNI的也关闭掉
                || task.name.contains("Ndk")
                || task.name.contains("Jni")
        ) {
                     task.enabled = false
        }
    }
}

有朋友推荐使用fastdex提升打包速度,实际上2.3版本的studio已经是这个原理了,不过用的是多apk模式,和多dex一个意思,也是把依赖分别发包成apk,项目代码打包一个apk,以后修改了就run项目apk,可以看下studio的日志

参考文章

【译】我每周在构建Gradle时是如何节约出5小时的

你想知道每个执行任务的运行时间

相关文章

网友评论

  • typ0520:这个项目可以加快多个dex场景下的打包速度 https://github.com/typ0520/fastdex
    typ0520:@祥哥说事 好的,我去研究研究
    2远:谢谢,新版的instant run就是这个原理,不过用的是多apk模式,和多dex一个意思,也是把依赖分别发包成apk,项目代码发包一个apk,以后修改了就run项目apk,可以看下studio的日志
  • 小张呵呵:确实有提升,谢谢
    请叫我四爷:我试了下,没什么用。还是那么长时间。
    2远: @大鹏2022 谢谢,新版的instant run就是这个原理,不过用的是多apk模式,和多dex一个意思,也是把依赖分别发包成apk,项目代码发包一个apk,以后修改了就run项目apk,可以看下studio的日志
    typ0520:试试这个 https://github.com/typ0520/fastdex
  • 张光光:4s。。。。厉害了!!
  • 大侠咕咚:关键在于思路,很棒的指导
  • linheimx:谢谢,速度飞升!
  • hongjay:lint任务取消后快了30%,其他的没有啥效果,就想问问lint可以取消么
  • e33fc662e094:等我回去试试…
  • 78983551cc90:我发现这样写后, as在编译时不会更新代码. 具体哪一句出问题我也不知道, 我猜测可能是clean.
    78983551cc90:@祥哥说事 确定是clean? 我最近有点怕这个bug了
    2远:good,把clean那行干掉!
  • leonck:真的快了好多
  • 福神的天空:博主在?我把测试和ndk都给关掉了。确实编译快了。很多,但是在改变app的启动activity时。不论clean还是rebuild都不起作用啊~ 还是按照原来的启动activity启动是咋回事?
    2远:good,把clean那行干掉!
  • 7485ddd37aaa:不错哦, 我的8秒
  • sendtion:请问这个添加在项目gradle里面还是app gradle里面呢?
    sendtion:@祥哥说事 每个模块都要加?那为什么不加在项目gradle里面呢
    2远:@sendtion 每个模块的build.gradle
  • 78983551cc90:速度的确有提升, 非常不错, 感觉我的生命被续了
    78983551cc90:说实话as2.3以后就失效了

本文标题:编译时间从33.8秒降到4.5秒我只多做了一件事

本文链接:https://www.haomeiwen.com/subject/azdfittx.html