Socket 打包混淆

news/2024/5/17 19:19:08 标签: Android, Java, TCP

1. Android SDK自带了混淆工具Proguard

       它位于SDK根目录\tools\proguard下面。 ProGuard是一个免费的Java类文件收缩,优化,混淆和预校验器。它可以检测并删除未使用的类,字段,方法和属性。它可以优化字节码,并删除未使用的指令。它可以将类、字段和方法使用短无意义的名称进行重命名。最后,预校验的Java6或针对Java MicroEdition的所述处理后的码。
      如果开启了混淆,Proguard默认情况下会对所有代码,包括第三方包都进行混淆,可是有些代码或者第三方包是不能混淆的,这就需要我们手动编写混淆规则来保持不能被混淆的部分。
      项目中如果含有多个module时,在主app中设置了混淆其他module都会混淆。

2. 在 App module build.gradle 中配置

android {
    buildTypes {
        release {
           //shrinkResources true    // 移除未被使用的资源
            minifyEnabled true      // 开启代码混淆
            zipAlignEnabled true    // 开启Zip压缩优化
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
        debug {
            minifyEnabled false      // 开启代码混淆
            zipAlignEnabled false    // 开启Zip压缩优化
            //shrinkResources fa

http://www.niftyadmin.cn/n/202156.html

相关文章

适用的开源框架

springbootvue2 1.eladmin: eladmin: 项目基于 Spring Boot 2.1.0 、 Jpa、 Spring Security、redis、Vue的前后端分离的后台管理系统,有问题可以在 Github 上面提 Issues,或者加群反馈!! eladmin-web: eladmin前端源码&#x…

项目1新知识

1.dict() 创建一个字典{} 2."tiny" in model_arch字符串是否在字符串中 3.img_size416 yolo3的数据集处理也是一大亮点,由于yolo3对数据集的输入有要求,指定的照片输入大小必须是416,所有对于不满足照片的大小有一系列的操作&am…

HTML5 <em> <strong> <dfn> <code> <samp> <kbd> <var> <cite> 标签

定义和用法 以下元素都是短语元素。并不反对使用它们&#xff0c;但是通过使用样式表&#xff0c;可能取得更丰富的效果。 <em>呈现为被强调的文本。<strong>定义重要的文本。<dfn>定义一个定义项目。<code>定义计算机代码文本。<samp>定义样本…

Vue.js 2.0 表单控件绑定

基础用法 你可以用 ​v-model​ 指令在表单​ <input>​、​<textarea>​ 及 ​<select>​ 元素上创建双向数据绑定。它会根据控件类型自动选取正确的方法来更新元素。尽管有些神奇&#xff0c;但 ​v-model ​本质上不过是语法糖。它负责监听用户的输入事件…

Caused by: java.lang.ClassNotFoundException: com.xxx.xxx

近日&#xff0c;IDEA启动JavaWeb项目&#xff0c;报错&#xff1a;Caused by: java.lang.ClassNotFoundException: com.xxx.xxx&#xff1b; 同样的代码&#xff0c;同事可以成功启动&#xff0c;而我的启动报错&#xff1b; 显然这不是代码逻辑层面的问题&#xff0c;大概率…

【学习笔记】CF1292F Nora‘s Toy Boxes

没啥好说的&#xff0c;接着干吧 这种把性质隐藏得很深的题目非常有趣。 以我现在的水平&#xff0c;估计还是无法独立做出来 首先我们对于(i,j)(i,j)(i,j)如果满足ai∣aja_i|a_jai​∣aj​&#xff0c;那么iii向jjj连一条边。 当然&#xff0c;这道题并不是随便给出一个图…

LLVM学习笔记CommandLine

LLVM学习笔记----CommandLine cl::opt 类cl::opt是用来表示标量命令行选项的类&#xff0c;也是最常使用的类。它是一个模板类&#xff0c;最多可以接受三个参数&#xff08;除了第一个参数外&#xff0c;所有参数都有默认值&#xff09;&#xff1a; namespace cl {templat…

体验 epinio

体验 epinioepinio 概述官网地址安装 Epinio CLI安装 Epinio配置 /etc/hosts访问 Epinio使用 Epinio 发布示例应用到 Kubernetes访问示例应用访问 Epinio 控制台通过 Epinio 控制台部署示例应用访问 Epinio 控制台部署部署 Epinio Catalog 里面自带的 Service清除epinio 概述 …