zoukankan      html  css  js  c++  java
  • 日积月累:ProguardGui进行jar包代码混淆

    前面文章《Proguard进行源代码混淆》讲解过怎么使用Proguard工具对Android的源代码进行混淆的方法(感兴趣的朋友可以访问:http://blog.csdn.net/p106786860/article/details/11974863),但是在实际工作中发现,通过上述方法对导出的Jar并没有进行混淆 

     

    下面我们就介绍,如果对导出的Jar包进行代码混淆 

    一、准备工作 

    首先我们要准备好:1.你已经导出的jar包(srcjar.jar)文件,2.ProguardGui工具 sdktoolsproguardinproguardgui.bat)。 



     

    二、操作步骤 

    1.启动proguardgui工具。 

    双击groguardgui.bat文件,运行如下图 


     

    2.设置我们需要混淆的jar包和混淆后输出的jar包。 

    点击左边的Input/Output按钮,运行如下图。在点击Add input按钮,添加我们需要进行混淆的jar包(srcjar.jar)。点击Add output按钮,填入我们要输出的jar包的名称 


     

    3.添加jar包支持的库。 

    点击下面的Add按钮,一一添加jar包支持的库。建议把你的Eclipe中,项目下所有的jar包都拷贝到一个统一的目录中,然后进行添加。 


    项目中所有的jar支持 


    集中了所有的jar在同一个文件夹下 


    添加了jar包支持的库 

     

    4.依次设置混淆的各种配置 

    依次点击Shrinking按钮、Obfuscation按钮、Optimization按钮和Information按钮,分别对混淆进行各种配置。 

     

    5.保存混淆的配置文件 

    点击Process按钮,在点击Save configuration按钮,保存我们混淆配置文件 


     

    6.根据需求修改混淆配置文件 

    在真实的项目中,可能由于各种第三方的jar包,自动类和控件等问题,在混淆的时候,会导致各种类无法找到的问题。使用文本编辑器打开srcjar.pro文件,可以根据自己的需求编辑混淆配置。 

     

    
    
    -injars ruyicai.jar //需要混淆的jar包  
    -outjars ruyicai-out.jar //混淆完毕输出的jar包 
     
    //引用依赖的jar包 
    -libraryjars 'C:Program FilesJavajdk1.6.0_43jrelib
    t.jar' 
    … ... 
    -libraryjars libsweibo-1.2.jar 
     
    -optimizationpasses 5 
    -dontusemixedcaseclassnames 
    -dontskipnonpubliclibraryclasses 
    -dontpreverify 
    -verbose 
    -optimizations !code/simplification/arithmetic,!field/*,!class/merging/* 
     
    //在混淆的过程中,建议保留Activity,Application四大组件,其它的类可根据实际情况设置是否混淆 
    -keep public class * extends android.app.Activity 
    -keep public class * extends android.app.Application 
    -keep public class * extends android.app.Service 
    … …  
    -keep public class com.ruyicai.activity.common.PullRefreshListView{*;} 
     
    //不混淆第三方的jar包 
    -keep class com.alipay.android.app.**{*;} 
    … ... 
    -keep class cn.jpush.android.**{*;} 
     
    //后面的规则使用默认的,这里不在描述 
    … …. 

    7.载入混淆配置文件,对Jar进行混淆 

    重新启动proguardgui程序,在点击右边Proguard按钮,点击Load configration按钮,导入上面配置好的混淆文件 


    然后点击右边Process按钮,再次点击下面的Process按钮,进行Jar的混淆 


    如出现上图successfully提示,则混淆完毕 

  • 相关阅读:
    Java面试集合(一)
    Java面试集合(一)
    Android-如何显示版本号并制作3秒跳转页
    Android-如何显示版本号并制作3秒跳转页
    安卓入门教程(十五)- Fragment,Service,WAMP下载
    安卓入门教程(十五)- Fragment,Service,WAMP下载
    网络开发Socket和ServerSocket
    网络开发Socket和ServerSocket
    深入浅出的Java网络通信
    深入浅出的Java网络通信
  • 原文地址:https://www.cnblogs.com/suncoolcat/p/3347890.html
Copyright © 2011-2022 走看看