簡體   English   中英

android發布apk比調試apk大

[英]android release apk bigger than debug apk

我正在使用 proguard 來減小我的 apk 大小。 調試 apk 從 90mb 減少到 55mb,但簽名 apk 是 71mb。 這是我的 build.gradle 代碼:

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'
}
}

repositories {
    mavenLocal()
    maven {
        name "jcenter"
        url "http://jcenter.bintray.com/"
    }
    }

    dependencies {
        ...
    }

在此處輸入圖片說明

在此處輸入圖片說明

進一步解釋sosite 的答案,似乎只有在比較通過 Run 或 Debug 構建的debug apk 用於特定設備(即使沒有啟用 Instant Run)而不是通過 Build > Build APK 構建的debug apk(對於任何受支持的設備)時,才會發生這種情況.

通過Build APK 構建的任何變體(甚至debug本身)都將包含該變體的所有資源。 此外,運行/調試apk 包含特定於該單個設備的預索引類,而構建 APK僅包含編譯器確定對所有支持的設備安全的一些通用預索引類 - 完整的索引僅發生在設備本身中,安裝apk時。

我已經將通過Debug生成的 apk 與另一個通過Build APK用於同一項目的相同變體進行了 zipdiff 壓縮,並發布了用於演示的簡化輸出也可作為 html 提供)。

當您在本地為特定類型的手機構建應用程序時,Android Studio 僅附加必要的資源文件。 當您構建發布版本時,您已經附加了所有類型的可繪制對象,因此您的應用程序文件大小會急劇增加。

我建議你在盡可能多的地方使用 jpg 代替 png,當然還要壓縮它們——我經常使用tinyPNG網站或只是 Photoshop ;)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM