第一步:代码混淆(注意引入的第三方jar)

在新版本的ADT创建项目时,混码的文件不再是proguard.cfg,而是project.properties和proguard-project.txt。

新建一个项目的时候,会自动生成project.properties和proguard-project.txt文件,无需自己新建,如果你的项目无法自动生成,那么你就要检查一下你的ADT版本了

如果需要对项目进行全局混码,只需要进行一步操作:

将project.properties的中

“#proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt”的“#”去掉就可以了。

如果有一些代码不能被混淆,比如需要加入了so文件,需要调用里面的方法,那么调用JNI访问so文件的方法就不能被混码。在导出的时候,可能不会报错。但是在手机上运行的时候,需要调用so文件的时候,就会报某某方法无法找到。这个时候就需要用到proguard-project.txt。

在新版本的代码混淆,已经变得很智能,不过引入的第三方jar还是需要手动编写混淆规则

案例:引入了BaiduLBS_Android.jar,android-support-v4.jar两个包

proguard-project.txt脚本编写规则:

#工程中含有第三方jar包
-libraryjars libs/android-support-v4.jar
-libraryjars libs/BaiduLBS_Android.jar#项目里面包含的包也不能混淆
-keep class com.baidu.** {*;}
-dontwarn com.baidu.**-keep class vi.com.gdi.bgl.android.java.** {*;}
-dontwarn vi.com.gdi.bgl.android.java.**-keep class android.** {*;}
-dontwarn android.**

第二步:导出apk(部分第三方加密平台需要导出签名的apk)

请根据第三方加密平台的要求导出apk,带签名的apk导出速度稍慢。右击项目选择 Android Tools再根据需求导出

第三步:第三方平台加固(生成多渠道包)

现在比较流行的加密平台有:

http://www.bangcle.com

http://***

http://dev.360.cn/protect/welcome

如果你的项目里面包含了百度统计、友盟统计等功能,那么肯定需要了解不同应用商店的下载量,所以生成渠道包就很重要。这些平台都可以帮助生成多个去到apk

下图是使用“爱加密”平台,项目集成了友盟统计

加固需要花费十几分钟的时候,加固完成后就能下载到不同渠道的包,但是没有签名,无法安装

第四步:apk重新签名

加固后的apk是没有签名的,没有签名的apk是无法安装到手机里面的,需要使用签名工具重新签名

可以使用adt自带的,但是过于麻烦,建议使用第三方的签名工具

比如:爱加密提供的http://***/apply/Sign

http://www.cnblogs.com/taoweiji/p/4051951.html

Android 代码混淆、第三方平台加固加密、渠道分发 完整教程(转)相关推荐

  1. android 第三方加密软件,Android实用图文教程之代码混淆、第三方平台加固加密、渠道分发...

    第一步:代码混淆(注意引入的第三方jar) 在新版本的ADT创建项目时,混码的文件不再是proguard.cfg,而是project.properties和proguard-project.txt. ...

  2. android加密墙,Android代码混淆加密配置(Proguard文件解析)

    Android代码混淆加密配置(Proguard文件解析) Android代码混淆加密配置(Proguard文件解析) 为了防止自己的APP被轻易反编译,我们需要对APK进行混淆,或者特殊加密处理.可 ...

  3. android混淆语法(android代码混淆工具)

    android 代码混淆算法有哪些 根据SDK的版本不同有2中不同的代码混淆方式,以上的proguard.cfg参数详解中所涉及到的信息是在较低版本SDK下的混淆脚本,事实上在高版本的SDK下混淆的原 ...

  4. Android 代码混淆语法讲解及常用模板(转)

    转载请注明原博客地址  Android 代码混淆语法讲解及常用模板 前言 混淆对于每一个开发者来说都不陌生,对于大多数 APP 而言,在上线之前,通常会进行代码混淆,加固,防止自己的 APP 被别人轻 ...

  5. android 混淆后的机制,Android 代码混淆机制

    Android 代码混淆机制 由于Android项目是基于java语言的,而java属于高层抽象语言,易于反编译,其编译后的程序包包含了大量的源代码变量.函数名.数据结构等信息,根据其编译打包后的AP ...

  6. Android代码混淆后的定位

    Android代码混淆后的定位 什么是代码混淆 如何开启Android Studio的代码混淆 如何在程序奔溃后定位到奔溃的代码行 mapping.txt 分析流程 什么是代码混淆 在java写的.j ...

  7. Android 代码混淆Proguard

    混淆概念 Android代码混淆,又称Android混淆,是伴随着Android系统的流行而产生的一种APP保护技术,用于保护APP不被破解和逆向分析. 在Android的具体表现就是打包时,将项目里 ...

  8. android aidl混淆代码,Android代码混淆

    什么是代码混淆 代码混淆就是将代码中的各种元素,如变量,方法,类和包的名字改写成无意义的名字,增加项目反编译后被读懂的难度. Android代码混淆使用ProGuard工具,ProGuard是一个压缩 ...

  9. Android代码混淆配置说明

    1.为什么需要代码混淆 Proguard混淆用于保护APP不被破解和逆向分析,Proguard通过移除没有用到的代码以及通过特定规则重命名类.变量.方法来压缩.优化.混淆你的代码.这样可以让你APK更 ...

  10. Android代码混淆官方实现方法

    首先查看一下 "project.properties" 这个文件: # This file is automatically generated by Android Tools. ...

最新文章

  1. java——import语句
  2. IDEA运行最简单的Java程序Hello World
  3. 【Java】从键盘输入字符串和数字
  4. SkGradientShader::CreateLinear 的参数。
  5. 计算机网络设置中如何删除家庭组,【求助】Windows无法从该家庭组中删除你的计算机...
  6. rust腐竹是什么意思_学习Rust 集合与字符串
  7. 解决SecureCRT登陆Linux显示中文乱码
  8. JDK 环境变量配置
  9. ajax后台如何把对象转为json_SM后台数据与前端(PC、M站、Android、IOS)的交互——页面渲染...
  10. python帝国cms_帝国CMS教程
  11. 用外置的tocat运行springboot项目的四个步骤
  12. 使用Dir函数遍历文件和目录
  13. HTML5 极简的JS函数
  14. 使用vi编辑器创建文本文件
  15. HTML作业之粉粉滴个人博客来袭—篇章一
  16. 基于机器学习技术的用户行为分析:当前模型和应用研究综述(A survey for user behavior analysis based on machine learning technique)
  17. /dev下面存在设备,却open 失败的问题open: No such device or address
  18. VB简单播放器与python文字语音朗读
  19. 单片机包络检波c语言,模拟电子系统设计指南:从半导体、分立元件到TI集成电路的分析与实现(基础篇)...
  20. 基于采样的路径规划算法总结:RRT-Matlab实现

热门文章

  1. IE 存在兼容元素归纳
  2. 13、第七 - 网络编程基础 - Python中协程EVENT()函数-事件函数
  3. HTML5form表单的相关知识总结
  4. 2010多校第一题 hdu3440House Man 差分约束系统
  5. 03-创建模型操作---用户添加
  6. Winform自定义控件在网页上的应用
  7. 关于HAL.DLL文件丢失导致系统无法启动的问题
  8. eclipse可视化插件
  9. 一元(多元)线性回归分析之R语言实现
  10. colorkey唇釉是否安全_colorkey小黑镜唇釉好用吗