Android Gradle优化的正确姿势 编译优化 APK优化

本文详细介绍了Android Gradle的优化,包括包大小优化和编译速度提升策略。针对包大小,提出了去除不必要资源、转换图片为WebP格式和调整ndk包等方法;在编译速度方面,提到了开启并行编译、配置Dex选项、优化内存设置以及使用静态版本依赖等技巧。此外,还分享了构建分析和版本升级的建议,以进一步提高开发效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目前Android开发主流的编译工具是Gradle,虽然后最快的编译工具并不是它,但它的优势就是它是亲儿子。它与Android Studio的关系非常密切,很多配置都是默认配置好的,开发起来极其方便。但是编译速度相对较慢。

了解Gradle的编译原理,学习如何优化Gradle对开发效率的提高尤为重要。

Gradle的优化,主要分为两大方面:

1、包大小优化;

2、编译速度优化。

Gradle目录(如已了解,跳过看优化)

首先,我们来了解一下Gradle的基础目录结构。

 setting.gradle:定义了需要加入编译的依赖module,Android Studio里面一般都是默认生成的。如:

include ':app', ':lib_iflytek', ':BlueMoonSDK'

外层build.gradle:全局的配置文件,一般配置maven下载地址,gradle的版本配置等。我们一般不会在这里面操作太多共有的东西,保证每个module的独立性。repositories就是代码仓库,Gradle 支持三种类型的仓库:Maven,Ivy和一些静态文件或者文件夹。如:

buildscript {
    repositories {
        jcenter()
        google()//3.0+版本默认加上的
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.1.3'
    }
}

allprojects {
    repositories {
        jcenter()
        google()
        maven {
            url "https://jitpack.io"//这里是配置maven的下载地址
        }
    }
}

 gradle-wrapper.properties:这里配置gradle的包版本,主要跟外层build.gradle的calsspath配置的版本对应。3.1.3对应的是4.4。wrapper 有版本区分,但是并不需要你手动去下载,当你运行脚本的时候,如果本地没有会自动下载对应版本文件。如:

distributionUrl=https\://services.gradle.org/distributions/gradle-4.4-all.zip

内层build.gradle:每个module单独的配置文件。如果这里的定义的选项和外层build.gradle定义的相同,后者会被覆盖。大部分关于Android的配置都是在这里完成。具体还是直接根据代码来分析吧。以app目录下的build.gradle为例。

apply plugin: 'com.android.application'

android {
    compileSdkVersion 23
    buildToolsVersion '23.0.3'

    signingConfigs {
        release {
            storeFile file('./Json20170206.keystore')
            storePassword "storePassword"
            keyAlias "keyAlias"
            keyPassword "keyPassword"
        }
    }

    defaultConfig {
        applicationId "cn.com.json.toall"
        minSdkVersion 16
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"

        /*个推*/
        manifestPlaceholders = [
                GETUI_APP_ID    : "GETUI_APP_ID",
        ]
        ndk {
            abiFilters "armeabi", "armeabi-v7a", "arm64-v8a", "mips", "mips64", "x86", "x86_64"
        }
        multiDexEnabled true
    }
    buildTypes {
        release {
            minifyEnabled false
         
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值