如何在 android studio 中减小 Apk (.apk) 大小

2023-12-11

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

build.gradle(模块应用程序)是:

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'
        }
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 android studio 中减小 Apk (.apk) 大小 的相关文章

  • 如何做Android - 滑动抽屉从左到右滑动..?

    如何将android滑动抽屉从LTR滑动 使用时android orientation horizontal 它从 RTL 滑出 我该如何进行 LTR 谢谢 我找到了答案表格 Here http blog sephiroth it 2011
  • Cheesesquare:enterAlways 会产生错误的布局

    Adding enterAlways到 Cheesesquare 演示的滚动标志
  • Xamarin Android Webview Javascript

    我正在尝试通过 Xamarin for Android 创建一个移动应用程序 它有一个显示网站的 WebView 问题是正常按钮会触发 但 javascript 事件不会触发 我已经启用了 Javascript 但没有运气 如何在 Andr
  • 如何在android中显示保存在sdcard文件夹中的图像[关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 help reopen questions 当我正在显
  • 按下按钮时应用不同的样式

    有没有办法在按下按钮时将样式应用于按钮 如果我有一种风格样式 xml
  • fetchUuidsWithSdp 的奇怪 UUID 逆转

    我有一个在树莓派上运行的 python 蓝牙服务器 使用 PyBluez 我在服务器中使用的uuid是 8f86d132 4ab8 4c15 b8df 0b70cf10ea56 我正在打电话device fetchUuidsWithSdp
  • Recyclerview 动态部分不使用任何第三个库

    我想将标头添加到 recyclerview 我正在尝试使用来实现它 Override public int getItemViewType int position depends on your problem if position 0
  • 如何使用 Google Maps for Android V2 处理地图移动结束?

    我想在地图中心更改后立即对地址进行地理编码 如何使用新的 Android 版 Google 地图 V2 处理地图移动 我说的是用户用手指拖动地图的情况 查看新的地图 API Override public void onMapReady G
  • Android WebView里面的ScrollView只滚动scrollview

    在我的应用程序中 我有一个 ScrollView 其中包含一些线性视图 一些文本视图和一个 Webview 然后是其他线性布局等 问题是 WebView 不滚动 Scroll 仅侦听 ScrollView 有什么建议么
  • Android Eclipse 上的 Web 服务

    我是 android eclipse java 的新手 事实上这个论坛也是如此 有人遇到过这种情况吗 从用户那里获取输入并通过使用 android eclipse 中的 Web 服务来显示适当的结果 有可用的示例吗 非常感谢 我正在发布教程
  • 使用片段时应用程序崩溃

    我正在处理碎片和 我的代码中有一个我找不到的问题 logcat 指向我的一个片段中的这段代码 Override public View onCreateView LayoutInflater inflater ViewGroup conta
  • 使用 AsyncTask 传递值

    我一直在努力解决这个问题 但我已经到了不知道该怎么办的地步 我想做的是使用一个类下载文件并将其解析为字符串 然后将该字符串发送到另一个类来解析 JSON 内容 所有部件都可以单独工作 并且我已经单独测试了所有部件 我只是不知道如何将值发送到
  • Android 2.3 模拟器在更新位置时崩溃

    我正在使用 Eclipse 编写和调试 Android 应用程序 我需要做的事情之一是更新设备的位置 因此我尝试使用模拟器控制窗口中的位置控制面板 在 手动 选项卡上 我选择 十进制 输入有效的纬度和经度 然后单击 发送 不幸的是 接下来发
  • 如何在 Android 中从 WorkManager 取消工作?

    我已经保存了 WorkManagerUUID转换成String在领域数据库中 这是代码 Constraints constraints new Constraints Builder setRequiredNetworkType Netwo
  • Android - 以编程方式选择菜单选项

    有没有办法以编程方式选择菜单选项 基本上 我希望视图中的按钮能够执行与按特定菜单选项相同的操作 我正在考虑尝试调用 onOptionsItemSelected MenuItem item 但我不知道要为菜单项添加什么 是的 有一种方法可以选
  • 插件“Android Bundle Support”不兼容

    大家好 自从上次更新以来 当我启动 android studio 时 我遇到了一个非常奇怪的错误 我有这个错误 插件错误 插件 Android Bundle Support 不兼容 直到构建 AI 195 SNAPSHOT 我在网上找不到任
  • CamcorderProfile.videoCodec 返回错误值

    根据docs https developer android com reference android media CamcorderProfile html 您可以使用CamcorderProfile获取设备默认视频编解码格式 然后将其
  • Dagger 2 中“HasFragmentInjector”的实际用法是什么

    我之前已经实现了 dagger2 v2 2 但现在他们也添加了 dagger android 部分 所以我正在用它创建示例项目 我知道旧的方法论 Provide and Modules and 成分等注释 但从 Dagger 2 8 开始
  • Android 屏幕方向错误

    我使用的是 Android HTC HERO 2 1 版本 我写的活动
  • 有没有任何代码可以在android中设置壁纸而无需裁剪和缩放?

    我正在创建一个画廊应用程序 我的第一个应用程序 这是我的代码 Bitmap bmd BitmapFactory decodeStream is try getApplicationContext setWallpaper bmd catch

随机推荐

  • 如何从powershell授予私钥权限

    我正在尝试找到一种从 powershell 脚本授予私钥权限的方法 证书存储在 CNG 中 欢迎所有想法 上面的答案在技术上是正确的 但是当我寻找相同的东西时它对我没有帮助 因为它没有提到您需要使用从 codeplex 上的 CLRSecu
  • 如何对记录数组中的字段进行分组?

    我有以下架构 姓名 StringType 成绩 ArrayType 结构类型 StructField subject grades ArrayType StructType StructField 主题 StringType 假 Struc
  • 对象的自定义类和文件所有者的自定义类之间的混淆差异以及通过 IB 的步骤

    这是另一个 我很困惑的问题 所以我正在努力将自定义视图引入视图控制器 我将概述错误的具体步骤 创建单一视图应用程序项目 通过文件 gt 新建 gt 用户界面 gt 查看创建 Nib 文件 称之为NIB xib 添加一个简单的标签以确保加载
  • 如何要求html5表单中的单选按钮选择

    html 5 表单包含两个单选按钮 如何强制用户在提交表单之前选择一个单选按钮 我尝试使用必需的 但没有单选按钮组 必需的应该应用于组
  • 在 sh 中初始化数组

    我想在 sh 中初始化一个数组 在 bash 中 这将是 list seq 1 4 在 sh 我尝试这样做 for i in seq 1 4 do list i 1 i done 但每次迭代我都会收到一个错误 list 0 1 not fo
  • iOS 5.1 中的 ARC 和 Storyboard 无法释放内存

    我正在为我的应用程序的内存问题而苦恼 该应用程序工作正常 只是一旦遇到内存不足警告就会崩溃 并且在使用 10 到 20 分钟时会非常非常非常滞后 编辑 如何弹出视图控制器 introvideo gt welcomeview tutorial
  • 以编程方式禁用整个 Android 应用程序中的屏幕旋转

    如何以编程方式禁用整个 Android 应用程序的屏幕旋转 就像无论设备以哪种方式倾斜都保持纵向或横向 您需要将其添加到您要限制的活动内的清单中 android screenOrientation portrait Or landscape
  • canvas.toDataURL() 安全错误 操作不安全

    当我尝试在将视频上传到服务器之前获取屏幕截图并将其保存为 PNG 时 遇到以下问题 我希望你能解决我的问题 Output image show view file browse change function e getVideo this
  • 为 EditorFor 订购实体框架子项

    我见过在 Linq to Entities 查询中对有序项目内的子项目进行排序这表明无法让存储库以特定顺序返回实体图中的子项 如果这是正确的 那么关于如何在 EditorFor 中订购项目有什么想法吗 i e This works but
  • “java -server”和“java -client”之间的真正区别?

    java server 和 java client 之间有什么真正的实际区别吗 我在 Sun 的网站上所能找到的只是一个模糊的信息 服务器启动速度较慢 但 应该运行得更快 真正的区别是什么 当前使用JDK 1 6 0 07 这确实与HotS
  • SSLEngine unwrap() javax.crypto.BadPaddingException:错误记录 MAC

    这几天来这已经让我发疯了 我使用 java nio 创建了一个客户端 并使用 SSLEngine 进行 ssl 加密 握手工作正常 我向网站写入 GET 请求 它工作正常 我得到包含 200 代码的标头 问题是 当网站发回数据包时 在第二个
  • 使用ffmpeg安装Open-CV时出错

    我正在尝试安装在 Ubuntu 11 04 上运行的 Open CV 库 我遵循了中找到的所有说明安装指南 然而安装成功后我发现我没有FFMPEG支持 因为在我的配置文件中FFMPEG被禁用 Video I O DC1394 1 x NO
  • 将 CV_16SC2 Mat 保存到文件 OpenCV

    我想将 CV 16SC2 矩阵保存到文件中 它是 initUn DistorifyMap 的结果 我需要它的二进制形式 后来我想从文件中读取它 最好的方法是什么 YAML XML 由于需要空间而不好 如果您不想使用提供的方式XML YAML
  • 使用 cypher 获取具有不同值的最大记录

    我有一个使用空间插件的空间数据图表 该图具有 威胁区域 多边形 它们可以位于另一个区域之上 因此它们也具有 z index 属性 每个 威胁区域 附属于1到N个威胁场景 有时多个 威胁区域 附属于同一个威胁场景 具有不同的属性 我正在尝试根
  • 准备语句 setNull(..)

    JavaPreparedStatement 提供了显式设置 Null 值的可能性 这种可能性是 prepStmt setNull parameterIndex Types VARCHAR 此调用的语义与使用带有 null 参数的特定 set
  • 如何在运行时检索已加载程序集的信息? (c#、.NET)

    在 NET c 3 5 中 我有一个引用多个程序集 X Y Z 的控制台应用程序 A 如何在运行时获取加载的程序集的版本信息 我可以使用反射来获取当前正在执行的程序集的信息 如下所示 System Reflection Assembly G
  • 下载并解压缩 .zip 文件而不写入磁盘

    我已经成功地让我的第一个 python 脚本正常工作 该脚本从 URL 下载 ZIP 文件列表 然后继续提取 ZIP 文件并将它们写入磁盘 我现在不知如何实现下一步 我的主要目标是下载并解压 zip 文件并通过 TCP 流传递内容 CSV
  • C# 内存配置文件

    我正在尝试对积累大量内存的应用程序执行一些内存分析 我找到了这个工具 CLRProfiler http msdn microsoft com en us library ff650691 aspx 但它似乎不起作用 当我运行它时 它永远处于
  • 如何从字符串值创建日期对象

    当运行下面的代码时 我得到一个UNPARSABLE DATE EXCEPTION 我该如何解决 package dateWork import java text DateFormat import java text ParseExcep
  • 如何在 android studio 中减小 Apk (.apk) 大小

    当我运行我的应用程序时 apk 大小将为 21 MB 即使我启用了混淆器 我使用 android studio 来运行项目 在项目文件中 src 文件夹大小为 8 62 MB lib 文件夹大小为 400 KB 那么我如何减小 apk 文件