zoukankan      html  css  js  c++  java
  • android混淆(Obfuscate)

    引用:http://fonter.iteye.com/blog/489728

    《Obfuscate an Android application》 这篇文章的作者介绍了如何在Android平台下混淆程序,并且给出ant的build.xml文件,经过自己的测试,发现里面少了一些target项,在Eclips会出错,后来结合zxing开源项目的build.xml文件,终于混淆成功,项目包减少了不少。

    这里主要提一些注意事项,不提供源代码

    1、创建build.xml文件

     直接在项目的目录下新建一个名为build.xml的文件

    2、创建Ant打包方式

    项目 –> properties –> builders –> new –> ant builder

    接着Buildfile选择项目build.xml文件,Base Dir选择项目目录就行了,记得勾上你的builders

    3、build.xml文件修改

    zxing这个文件没有加入混淆包选项,所以得做一些修改,如下示例

    Xml代码  
    1. <property name="proguard-home" value="D:\\Program Files\\proguard4.2\\lib\\"/>  
    2.   
    3.     <target name="optimize" depends="compile">  
    4.         <jar basedir="${outdir-classes}" destfile="temp.jar"/>  
    5.         <java jar="${proguard-home}/proguard.jar" fork="true" failonerror="true">  
    6.             <jvmarg value="-Dmaximum.inlined.code.length=32"/>  
    7.             <arg value="-injars temp.jar"/>  
    8.             <arg value="-outjars optimized.jar"/>  
    9.             <arg value="-libraryjars ${android-jar}"/>  
    10.             <!-- <arg value="-libraryjars ${library-jar}/some_lib_used.jar"/> -->  
    11.             <arg value="-dontpreverify"/>  
    12.             <arg value="-dontoptimize"/>  
    13.             <arg value="-dontusemixedcaseclassnames"/>  
    14.             <arg value="-repackageclasses ''"/>  
    15.             <arg value="-allowaccessmodification"/>  
    16.             <arg value="-keep public class com.iwidsets.WidsetsActivity"/>  
    17.             <!-- <arg value="-keep public class com.just2me.obfapp.receiver.*"/> -->  
    18.             <arg value="-optimizationpasses 7"/>  
    19.             <arg value="-verbose"/>  
    20.             <arg value="-dontskipnonpubliclibraryclasses"/>  
    21.             <arg value="-dontskipnonpubliclibraryclassmembers"/>  
    22.         </java>  
    23.         <delete file="temp.jar"/>  
    24.         <delete dir="${outdir-classes}"/>  
    25.         <mkdir dir="${outdir-classes}"/>  
    26.         <unzip src="optimized.jar" dest="${outdir-classes}"/>  
    27.         <delete file="optimized.jar"/>  
    28.     </target>  

    注意:keep public class com.iwidsets.WidsetsActivity需改成你的主Activity

     并修改target dex

    Xml代码  
    1. <!-- Convert this project's .class files into .dex files. -->  
    2. <target name="dex" depends="compile,optimize">  
    3.     <echo>Converting compiled files and external libraries into ${out-folder}/${dex-file}...</echo>  
    4.     <apply executable="${dx}" failonerror="true" parallel="true">  
    5.         <arg value="--dex" />  
    6.         <arg value="--output=${intermediate-dex-location}" />  
    7.         <arg path="${outdir-classes-location}" />  
    8.         <fileset dir="${external-libs-folder}" includes="*.jar"/>  
    9.     </apply>  
    10. </target>  
  • 相关阅读:
    2.vue插件总结——总有你能用上的插件
    1.前端数据可视化插件:Highcharts、Echarts和D3(区别)
    git学习地址
    node vue 微信公众号(四)配置环境 本地测试
    解决element 分页组件,搜索过后current-page 绑定的数据变了,但是页面当前页码并没有变的问题
    导入excel并进行数据提取
    后端返回字符串中带换行符,前端需转换
    正则表达式tab表示
    FormData
    interval
  • 原文地址:https://www.cnblogs.com/sode/p/2455565.html
Copyright © 2011-2022 走看看