android - 如何减少 android studio 中的 Apk (.apk) 大小

标签 android apk

当我运行我的应用程序时,apk 的大小将为 21 MB。即使我启用了proguard。我使用 android studio 来运行项目。在项目文件中,src 文件夹大小为 8.62 MB,lib 文件夹大小为 400 KB。那么我如何减小 .apk 文件的大小。 实际上 .apk 文件在几天前是 8 mb,具有相同的图像,但在 paypal 集成后,我的应用程序大小将增加到 21 mb。 构建文件夹的大小为 127 MB。

build.gradle(module app) 是:

apply plugin: 'com.android.application'

android {
    compileSdkVersion 23
    buildToolsVersion "23.0.2"
    useLibrary 'org.apache.http.legacy'
    defaultConfig {
        applicationId "com.oi.food"
        minSdkVersion 16
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled true
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }

    packagingOptions{
        exclude 'AndroidManifest.xml'
    } }

dependencies {
    compile fileTree(include: ['*.jar'], dir: 'libs')
    testCompile 'junit:junit:4.12'
    compile 'com.android.support:appcompat-v7:23.1.1'
    compile files('libs/httpmime-4.1.1.jar')
    compile files('libs/apache-mime4j-0.6.jar')
    compile 'com.squareup.picasso:picasso:2.3.2'
    compile 'com.android.support:design:23.1.1'
    compile 'com.android.support:recyclerview-v7:23.1.1'
    compile 'com.paypal.sdk:paypal-android-sdk:2.14.1' }

最佳答案

我通过在模块应用程序 build.gradle 文件中添加这段代码来解决这个问题。

 android {
        packagingOptions{
            exclude 'AndroidManifest.xml'
            exclude 'lib/arm64-v8a/libcardioDecider.so'
            exclude 'lib/arm64-v8a/libcardioRecognizer.so'
            exclude 'lib/arm64-v8a/libcardioRecognizer_tegra2.so'
            exclude 'lib/arm64-v8a/libopencv_core.so'
            exclude 'lib/arm64-v8a/libopencv_imgproc.so'
            exclude 'lib/armeabi/libcardioDecider.so'
            exclude 'lib/armeabi-v7a/libcardioDecider.so'
            exclude 'lib/armeabi-v7a/libcardioRecognizer.so'
            exclude 'lib/armeabi-v7a/libcardioRecognizer_tegra2.so'
            exclude 'lib/armeabi-v7a/libopencv_core.so'
            exclude 'lib/armeabi-v7a/libopencv_imgproc.so'
            exclude 'lib/mips/libcardioDecider.so'
            exclude 'lib/x86/libcardioDecider.so'
            exclude 'lib/x86/libcardioRecognizer.so'
            exclude 'lib/x86/libcardioRecognizer_tegra2.so'
            exclude 'lib/x86/libopencv_core.so'
            exclude 'lib/x86/libopencv_imgproc.so'
            exclude 'lib/x86_64/libcardioDecider.so'
            exclude 'lib/x86_64/libcardioRecognizer.so'
            exclude 'lib/x86_64/libcardioRecognizer_tegra2.so'
            exclude 'lib/x86_64/libopencv_core.so'
            exclude 'lib/x86_64/libopencv_imgproc.so'
        }
    }

           dependencies {
            compile fileTree(include: ['*.jar'], dir: 'libs')
            compile 'com.paypal.sdk:paypal-android-sdk:2.14.1'
        }

关于android - 如何减少 android studio 中的 Apk (.apk) 大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38887998/

相关文章:

android - 当文本较大且正在滚动时,不显示 TextView Shape 背景

java - Android Studio 无法找到显式 Activity 类

android - 在android中动态创建 Activity

android - 启动时自动更新旁加载 Android 应用程序

android - 如何在 Android 手机上签署 ".apk"文件?

java - List<Trail> 无法转换为 Context

android - 找不到 Windows.h,为什么?

android - IntelliJ 是否将 "test file"与 APK 中的应用程序一起打包

android - 如何在已获得 Google Maps API key 后更改我的包名称?

android - 无法实例化 Activity ComponentInfo{...} : java. lang.InstantiationException