首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >android发布apk大于debug apk

android发布apk大于debug apk
EN

Stack Overflow用户
提问于 2016-09-22 18:09:01
回答 2查看 3.2K关注 0票数 11

我正在使用proguard来减小我的apk大小。调试apk从90mb减少到55mb,但签名的apk是71mb。下面是我的build.gradle代码:

代码语言:javascript
复制
apply plugin: 'com.android.application'

android {

signingConfigs {
    XXXX {
        keyAlias 'xxxx'
        keyPassword 'xxxx'
        storeFile file('/Users/xxxx.jks')
        storePassword 'xxxxxx'
    }
}
compileSdkVersion 23
buildToolsVersion "24.0.2"
defaultConfig {
    applicationId "com.xxxx"
    minSdkVersion 14
    targetSdkVersion 22
    versionCode 61
    versionName "4.1.8.1"
    multiDexEnabled true
    signingConfig signingConfigs.XXXX

    ndk {
        abiFilters "armeabi", "armeabi-v7a", "x86", "mips"
    }
}

buildTypes {
    release {
        minifyEnabled true
        shrinkResources true
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        signingConfig signingConfigs.XXXX
    }
    debug {
        minifyEnabled true
        shrinkResources true
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        signingConfig signingConfigs.XXXX
    }
}
productFlavors {
}

dexOptions {
    javaMaxHeapSize "4g"
}

packagingOptions {
    exclude 'META-INF/LICENSE.txt'
}
}

代码语言:javascript
复制
repositories {
    mavenLocal()
    maven {
        name "jcenter"
        url "http://jcenter.bintray.com/"
    }
    }

    dependencies {
        ...
    }

EN

回答 2

Stack Overflow用户

发布于 2017-07-25 00:38:32

进一步解释sosite's answer,似乎只有在比较通过运行或调试为特定设备构建的debug apk (即使没有启用即时运行)而不是通过Build > Build APK构建的debugapk (对于任何支持的设备)时,才会发生这种情况。

通过Build APK构建的任何变体(甚至是debug本身)都将包含该变体的所有资源。此外,运行/调试apk包括特定于单个设备的预解译类,而构建APK只包括一些通用的预解译类,编译器确定这些类对所有支持的设备都是安全的-完整的dexing仅在安装apk时发生在设备本身。

我已经压缩了一个通过Debug生成的apk和另一个通过Build APK生成的APK,用于相同项目的相同变体和用于演示的published the simplified output (also available as html)。

票数 2
EN

Stack Overflow用户

发布于 2017-05-21 00:23:33

当您在本地为特定类型的手机构建应用程序时,Android Studio只附加必要的资源文件。当你构建发布版本时,你已经附加了所有类型的绘图文件,所以你的应用程序文件大小可能会急剧增加。

我建议你在尽可能多的地方使用jpg来代替png,当然也要压缩它们--我经常使用tinyPNG网站或者只使用Photoshop ;)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39636182

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档