ProGuard基础语法和打包配置 这是对Android打包混淆所需配置所做的总结. ProGuard常用语法 下面列出一些常用的语法-libraryjars class_path 应用的依赖包,如android-support-v4-keep [,modifier,...] class_specification 不混淆某些类-keepclassmembers [,modifier,...]
1. 前言有时候我们开发的软件有不同的环境,开发阶段是开发环境,也就是我们这些研发人员平时使用的环境,大多数人开发还是在Windows下面吧,少数人连开发环境都需要在Linux或者Unix下进行,因为Java自身的跨平台性可能在哪个操作系统下开发差别不大,如果Java调用C/C++执行特定服务,就需要C/C++人员开发时最好和生产环境一样在Linux(而且版本一致)下进行研发,省得到时
一、概念
ProGuard是一款免费的Java类文件压缩器、优化器和混淆器。它能发现并删除无用类、字段(field)、方法和属性值(attribute)。它也能优化字节码并删除无用的指令。最后,它使用简单无意义的名字来重命名你的类名、字段名和方法名。经过以上操作的jar文件会变得更小,并很难进行逆向工程。这里提到了ProGuard的主要功能是压缩、优化和混淆,下面我就先介绍一下这些概念
转载
2014-04-08 10:27:00
237阅读
2评论
介绍大家可能都会碰到一些代码比较敏感的项目场景,这个时候代码被反编译看到就不好了,这个时候就需要代码混淆插件来对代码进行混淆了。基于Maven的项目一般会去考虑使用proguard-maven-plugin,但是这个插件仅支持打Jar包不支持打War包。于是我用空闲时间在proguard-maven-plugin的基础上修改了里面的一部分逻辑,可以在项目构建过的时候把代码混淆,支持打成jar包和w
博客上有过几篇 Maven 方面的文章,涉及到了几个零散的点。这篇 Chat 会专门介绍一个良好的企业级 Maven 依赖管理应该如何设计。内容包含私服配置,第三方依赖管理,公司内部依赖管理,项目结构对应的依赖管理。最后也想通过本篇 Chat 和大家交流一下 Maven 依赖管理方面的经验。由于本文涉及内容太多,不想在文章中包含太多基础的内容,但是对于了解不深的人来说,没有这些内容也
今天决定对项目使用混淆工具proguard。于是便开始找proguard究竟放在sdk的什么地方,果不其然,我在sdk目录的tools文件夹中找到了proguard的文件夹。配置方法这里简单的说明一下。打开要混淆的android项目,找到project.properties文件。后面添加上proguard.config=android.pro现在我来解释说明一下这句话,后面的android.pr
# Android ProGuard 使用教程
作为一名开发者,在构建 Android 应用时,保护代码的安全性和优化应用的性能是非常重要的。ProGuard 是 Android SDK 提供的一个工具,用于代码优化和代码混淆。本文将介绍如何使用 ProGuard,并指导您完成整个过程。
## 流程概述
步骤 | 描述
-----|------
1. 配置 ProGuard | 在项目的 `
没有Maven之前的日子个人的一个小感受,学习一个新技术,应该以历史的眼光开看待这个新技术出现的原因,以及帮我们解决了什么问题。我们来回忆一下没有Maven的日子是怎么样的?开发一个项目,需要用别人写好的jar包,我们先把开源的jar包下载下来放到项目的lib目录下,并把这个目录添加到CLASSPATH(告诉Java执行环境,在哪些目录下可以找到你要执行的Java程序需要的类或者包)我们
MavenMaven是什么?Maven 翻译为"专家"、“内行”,是 Apache 下的一个纯 Java 开发的开源项目。基于项目对象模型(缩写:POM)概念,Maven利用一个中央信息片断能管理一个项目的构建、报告和文档等步骤。Maven 是一个项目管理工具,可以对 Java 项目进行构建、依赖管理。Maven 也可被用于构建和管理各种项目,例如 C#,Ruby,Scala 和其他语言编写的项目
Maven WEB 项目使用ProGuard进行混淆,最佳解决方案近期公司的Android项目做了混淆,虽说对于保护代码并不是100%的,但混淆后的代码可以使那些不法份子难以阅读,这样也能对代码的保护做出贡献。 于是,公司写的一大堆WEB项目也想做保护。但几大问题随之而来:公司的所有项目全部是Maven项目,网上的混淆方案不是陈旧就是无效网上的大部分解决方案感觉像是对简单DEMO进行混淆
在上一篇我们介绍了如何在IDEA中使用MAVEN,以及如何创建依赖等。那么在这一篇中,我们就试图搭建一个生产级的解决方案,大家可以使用这个解决方案作为骨架代码来搭建自己的开发环境。在这里,我们要完成:创建parent,在parent里完成所有的pom依赖和定义;创建common项目,common作为工具包而存在,被其它module所依赖;创建dao,依赖common;创建service,依赖dao
maven-shade-plugin简介“This plugin provides the capability to package the artifact in an uber-jar, including its dependencies and to shade - i.e. rename - the packages of some of the dependencies.”,这句话简
maven程序集插件提供了一种描述符格式,允许您定义项目中文件和目录的任意程序集。例如,如果Maven项目包含目录“src/main/bin”,则可以指示程序集插件将此目录的内容复制到程序集的“bin”目录,并将“bin”目录中文件的权限更改为UNIX模式755。配置此行为的参数通过程序集描述符提供给程序集插件。目前,它可以创建以下格式的发行版:我们平时在开发过程中的项目目录结构是这样的:&nbs
本文主要ProGuard的作用、使用及bug分析。
1、ProGuard作用
ProGuard通过删除无用代码,将代码中类名、方法名、属性名用晦涩难懂的名称重命名从而达到代码混淆、压缩和优化的功能,跟JavaScript的混淆压缩类似。
转载
2023-07-31 15:07:04
148阅读
Proguard使用最新,最全教程,亲自试验
原创
2021-07-21 16:25:38
972阅读
使用方式//buildType下的任一个属性都可以
debug {
//开启混淆
minifyEnabled true
//指定混淆文件
proguardFiles 'proguard-rules.pro','proguard-extra.pro','proguard-self.pro'
转载
2023-07-24 23:48:00
108阅读
最近公司有一个项目,是外包项目,由于对方也有技术人员,出于技术上的保密,需要对class文件进行二次处理,于是网上找了好久,只发现Proguard是用的最广泛而且网上资料最多的。由于不是纯JAVA项目,而是WEB项目,涉及到大量的配置文件,所以用这个工具稍显吃力,于是开始研究这玩意,花了好长一段时间,重复试验了N次,终于整出来了,下面总结一下我的经验。。首先我介绍下我要混淆的项目框架是jfinal
转载
2021-07-27 10:28:55
7580阅读
Maven 下载在官网上下载Maven apache-maven-3.5.4或者我这里提供了下载包链接:https://pan.baidu.com/s/15eGHQ0e6zVag3Q-fxWmHWg 提取码:1234https://mvnrepository.com/ 官网依赖查询https://maven.aliyun.com/mvn/search 阿里云依赖查询Maven环境配置解压后 需要添
Java 代码编译后生成的 .class 中包含有源代码中的所有信息(不包括注释),尤其是在其中保存有调试信息的时候。所以一个按照正常方式编译的 Java .class 文件可以非常轻易地被反编译。通常情况下,反编译可以利用现有的工具jd-gui.exe或者jad.exe。(这两个反编译工具在我的资源里有下载:有些情况下,为了保护java源码不被别人看到,通常会使用加密手段对java源码进行加密,
Maven学习笔记 文章目录Maven学习笔记Chapter 4 依赖管理4.1 依赖的范围Chapter 5 Maven常用设置5.1属性设置5.2 全局变量5.2.1 定义全局变量5.2.2 引用全局变量5.3资源插件思维导图 Chapter 4 依赖管理4.1 依赖的范围依赖范围使用scope来表示的。scope的值有这几种:compile, test, provided。默认是compil