混淆

Android 混淆 ProGuard

萝らか妹 提交于 2019-12-14 21:11:29
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 配置文件build.gradle android { signingConfigs { release { keyAlias 'XXX' keyPassword 'XXX' storeFile file('../key/XXX.jks') // 位置:xxApplication/key/XXX.jks' storePassword 'XXX' } } compileSdkVersion 23 buildToolsVersion "23.0.2" defaultConfig { applicationId "com.XXX.XXX" minSdkVersion 15 targetSdkVersion 22 versionCode 1 versionName "1.0" } buildTypes { release { //日志 buildConfigField "boolean", "LOG_DEBUG", "true" //混淆 minifyEnabled true //Zipalign优化 zipAlignEnabled true //移除无用的resource文件 shrinkResources true //签名 signingConfig signingConfigs.release //的混淆文件

Jean同学的Proguard私房物语

醉酒当歌 提交于 2019-12-01 06:44:53
由于项目中自主研发的一个Android平台工具库需要提供给外部人员使用,我们决定使用android sdk自带的proguard tool混淆源码。在动用了google之后得到的大量资源文中,拨云见雾、去糟存精,融会贯通理论于实践,自我成长之余制作以下proguard源码混淆独家宝典。 无耻的分割线---------------------------------------------------------------------------------------------------------------------- 本文是以项目中进行混淆的步骤以及其间遇到的问题为主线,行文略乱,洁癖er轻拍。 1. proguard工具身藏Android sdk何处: android-sdks/tools/proguard/ 推荐使用lib文件夹下的proguard.jar,从命令行启动该工具“java -jar .../lib/proguard.jar @混淆配置文件” 对代码进行混淆;图形界面proguardgui.jar在win下启动正常,ubuntu11.10启动失败( 没空追踪失败原因,放弃之, 读者若有兴趣可自行研究) 2. 上一条中的“混淆配置文件”是个神奇的好东东,在混淆的道路上起着举足轻重综合协调承前启后的作用,不好意思,我墨迹了,我只是想强调它的重要性

android 混淆 去除第三方jar

随声附和 提交于 2019-11-30 01:44:59
编译与反编译,一对相辅相成的矛盾。反编译有时候会和不光彩的事情联系在一起,以致于编译者常常费劲心思,加大反编译的难度,比如采用混淆代码等方式。ProGuard正是这么一个工具:   The ProGuard tool shrinks, optimizes, and obfuscates your code by removing unused code and renaming classes, fields, and methods with semantically obscure name.   Android SDK整合了ProGuard,并在文档中用了一个章节来描述如何使用它。依照文档来实施,多半没有问题,不过在使用中有时候遇到了一些问题:(就是提示一些包找不到)   依照以往的惯例,发生warning,可忽视之,只有看到error,才会小紧张一把。不过这次的warning导致了BUILD FAILED,这回问题大了。   按照提示,在proguard.cfg里,加入-dontskipnonpubliclibraryclasses,再试,还是有问题。   那就到官网找找答案吧,Manual -> Troubleshooting -> “Warning: can’t find referenced class”,找到这么一句话:try your luck with the

ProGuard Introduction

半城伤御伤魂 提交于 2019-11-30 00:46:50
介绍 ProGuard 是一个Java类文件压缩器、优化器、混淆器和预校验器。在压缩步骤会发现并移除无用的类、字段、方法和属性。 在优化步骤会分析和优化Method(方法)的字节码。在混淆步骤会使用短且没有意义的名字来重命名剩余的类、字段和方法。 这些前面的步骤会使代码更小、更高效、更难反向工程。最后的预校验步骤会给这些类添加Java Micro版本需要的预校验信息或为Java 6减少启动时间的预校验信息。 这些步骤每一个都是可选的。例如,ProGuard也可以在一个程序中仅仅用来列出无效代码; 或用于在Java 6中预校验类文件提高效率。 ProGuard 通常读取 input jars (或 wars, ears, zips,或 目录)。然后压缩、优化、混淆和预校验它们。 压缩步骤之后,可以执行多个优化过程。ProGuard把这些处理过的结果生成一个或多个 output jars (或 wars, ears, zips, 或 目录)。 输入可能包含资源文件,他们的名字和内容可以可选地被更新成反射混淆之后的类的名字。 ProGuard 要求input jars中的 library jars (or wars, ears, zips, or directories) 被指明。这些在本质上是你编译代码要用到的库。ProGuard用它们来重构类的依赖,并在必要的时候做适当的处理。

Ant编译android,并Proguard代码混淆,v4混淆配置

五迷三道 提交于 2019-11-29 16:25:24
忙了三四周,总算把购开心的ios版(appStore搜“购开心”)成功翻译成了android版,UI效果基本保持一致,上一张UI效果图吧,很养眼的: 还不错吧,进入正题吧。 以前一直是让我徒弟混淆和打包的,这个就剩下我一个人了,弄了一次,时间太久了,还太麻烦了,于是,我就研究了下ant打包,下面就简单说下吧: 首先,做任何开发前,肯定是各种环境搭建和配置啊,ant的搭建很简单: 一、安装ant 到官方主页http://ant.apache.org下载新版(目前为Ant-1.9.2)的ant,得到的是一个apache-ant-1.8.1-bin.zip的压缩包。将其解压到你的硬盘上,例如:D:\Android\apache-ant-1.9.2 二、配置环境变量 window中设置ant环境变量: ANT_HOME D:/Android/apache-ant-1.9.2 path D:/Android/apache-ant-1.9.2/bin classpath D:/Android/apache-ant-1.9.2 /lib linux中设置ant环境变量: root用户登陆,用vi编辑器修改root目录下的".bash_profile"属性文件,假设Ant安装在/user/local/ant目录下,要在文件的最后加上 "exportANT_HOME=/user/local/ant