Android代码混淆及反编译

Android代码混淆及反编译如果你目前还是一名学生或是没有在应用商店中上传过应用,恐怕对此的感受不深。而在企业中对Java代码的混淆却是一步很重要的步骤,从安全的角度来说,代码混淆,防止居心不良的人对代码进行恶意篡改非常重要。下面就是对Android项目进行的代码混淆和加密签名过程。

大家好,又见面了,我是你们的朋友全栈君。

概述:

  如果你目前还是一名学生或是没有在应用商店中上传过应用,恐怕对此的感受不深。而在企业中对Java代码的混淆却是一步很重要的步骤,从安全的角度来说,代码混淆,防止居心不良的人对代码进行恶意篡改非常重要。下面就是对Android项目进行的代码混淆和加密签名过程。


步骤:

1.在项目的要目录中添加文件proguard.cfg

2.在项目中的project.properties文件中添加proguard.cfg

Android代码混淆及反编译

3.在proguard.cfg文件中添加

-ignorewarnings
-libraryjars libs/android-support-v4.jar

如下:

Android代码混淆及反编译

4.项目右键—>Export—>Android—>Export Android Application—>Next

Android代码混淆及反编译

5.Next过第一步之后,会进入Keystore selection的会话框,填写如下信息:

Android代码混淆及反编译

6.在接下来的Key Creation会话框中填写如下格式的信息:

Android代码混淆及反编译

7.配置好你的Apk文件名称,最后Finish

Android代码混淆及反编译

如果不出意外,到这里会很愉快地结束,并得到你想得到的经过混淆后的Apk签名文件。


反编译验证:

关于反编译的步骤可以参考:

http://blog.csdn.net/lemon_tree12138/article/details/41889363

如果顺利会是如果类似结果:

Android代码混淆及反编译


Proguard returned with error code 1. See console:

Android代码混淆及反编译

这个问题是由于代码混淆引起的,找不到引用包。只需在你的proguard.cfg中添加如下两行即可。
-ignorewarnings
-libraryjars libs/android-support-v4.jar
你可以根据你的项目提示,添加需要的jar。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/139293.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • 进程同步和线程同步

    进程同步和线程同步怎样同步多个线程或多个进程的活动。为允许在线程或进程间共享数据,同步是必需的。互斥锁和条件变量是同步的基本组成部分。互斥锁和条件变量出自POSIX.1线程标准,它们总是可用来同步一个进程内的各个线程的。如果一个互斥锁或条件变量存放在多个进程间共享的某个内存中,那么POSIX还允许它用于这些进程间的同步。互斥锁、条件变量、读写锁、信号量均可用于进程、线程的同步。多线程同步方法1)互斥锁互斥锁是最基

  • vue md5.js_VUE.js

    vue md5.js_VUE.js<template><div><mavonEditorv-model=”markdown”:codeStyle=”codeStyle”></mavonEditor><divv-html=”compiledMarkdown”></div></div></template><script>//编辑import{mavonEditor}from’.

  • MySQL下载与安装

    MySQL下载与安装MySQL下载与安装一、下载地址:https://dev.mysql.com/downloads/mysql/当前最新是8.0版本,我选择上一个最新的mysql-5.7.24-winx64.zip二、安装MySQL安装文件分两种.msi和.zip,.msi需要安装zip格式是自己解压,解压缩之后其实MySQL就可以使用了,但是要进行环境变量配置zip格式是自己解压我…

  • Map和Set的区别「建议收藏」

    Map和Set的区别「建议收藏」Map和Set的区别—————————————–分割线—————————–  map和set都是stl中的关联容器,map以键值对的形式存储,key=value组成pair,是一组映射关系。set只有值,可以认为只有一个数据,并且set中元素不可以重复且自动排序,如果需要重复则使用multiset,要说…

  • android全面屏像素密度,手机屏幕分辨率、PPI像素密度科普知识大全「建议收藏」

    android全面屏像素密度,手机屏幕分辨率、PPI像素密度科普知识大全「建议收藏」手机屏幕分辨率、PPI像素密度科普知识大全【PPi指数】是手机清晰度的重要决定因素,所谓的PPI即每英寸所拥有的像素数目。现在市售的大屏幕手机普遍分辨率都只停留在854*480的水平,同样的分辨率,屏幕越大,像素点之间的距离越大,屏幕就越粗糙。所以大屏幕也不一定能带来良好的视觉感受。实践证明,ppi低于240的让人的视觉可以察觉明显颗粒感。ppi高于300则无法察觉理论上讲超过300ppi才没有…

  • Assert.assertEquals()方法参数详解

    Assert.assertEquals()方法参数详解junit.framework包下的Assert提供了多个断言方法.主用于比较测试传递进去的两个参数.Assert.assertEquals();及其重载方法:1.如果两者一致,程序继续往下运行.2.如果两者不一致,中断测试方法,抛出异常信息AssertionFailedError.查看源码,以Assert.assertEquals(intexpected,inta…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号