android应用程序的混淆打包
1 . 在工程文件project.properties中加入下proguard.config=proguard.cfg , 如下所示:

target=android-8

proguard.config=proguard.cfg

Eclipse会通过此配置在工程目录生成proguard.cfg文件

2 . 生成keystore (如已有可直接利用)

按照下面的命令行 在D:\Program Files\Java\jdk1.6.0_07\bin>目录下,输入keytool -genkey -alias android.keystore -keyalg RSA -validity 100000 -keystore android.keystore

参数意义:-validity主要是证书的有效期,写100000天;空格,退格键 都算密码。

命令执行后会在D:\Program Files\Java\jdk1.6.0_07\bin>目录下生成 android.keystore文件。

3. 在Eclipce的操作

File -> Export -> Export Android Application -> Select project -> Using the existing keystore , and input password -> select the destination APK file

 经过混淆后的源代码,原先的类名和方法名会被类似a,b,c。。。的字符所替换,混淆的原理其实也就是类名和方法名的映射。

但4大组件并没有混淆(所有在清单文件定义的组件不能被混淆),因为系统需要通过清单文件来查找和运行应用程序。

proguard.cfg 文件代码解读

-optimizationpasses 5  ->设置混淆的压缩比率 0 ~ 7

-dontusemixedcaseclassnames -> Aa aA

-dontskipnonpubliclibraryclasses ->如果应用程序引入的有jar包,并且想混淆jar包里面的class

-dontpreverify

-verbose ->混淆后生产映射文件 map 类名->转化后类名的映射

-optimizations !code/simplification/arithmetic,!field/*,!class/merging/*  ->混淆采用的算法.

-keep public class * extends android.app.Activity   ->所有activity的子类不要去混淆

-keep public class * extends android.app.Application

-keep public class * extends android.app.Service

-keep public class * extends android.content.BroadcastReceiver

-keep public class * extends android.content.ContentProvider

-keep public class * extends android.app.backup.BackupAgentHelper

-keep public class * extends android.preference.Preference

-keep public class com.android.vending.licensing.ILicensingService

-keepclasseswithmembernames class * {

native <methods>;   -> 所有native的方法不能去混淆.

}

-keepclasseswithmembers class * {

public <init>(android.content.Context, android.util.AttributeSet);

-->某些构造方法不能去混淆

}

-keepclasseswithmembers class * {

public <init>(android.content.Context, android.util.AttributeSet, int);

}

-keepclassmembers class * extends android.app.Activity {

public void *(android.view.View);

}

-keepclassmembers enum * {   -> 枚举类不能去混淆.

public static **[] values();

public static ** valueOf(java.lang.String);

}

-keep class * implements android.os.Parcelable {   -> aidl文件不能去混淆.

public static final android.os.Parcelable$Creator *;

}

转载于:https://www.cnblogs.com/godcok/p/4448634.html

android应用程序的混淆打包(转)相关推荐

  1. android应用程序的混淆打包

    2019独角兽企业重金招聘Python工程师标准>>> 1 . 在工程文件project.properties中加入下proguard.config=proguard.cfg , 如 ...

  2. eclipse java混淆打包,Android Studio和eclipse混淆打包总结

    最近项目有点闲,考虑到以前的项目没有做过混淆,只是用了加固软件进行加固,为了安全性,准备给项目加上,这里做个总结,都经本人亲自在项目实践,说是为了安全性,这好像说大了,一来项目中没用到什么特别的技术, ...

  3. eclipse java混淆打包_eclipse proguard怎么混淆jar包

    展开全部 android应用程序的混淆打包32313133353236313431303231363533e59b9ee7ad9431333339663933 1 . 在工程文件project.pro ...

  4. Gradle Android客户端程序打包(基于gradle 2.10版本验证通过)

    http://www.cnblogs.com/Freedoms/p/5171201.html 一.前言 目前正在准备从eclipse开发环境向AndroidStudio迁移,提前过去探探路,不出所料, ...

  5. android二次打包教程,Android应用程序打包签名、加固、二次打包(图形/命令行)...

    前言 Android应用程序在编程开发完成后,需要进行签名打包成相应的APK文件,这就是我们平常网上下载安装的Android应用程序安装包. APK的全称是Android Package,即Andro ...

  6. android 混淆打包教程,Android studio 混淆打包

    AndroidStudio中的项目可以用compile的形式引入github上的开源项目,可以引用module,而不一定都要用libs文件夹中添加jar包的形式. 在最终realease打包时,混淆的 ...

  7. Android混淆打包

    在这之前,看了下proguard官网介绍,并搜了下相关资料. ProGuard简单介绍 ProGuard是一个SourceForge上很知名的开源项目.官网网址是:http://proguard.so ...

  8. 将Android应用程序打包

    选中项目右击àExportàAndroidàExport Android ApplicationàNextàNextàCreate new keystore(创建新密钥) { Location:表示要 ...

  9. Android应用程序打包时,出现错误:XXX is not translated in af (Afrikaans), am (Amharic), ar (Arabic).....(...

    转自:http://blog.163.com/shexinyang@126/blog/static/136739312201492144928812/ 问题:当我们开发完成一个Android应用程序后 ...

最新文章

  1. Maven最佳实践-distributionManagement
  2. 【Python学习系列二十】scikit-learn库模型持久化
  3. linux将ipv6地址改成ipv4,虚拟机ip地址从ipv6改为ipv4相关问题
  4. 【免费软件测试视频-0031】——QTP系列之---功能测试自动化概要介绍
  5. SAP S/4HANA Analytics Path Framework 里过滤器(filter)的使用方法介绍
  6. 2020年,我来盘点下微服务架构技术栈
  7. 使用Maven程序集创建漏洞评估工件
  8. 什么C++程序员,什么Java程序员
  9. 大V诞生记 —— 谁是VMware?
  10. 解析超大文件_MySQL物理文件结构和SQL执行流程
  11. 麦克纳姆轮全向移动机器人横向直线运动分析
  12. 剑指offer——面试题49:把字符串转换成整数
  13. 车载系统不识别 U盘
  14. redis实现周边景点由近到远排序
  15. ios tableView截长屏图片,第三方分享
  16. Python爬虫实战之利用多线程爬取千图网的素材图片
  17. 计算机游戏cpu,玩游戏选什么CPU 10款2017适合玩游戏的处理器推荐 (全文)
  18. 如何将Excel数据转化成树状结构
  19. 不仅仅是土豆_设计成功不仅仅需要设计技能
  20. 用certbot申请证书,自动更新

热门文章

  1. 站长就是个太监^_^
  2. 深入理解建造者模式 ——组装复杂的实例
  3. Spring boot centos部署启动停止脚本
  4. [转]开发者需要了解的WebKit(mark)
  5. [转载]Android创世纪 - 第二天
  6. JDK8之Stream
  7. 忘记mysq rootl密码
  8. 测试缺陷分析务实篇-转
  9. 手把手玩转协同编辑(1):AST (Address Space Transformation)地址空间转换算法 基本介绍...
  10. 使用AsyncTask实现图片加载