首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在10分钟内让Android应用大小减少 60%?

四、资源文件 我们可以通过Lint工具找到没有使用的资源(在Android Studio的“Analyze”菜单中选择“Inspect Code…”) 五、把现有图片转换为webP 我们可以通过 智图...proguard中一共有三组六个keep关键字的含义 keep 保留类和类中的成员,防止它们被混淆或移除。 keepnames 保留类和类中的成员,防止它们被混淆,但当成员没有被引用时会被移除。...keepclassmembers 只保留类中的成员,防止它们被混淆或移除。 keepclassmembernames 只保留类中的成员,防止它们被混淆,但当成员没有被引用时会被移除。...keepclasseswithmembers 保留类和类中的成员,防止它们被混淆或移除,前提是指名的类中的成员必须存在,如果不存在则还是会混淆。...keepclasseswithmembernames 保留类和类中的成员,防止它们被混淆,但当成员没有被引用时会被移除,前提是指名的类中的成员必须存在,如果不存在则还是会混淆。

86420

如何在10分钟内让Android应用大小减少 60%?

四、资源文件 我们可以通过Lint工具找到没有使用的资源(在Android Studio的“Analyze”菜单中选择“Inspect Code…”) 五、把现有图片转换为webP 我们可以通过 智图...proguard中一共有三组六个keep关键字的含义 keep 保留类和类中的成员,防止它们被混淆或移除。 keepnames 保留类和类中的成员,防止它们被混淆,但当成员没有被引用时会被移除。...keepclassmembers 只保留类中的成员,防止它们被混淆或移除。 keepclassmembernames 只保留类中的成员,防止它们被混淆,但当成员没有被引用时会被移除。...keepclasseswithmembers 保留类和类中的成员,防止它们被混淆或移除,前提是指名的类中的成员必须存在,如果不存在则还是会混淆。...keepclasseswithmembernames 保留类和类中的成员,防止它们被混淆,但当成员没有被引用时会被移除,前提是指名的类中的成员必须存在,如果不存在则还是会混淆。

1.6K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Android Studio 学习笔记

    项目结构 在Anroid Studio 中,一个Project 包括多个Module,每个Module下包含的Manifest.xml也是起效的(以前在Eclipse下不起效) Eclipse 里的 library...而在Android Studio 中,我们仍然可以 debug模式启动来调试。...我们配置 debug配置下的为 debug key store,不启动混淆   2. 配置release配置为发布的key,启动混淆 如何配置degbug key 呢?...如何将上一步的key的配置关联到打包方式上呢? 继续上一步的位置,选择"Build types",选择 signing config,在下拉框里找到上一步配置的name ,即建立关联了。...即切换了打包的模式。 我打包输出的apk在哪里? 在你的项目(module )的根文件夹下的 build 下的 outputs 下的apk 下。即 /build/outputs/apk下。

    74000

    混淆技术 发布于 2023年05月30

    引言 混淆是一种通过修改程序的源代码或二进制代码,在保障程序的功能不变的基础上,使得代码难以阅读和理解的技术。在Java中,混淆通常用于防止对源代码的逆向工程,从而保护知识产权和商业秘密。...混淆表 混淆技术还是比较容易理解和接受的,混淆通常是将代码中的类名、方法名、变量名等更改为不易理解的字符序列,在这个过程中,混淆表被用作一个映射,指示如何将原始名称转换为混淆后的名称。...在各个版本的Minecraft中,混淆都被用来使得游戏的源代码难以理解,从而防止不合法的修改和复制: 然而,尽管Minecraft的开发者使用混淆来保护他们的代码,但还是有一些开发者成功地反混淆了Minecraft...DexGuard:这是由ProGuard的开发者创建的一个商业混淆工具,专门针对Android应用进行优化。...与ProGuard相比,DexGuard提供了更强大和多样的混淆选项,包括字符串加密、类加密、资源混淆等。 R8:这是Google开发的一个新的混淆工具,目标是取代ProGuard。

    45030

    Android插件化基础3----Android的编译打包流程详解

    只有一个ID 如何能引用到实际资源?...(二)、ProGurad的使用 现在大多数开发者都是用了Android Studio,只有很少的一部分才使用Eclipse,所以我两部分都说下 1、Android Studio中如何开启混淆 在build.gradle...(五)、ProGuard的基本命令 1、关键字: keep关键字 keep:保留类和类中的成员,防止他们被混淆 keepnames:保留类和类中的成员防止被混淆,但成员如果没有被引用将被删除 keepclassmember...:只保留类中的成员,防止被混淆和移除 keepclassmembernames:值保留类中的成员,但是如果成员没有被引用将被删除 keepclasseswithmember:如果当前类中包含指定的方法,...(六)、ProGuard的混淆的注意事项 在使用ProGuard过程中,还有一些注意事项如下: 1、如何确保混淆不会对项目产生影响 测试工作要基于混淆进行,才能尽早发现问题,开发团队的冒烟测试,也是要基于混淆包

    2.1K22

    安卓入门(八)

    今天讲讲安卓入门(八),讲讲Android的简介,如何搭建Android开发环境,Android应用开发基本流程,程序调试。...应用框架层是用Java写的,有事件管理器,windows管理器,内容提供,查看系统 ,消息管理器,安装包管理,电话管理,资源管理,地点管理等等;Libraries(库文件)里面是什么?...最初安卓是在Eclipse上开发的,但是现在都在Eclipse上了,现在Eclipse只是做练习用的,看到有人说如何用Eclipse搭建,我之前搭建过一次,后来觉得Android studio这款比较牛逼...,当时搭建完Eclipse时,觉得虚拟机不酷,没Android studio的酷哦!...然后我又把Eclipse配置好的删了,之后就搭建不上了,查了结果说已经不推荐了,是看博客的哦 SDK 对于SDK,是。。。 看到图了吧,你懂的,可以试试,对于SDK中我们了解一下吧!

    58320

    Android-Proguard(混淆)

    以我们的常用开发工具andorid studio 为例,Android Studio自身集成Java语言的ProGuard作为压缩,优化,混淆和预校验,并配合Gradle工具进行构建,我们只需要在工程应用目录的...刚才是开启混淆,那我们如何关闭,比如关闭压缩,关闭优化呢? ?...preverify: 预校验代码是否符合Java1.6或者更高的规范.     除了proguard之外,还有一个DexGuard,是专门用来优化混淆Android应用的。...它包括资源混淆,字符串加密,类加密和dex文件分割等。它是在android编译的时候直接产生Dalvik字节码.......     ...自定义的View默认也不会被混淆;所以像网上贴的很多排除自定义View,或四大组件被混淆的规则在Android Studio中是无需加入的; 4,与服务端交互时,使用GSON、fastjson等框架解析服务端数据时

    1.4K40

    强化您的应用安全,从app加固开始

    强化您的应用安全,从app加固开始 摘要 应用程序加固是保护移动应用免受攻击的关键步骤。本文将介绍十大最佳实践,涵盖数据加密、代码混淆、防止反编译等关键技术,以及持续更新和维护的重要性。...因此,采取有效的措施来加固应用程序,保护用户数据和知识产权变得至关重要。在本文中,我们将深入探讨如何通过app加固来提升应用程序的安全性,以及如何应对潜在的安全威胁。 1....代码混淆 通过混淆代码,可以使攻击者难以理解和修改应用程序,从而提高应用程序的安全性。工具如Ipa Guard和DexGuard可帮助实现代码混淆,加大攻击者的难度。 3....防止反编译 Ipa Guard是一款功能强大的ipa混淆工具,可以直接对ipa文件进行混淆加密,增加破解反编译的难度,保护应用程序的安全性。 ​ 4....权限控制 严格控制应用程序的权限,采用基于角色的访问控制(RBAC)和最小权限原则,以防止未经授权的访问和数据泄露。 7.

    31450

    Android 开发的17个建议,紧跟Google官方,进阶必看!

    和 DexGuard混淆来项目 Android SDK 将你的Android SDK放在你的home目录或其他应用程序无关的位置。...不用于资源文件路径需要为系统构建起的有意义,在res/values目录下的文件可以任意命名。...因此尽量保持你的视图tree:学习如何使用RelativeLayout, 如何 optimize 你的布局 和如何使用  标签. 小心关于WebViews的问题. ...,添加一个 keep选项在你的 proguard 配置文件中: -keep class com.futurice.project.MyClass { *; } 防止 ProGuard 混淆 一些类和成员...DexGuard 若果你需要核心工具来优化,和专门混淆的发布代码,考虑使用DexGuard, 一个商业软件,ProGuard 也是有他们团队开发的。

    60310

    强化您的应用安全,从app加固开始

    强化您的应用安全,从app加固开始 摘要 应用程序加固是保护移动应用免受攻击的关键步骤。本文将介绍十大最佳实践,涵盖数据加密、代码混淆、防止反编译等关键技术,以及持续更新和维护的重要性。...因此,采取有效的措施来加固应用程序,保护用户数据和知识产权变得至关重要。在本文中,我们将深入探讨如何通过app加固来提升应用程序的安全性,以及如何应对潜在的安全威胁。 1....代码混淆 通过混淆代码,可以使攻击者难以理解和修改应用程序,从而提高应用程序的安全性。工具如Ipa Guard和DexGuard可帮助实现代码混淆,加大攻击者的难度。 3....防止反编译 Ipa Guard是一款功能强大的ipa混淆工具,可以直接对ipa文件进行混淆加密,增加破解反编译的难度,保护应用程序的安全性。 ​ 4....权限控制 严格控制应用程序的权限,采用基于角色的访问控制(RBAC)和最小权限原则,以防止未经授权的访问和数据泄露。 7.

    23720

    APK瘦身看这一篇文章就够了

    下面分别就每一个文件或者文件夹该如何减小其大小做介绍: classes.dex源码 代码混淆可以减小该文件的大小,因为混淆后的代码将较长的文件名、实例、变量、方法名等等做了简化,从而实现字节长度上的优化...,删掉无用的代码; resources.arsc 这个文件主要涉及到资源的ID这些,优化的空间不大,可以借助Android Studio→Inspect Code...删掉不必要的资源...ID; res资源文件夹 这是APK瘦身过程中优化的大头,一个APK里面最占用空间的就是多媒体资源,图片、音频、视频主要放在res和assets文件夹下: 通过Android Studio→Inspect...如果对图片压缩的质量不满意,可以考虑使用其它图片格式,比如不带alpha值的jpg图片、同等质量下文件更小的webP图片格式; 借助微信提供的资源文件混淆工具对资源文件做混淆,进一步压缩资源文件所占用的空间...Android应用增量更新开源项目 Android资源混淆工具 主流开源项目的混淆规则列表 字体资源文件压缩神器FontZip 统计APK文件中class、method、field、string数量 AndroidUn7zip

    93320

    优化| APK瘦身最佳实践

    APK瘦身也是anroid领域比较关注的技术之一,在开始对APK进行正式的减肥之前,我们先来了解一下APK包的构成,这样才好对症下药嘛。知己知彼方能百战不殆。 ?...Java代码 我们可以使用Proguard,在编译时对Java代码进行混淆,优化和压缩。...我们还可以通过配置 shrinkResources 来移除未使用的资源。不过,使用 shrinkResources 必须开启代码混淆。...在处理过程中,ProGuard 会移除未被使用的代码,但是不会移除资源。而开启 shrinkResources 后,Gradle就会移除资源了。...所以,根据你的需求,权衡利弊吧。 在 Android Studio 中,选定需要转换的图片,然后右键鼠标,即可在菜单底部看到 Convert to WebP 的选项了,然后就可以进行转换的操作。 ?

    99330

    Android 混淆那些事儿

    本文主要讲述了代码混淆和资源混淆的原理,Studio默认的混淆方案,混淆的参数,以及如何对Apk进行代码混淆(自定义混淆文件)和资源混淆(结合微信混淆和美团混淆两种方案),避免Apk被逆向。...未混淆代码的反编译操作非常简单,网上有很多教程, 也可以通过使用Android Studio自带的apk分析工具(Build—-Analyze APK)直接看到未混淆Apk的源代码和原始的资源文件。...Android Studio 默认的混淆方案及字段解读 开启混淆 参见google官方文档压缩代码和资源 要通过Proguard启动代码压缩,在build.gradle文件内相应的构建类型中添加minifyEnabled...: 上面讲述了如何进行代码混淆,再来讲讲如何对资源文件进行混淆。....jar test.apk 混淆过程中会输出log,混淆后会出现和apk同名的文件夹,里面包含了混淆后mapping的对应文件,新签名打包的apk和混淆后的资源文件目录。

    3.3K50

    AndroidUnity大乱斗-完整双方集成交互指南

    /3D物品(缩放旋转等) 互相消息通信(你叼我,我叼你) 自由切换Unity中的场景 动态加载手机SD卡3D资源,一次开发到处使用。...导出后的结构感觉好熟悉,就跟Android Studio的项目结构一样(PS:本来就是)打开Studio 以 moudle的形式导入android工程,第一次可能慢一些慢慢导,去喝杯茶。...,接着再往下面走就是熟悉的sdkVsersion了,保持和你的anroid项目一致。...动态资源 动态加载资源的问题,因篇幅有限,咱先只提供个思路,Unity支持读取android设备的存储文件,让他们处理即可,然后android发消息告诉他们地址即可 // 参数一是Unity中的物体名称...坑中带坑 为了愉快的装逼,最好还是看一看遇到的这些问题,能至少省几天时间。 1. 混淆问题,如果你开启了混淆,切记 切记,把混淆添加进入,这个大坑耽误我好久啊 2.

    1.3K20

    Android静态分析之初级篇(二)

    接着《Android静态分析之初级篇》来,这次来看看如何在反编译后的apk包中添加一个页面,类似植入广告~ 在app中进行广告植入,正常思路是:在app开始启动时增加一个广告的页面,代码里就是新建一个Activity...那么如何防止别人反编译我们的apk包呢?我们先使用代码混淆技术看看效果。 在build.gradle文件中可以看到设置代码混淆的参数,默认设置为false,我们修改为true再打包试试: ?...打包之后反编译,跟之前未开启混淆反编译的代码进行对比,直接去看smali文件夹,有明显的不同: ? ?...我们再按照之前未混淆时候的操作步骤对正常的代码混淆过的apk进行广告页的添加,看看能不能添加成功: 1、 将HackActivity.smali文件放入hellosmali文件夹,完成; 2、 将新添加的页面...Android Studio是怎么混淆的呢?

    86321

    Android设计应用图标不用愁---Asset Studio Integration来帮你

    你会问了:“我已经有了一个自己绘制好的图标了,那么我为什么还要再生成”?原因就是Anroid有不同的版本、不同的主题,这就意味着你会提供不同效果、不同颜色以及不同样式的图标。...对于ActionBar,Asset Studio向导会生成亮、暗两种不同Holo 主题的图标。...使用Asset Studio的一个优势就是在你点击完成按钮后,它可以直接在你当前的项目中生成你设计好的图标。...比如你正在基于Android2.0或者以上版本开发一个App,那么我们将不会生成不需要的老的样式的图标,也不需要名字为drawable-mdpi-v5的文件夹等等;生成的图标直接会被放进drawable-mdpi...文件夹里。

    1.1K50

    .net程序源代码如何避免被反编译

    许多开发人员仍然不知道可移植的可执行文件(PE)文件是可以被编译成可读的源代码。在学习如何防止或使反编译器难以对源代码进行反向编译之前,我们需要了解一些基本概念。 什么是可移植的可执行文件?...如我们在上面的截图中看到的,当我们打开EXE和Telerik JustDecompile,我们能够看到原始的源代码,这可能致使软件被盗版,最终会对你造成损失。 如何防止EXE和DLL被反编译?...保护EXE和DLL不被反编译到原始源代码的方法称为混淆。有很多付费和免费的软件可以提供混淆代码的功能,让.Net程序集代码变得模糊,不易理解。...Dotfucator是一个流行的混淆工具,这工具的社区版是免费的,并且包含在Visual Studio中。如果您有兴趣购买其他版本,请查看此比较。Dofuscator社区版的功能有限,专业版非常昂贵。...下载后,将zip解压到一个文件夹中,然后运行ConfuserEx.exe。 将您想要保护的EXE拖放到ConfuserEx中,或者您可以手动选择基础目录、输出目录并添加DDL或EXE。

    2.2K20

    9.5.3 Android Apk 反编译 & 9.5.4 Android Apk 加密

    Android studio通过签名生成的apk文件app-release.apk), 然后使用普通解压工具(如WinRAR、360解压等)直接解压app-release.apk,可以得到文件夹app-release...进入文件夹app-release,目录如下,可以看到许多相对于Android开发者很熟悉的东西,类似于Android开发的时候所使用的工作目录和对应的文件夹、文件等等, 像图中——用来放置代码、音像图片等各种资源的的...既然使用普通解压工具直接解压Apk文件是无法获得正常的应用程序,那么来看看如何使用正确的方法反编译应用程序。 首先请出三个重量级的工具,如下: ?...执行完毕后,可以得到对应的输出文件: ? 打开这个文件夹: ? 这时候打开res目录中的xml文件(如下图的AndroidManifest.xml): ?...在Android Studio中,打开app目录下的build.gradle文件: ?

    2.1K10
    领券