1、下载jocky,解压后把整个文件夹复制到Eclipse的plugin目录。
2、重启Eclipse,在项目上点右键,如果出现jocky菜单,则安装成功。

3、在项目上点右键,选菜单jocky->jocky setting,弹出菜单后设置如图

4、点ok后,将在项目的根目录下生成一个jocky_build.xml文件,事实上是一个ant build文件。打开这个文件,作适当修改
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- WARNING: Jocky autogenerated file. 
   Any modifications will be overwritten.
-->
<project basedir="." default="build" name="iSzmap.Android.public.jocky">
   <property name="jocky.jar" value="D:\eclipse-jee-galileo-SR1-win32-2\eclipse\plugins\org.apusic.jocky_1.0.3\jocky.jar"/>
   <property name="jocky.output.dir" value="iszmap"/>
   <property name="jocky.scramble.level" value="package"/>
   <property name="target" value="1.5"/>
   <path id="project.classpath">
   <pathelement location="bin"/>
  <pathelement location="D:/android-sdk-windows-1.5_r3/platforms/android-1.5/android.jar"/>
   </path>
   <target name="init">
   <jocky jar="${jocky.jar}" level="${jocky.scramble.level}"/>
   <mkdir dir="${jocky.output.dir}"/>
   <mkdir dir="${jocky.output.dir}/bin"/>
   </target>
   <target name="clean">
   <delete dir="${jocky.output.dir}/bin"/>
   <delete dir="${jocky.output.dir}"/>
   </target>
   <target depends="init" name="build">
   <echo message="${ant.project.name}: ${ant.file}"/>
   <jocky enable="true"/>
   <javac destdir="${jocky.output.dir}/bin" target="${target}" encoding="UTF-8">
   <src path="src/com/iszmap/android/map"/>
   <classpath refid="project.classpath"/>
   </javac>
   </target>
</project>

注意红色的部分,第一部分是添加编译时需要的额外的类包;第二部分是设定java源文件的编码,如果您的文件中有中文的话,必须设定编码;第三部分是设定源文件的目录,因为有时候我们只想输出src目录下的部分包而不是全部。

5、保存后选jocky-jocky Now就可以进行混码了。

混码后的class文件可以通过命令进行打包,或用winrar进行压缩,注意必须压成.zip文件而不是.rar文件。

二、
使用jocky的时候,如果你的java文件使用了utf-8编码,而windows默认是gbk编码,可能会出现"unmappable character for encoding GBK"错误而导致jocky不能使用的情况。可以通过修改jocky_build.xml中的javac段,为其添加encoding="UTF-8"就可以解决这个问题了。
这个问题的实质原因是因为ant的javac使用了默认编码(如果你使用windows xp中文版,默认编码就是GBK),从而导致编码不一致。
        <javac destdir="${jocky.output.dir}/WebRoot/WEB-INF/classes" target="${target}" encoding="UTF-8">
            <src path="src"/>
            <classpath refid="project.classpath"/>
        </javac>
jocky下载:

http://www.pudn.com/downloads133/sourcecode/others/detail567839.html

当你将这些都搞到了之后,运行你的android项目,然后从bin文件夹中拷贝出你的apk文件,用我上一章说的apk反编译一下,查看是不是有一大堆的不搭边的.java文件,这表示被混淆了,祝你好运,如果成功的话如图所示:

防止 apk反编译 jocky-- java混淆代码 (转至:http://my.oschina.net/f839903061/blog/72554)的更多相关文章

  1. Android Studio 动态调试 apk 反编译出的 smali 代码

    在信安大赛的准备过程中,主要通过 Android Studio 动态调试 apk 反编译出来的 smali 代码的方式来对我们分析的执行流程进行验证.该技巧的主要流程在此记录.以下过程使用 Andro ...

  2. Android Apk反编译得到Java源代码

    大家做Android开发,看到别人应用里一些好的功能,是不是很想得到源码,借鉴一下?既然Android是用JAVA开发的,那么我们就能很容易的通过反编译的到应用的源代码.下面我简单介绍下应该怎么操作. ...

  3. Android APK反编译得到Java源代码和资源文件

    在此郑重声明,贴出来的目的不是为了去破解人家的软件,完全是一种学习的态度,不过好像通过这种方式也可以去汉化一些外国软件. 一.反编译Apk得到Java源代码 首先要下载两个工具:dex2jar和JD- ...

  4. Android: apk反编译 及 AS代码混淆防反编译

    一.工具下载: 1.apktool(资源文件获取,如提取出图片文件和布局文件) 反编译apk:apktool d file.apk –o path 回编译apk:apktool b path –o f ...

  5. [转]Java.APK 反编译

    本文转自:http://blog.csdn.net/vipzjyno1/article/details/21039349/ (注:反编译不是让各位开发者去对一个应用破解搞重装什么的,主要目的是为了促进 ...

  6. apk 反编译

    http://blog.csdn.net/vipzjyno1/article/details/21039349/ [置顶] Android APK反编译就这么简单 详解(附图) 标签: android ...

  7. apk反编译

    在学习Android开发的过程你,你往往会去借鉴别人的应用是怎么开发的,那些漂亮的动画和精致的布局可能会让你爱不释手,作为一个开发者,你可能会很想知道这些效果界面是怎么去实现的,这时,你便可以对改应用 ...

  8. JAVA_Android APK反编译就这么简单 详解(附图)

    在学习Android开发的过程你,你往往会去借鉴别人的应用是怎么开发的,那些漂亮的动画和精致的布局可能会让你爱不释手,作为一个开发者,你可能会很想知道这些效果界面是怎么去实现的,这时,你便可以对改应用 ...

  9. 【转】Android APK反编译就这么简单 详解(附图)

    转载地址:http://blog.csdn.net/vipzjyno1/article/details/21039349 在学习Android开发的过程你,你往往会去借鉴别人的应用是怎么开发的,那些漂 ...

随机推荐

  1. Spring MVC简单的HelloWorld例子

    1.web.xml配置(主要配置Servlet)[默认情况 Spring的配置文件在WEB-INF的<servlet-name>-servlet.xml] <?xml version ...

  2. Android开发1——查找所需要出示权限的内容

    一.发现问题 用户在执行一些如拨打电话.发送短信等关系用户隐私的功能时,Android需要出示权限,权限在AndroidManifest.xml中配置 拨打电话的权限 发送短信的权限 那么这些权限信息 ...

  3. 在 Visual Studio 2013 中使用 JavaScript 的 IntelliSense

    原本JavaScript直接在页面中引用的时候,智能感知会直接根据js文件的内容来获得提示.但是由于在新的ASP.NET中使用了Bundle,js文件不是直接在页面中引用了,所以智能感知也就出了问题. ...

  4. mongoose中的versionKey

    通过mongoose中的save方法保存记录时document文档默认最后会有一个字段"__v",这个字段表示该文档是否是刚刚创建的,如果是则字段"__v"的值 ...

  5. linux perf and tracer ,java Flame Graph

    http://www.brendangregg.com/flamegraphs.html http://hg.openjdk.java.net/jdk8u/jdk8u/hotspot/rev/e826 ...

  6. Cocos2d-x添加Android手机震动

    这个震动需要调用adnroid系统的方法,所以需要C++调用java,JNI这里就不多做介绍了,需要的可以自己去查找下相关资料,如果你只是需要实现这个功能,相信你看完本文,应该就OK了! 1.首先,修 ...

  7. 不能将参数1从“const char []”转换为“LPCTSTR

    今天在使用vs2008+MFC时候,使用editControl的replacesel(“”)发生报错.如下::不能将参数1从“const char []”转换为“LPCTSTR” 其解决方案就是, 在 ...

  8. 字符编码:ASCII,Unicode,UTF-8

    1.ASCII码美国制定的一套字符编码,对英语字符和二进制位之间的关系,做了统一规定.ASCII码一共规定了128个字符(包括32个不能打印出来的控制符号)的编码,占用一个字节,字节的最前面1位统一为 ...

  9. Oracle PLSQL Demo - 31.执行动态SQL拿一个返回值

    DECLARE v_sql ) := ''; v_count NUMBER; BEGIN v_sql := v_sql || 'select count(1) from scott.emp t'; E ...

  10. mysql:索引原理与慢查询优化

    一 索引的原理 1. 索引原理 索引的目的在于提高查询效率,与我们查阅图书所用的目录是一个道理:先定位到章,然后定位到该章下的一个小节,然后找到页数.相似的例子还有:查字典,查火车车次,飞机航班等 本 ...