博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
<html>
阅读量:6237 次
发布时间:2019-06-22

本文共 2343 字,大约阅读时间需要 7 分钟。

Android开发基于java语言的。非常easy被别人反编译出来,一下就相当于裸奔了,特别是用于商业用途的时候,防止反编译是必要的措施。而代码混淆是一种非常好防止反编译的方式。

 

1、APK的代码混淆。

 

eclipse的开发环境下。使用android SDK 自带的proguard混淆工具。

主要用到红线框中的两个文件。

 

 

project.properties文件里。要指定混淆的文件。

如图:

 

 

 

然后。具体的proguard-project.txt的写法例如以下:

-dontwarn 是让指定包名不提示警告

-libraryjars 是指明导入第三方包,不參加混淆

 

 

 

再看看我导入的第三方包:

 

 

 

 

好了,这些准备工作都OK,那就開始导出APK了。注意平时调试的时候是不会进行代码混淆的,切记不要直接COPY /bin文件夹下APK公布出去哦。导出APK的详细流程:

 

右键 ——> Export ------>  

 

 

 

我用的如今的一个keystore。当然你也能够新建一个,这个非常easy的。

 

 

再输入一个alias的password

 

 

 

选择好APK存储的目标文件夹。点击Finish,就能够在指定的文件夹下看到APK了。

可是假设你那个proguard-project.txt配置没有写好的话,例如以下:(有把一句屏蔽掉了)

 

 

当点击Finish的时候。就会出现下来这样的报错:

 

 

 

OK了之后,你能够看看。混淆之前和之后异同:

 

 

 

 

 

 

2、Androidproject导出JAR包的混淆。

我是參照:

 

事实上,还是用Android SDK 里自带的Proguard,位于文件夹android-sdk-windows\tools\proguard\bin以下proguardgui.bat。双击就可以開始,

 

 

 

能够载入已经存在的配置文件。也能够点击Next,新建一个。

 

 

 

 

 

 

 

 

 

 

 

 

完毕混淆。假设这时候它报错的话,能够先将这些配置文件保存下来,直接改动文件就能够了。

 

然后,我们能够看看混淆之前和混淆之后的效果。

 

 

 

 

 

Word文档能够直接下载下来保存:

版权声明:本文为博主原创文章。未经博主同意不得转载。
举报
  • 本文已收录于下面专栏:
0条评论

相关文章推荐

使用android studio进行jar包导出,我们须要用 gradle来生成jar包。

首先 须要设置module应用的gradle插件为 library: apply plugin: '...

  • 2016-10-14 15:27
  • 1127

1、proguard原理       java代码编译成二进制class文件。这个class文件也能够反编译成源码。除了凝视外,其它的code基本都能够看到。

为了防止重要code被泄露。我们往往须要混淆。即把方法名,变量名,类名,包名等这些java元素的名称改成让人意想不到的名称。这样代码结构就没有变化,还能够执行,可是想弄懂代码的架构却非常难。proguard就起到了这样

  • 2015-01-02 21:32
  • 1649

很多安卓开发人员在完毕 Android 项目后,启用代码混淆功能而且尝试导出签名的 APK 安装包时常常会遇到 "Proguard returned with error code 1. See con...
  • 2013-03-21 18:07
  • 1461

关于Android项目打包的问题就不再介绍了。以下说一下我混淆代码中出现的一系列问题和最后的解决。

开发,一路高歌的pass,最后阶段的混淆代码让我整个头大了一圈。note:我这里讲述的是代码混淆中遇到的问题和解题的思路。也希望大家看到后有好的思路给我指出。

假设你还一点不了解Androidproject的代码混淆。请先看看官方文档Develop/tools-help/m

  • 2013-09-12 17:29
  • 81

一、Android Apk<span style="font-family: 'DejaVu Sans','Lucida Grande',Tahoma,'Hiragino Sans GB',STHeiti,SimSun,
  • 2012-03-09 10:56
  • 403

1.偷懒式导出Jartask releaseMyLib(type: Copy, dependsOn: ['build']) { from('build/intermediates/bundle...
  • 2017-05-18 14:43
  • 137

android apk签名(为什么 怎样做 验证) 这篇文章事实上就是依据自己的疑问然后结合多个文章结合成的 文章引用:   http://liangxh2008.blog.163.com/blog/static/11241167920104132
  • 2011-08-26 16:50
  • 2066

android 代码混淆 不混淆第三方jar包 标签: Android混淆jar包 2013-09-12 16:55 2375人阅读 评论(0) 收藏 举报  分类: ...
  • 2017-03-19 09:40
  • 1595

首先apk不能被代码混淆(或未经编译优化)。假设混淆了,反编译出来的代号还是看不懂, <div style="background-color: inherit; f
  • 2014-03-16 00:40
  • 113

http://blog.csdn.net/wangduanqing5945/article/details/11605067#comments 关于Android项目打包的问题就不再介绍了,...
  • 2014-03-24 22:16
  • 1312

在线课程

你可能感兴趣的文章
linux性能剖析工具
查看>>
flutter中的异步
查看>>
计算机高手也不能编出俄罗斯方块——计算机达人成长之路(16)
查看>>
error LNK2001: 无法解析的外部符号 __CrtDbgReport
查看>>
会员充值-》解决方案之一
查看>>
Jmeter的接口测试简介
查看>>
洛谷P3369 【模板】普通平衡树(FHQ Treap)
查看>>
数字签名和数字证书
查看>>
「SP122」STEVE - Voracious Steve 解题报告
查看>>
什么是LogDashboard?
查看>>
1025. 水枪灭火——java
查看>>
leetcode148. Sort List
查看>>
limits.conf文件修改注意事项
查看>>
Spring4面向切面AOP
查看>>
数据结构和算法学习总结04 线性表---栈
查看>>
ios证书
查看>>
sql like N'%...%' 在C#里的写法
查看>>
HTML css样式
查看>>
价值观的选择
查看>>
【多线程】的简单理解&进程 and【你的电脑是几核的?】
查看>>