Proguard.cfg 配置

分享到:

 

  •    -optimizationpasses 5 //代码混淆压缩比 默认为5 一般不需要改 -dontusemixedcaseclassnames //混淆后的类名为小写  如public class a    
  • -dontskipnonpubliclibraryclasses //混淆第三方  库  加上此句后 可再后面配置某些库不混淆 -dontpreverify // 混淆前认证,可去掉加快混淆速度
  •  -verbose //混淆的log 帮助排错
  • -optimizations !code/simplification/arithmetic,!field/*,!class/merging/*  //代码混淆采用的算法,一般不改变,用谷歌推荐算即可
  • -keepattributes *Annotation* 假如项目中有用到注解 应用加入
  •    引用外部的jar包 如果不是自己写的 最好不混淆它们,因为外部jar包有可能已经混淆过,根据实际情况来 不混淆某些外部jar
   保持外部jar包不变的方法
-dontwarn android.support.v4.** //执行下面一行代码如果有警告也不用中止,因为此jar不是我们自己写的,有警告也不处理,故dontwarn
-keep class android.support.v4.** //项目中用到此jar包,在打包时必须不混淆,否则用ViewPager时必crash,原因很简单,ViewPager是一个自定义view,在布局中用类的全名来
定义此布局,混淆后类名和包名改变,xml布局无法再通过类名打到此自定义view

如果你的项目中用到了webview的复杂操作
加入此两行代码
-keepclassmembers class * extends android.webkit.WebViewClient {
     public void *(android.webkit.WebView,java.lang.String,android.graphics.Bitmap);
     public boolean *(android.webkit.WebView,java.lang.String);
}

-keepclassmembers class * extends android.webkit.WebChromeClient {
     public void *(android.webkit.WebView,java.lang.String);
}



经过实战检验,做腾讯QQ登录,如果引用他们提供的jar,若不加防止WebChromeClient混淆的代码,oauth认证无法回调,反编译基代码后可看到他们有用到WebChromeClient,加入此代码即可,
不过还是建议不要用他们提供的jar包做oauth认证,至于为啥,不解释
正常开发 系统默认的混淆再加上以上基本的混淆即可满足,更多需求还需要去阅文档
用到了anroid支持包加入
-libraryjars   libs/android-support-v4.jar
-dontwarn android.support.v4.**    
-keep class android.support.v4.** { *; }  
-keep interface android.support.v4.app.** { *; }  
-keep public class * extends android.support.v4.**  
-keep public class * extends android.app.Fragment
昵    称:
验证码:

相关文档:

  • 实现怎样支持Android重力感应器Sensor编程
    添加当重力变化时的处理函数 在创建监听器时调用的函数 doSomething(x, y, z) 是自己定义的方法。 当手机倾斜方向改变时,监听器会调用...
  • 获取android设备的IP地址
    直接贴代码,功能介绍代码里注释: packagecom.hui.wang; importandroid.app.Activity;importandroid.app.AlertDialog;importandroid.content.DialogInterface;importandroid.n...
  • ‍‍ Android SDK 中Android.net.wi
    这里列了很多,但是大致可以分为四个主要的类ScanResultwifiConfigurationWifiInfoWifiManager(1)ScanResult,主要是通过wifi硬件的扫描来获取一些周边...
  • Android中的应用认领总结_Android
    这篇文章主要介绍了Android中的应用认领总结,本文讲解了如何认领、对未签名包签名、需要替换的签名值、验证签名等内容,需要的朋友可...
  • 微信公众平台开发入门教程(图文详解)_Android
    由于微信的大热,为了更好的方便使用微信的用户查询一些信息,这篇文章是入门级的微信公众平台开发教程,需要的朋友可以参考下...
  • Android开源项目源码下载(不断更新中)
    最近我搜集了一些提供源码的开源项目,在这里发布出来供大家学习使用。 1.在上一节中的APN地址:http://files.cnblogs.com/salam/apndroid.rar 2.s...
  • 重新认识Android
    首先我们来看下源码中源于Activity的定义: [java]viewplaincopy...
  • android-menudrawer是一个滑动式菜单实现
    Android上的菜单展示风格各异,其中用得最多且体验最好的莫过于左右滑动来显示隐藏的菜单,android-menudrawer是一个滑动 式菜单实现,允...
  • Android中使用include标签和merge标签重复使用布局_Android
    这篇文章主要介绍了Android中使用include标签和merge标签重复使用布局,文中讲解了创建可复用布局的例子以及include标签和merge标签使用例子,...
  • Android开发性能优化大总结
    1. 采用硬件加速,在androidmanifest.xml中application添加 android:hardwareAccelerated="true"。不过这个需要在android 3.0才可以 使用。android...
  • 【转载】Android 面试题(1)
    真他妈的全面呢。 1.请描述下Activity的生命周期。2.如果后台的Activity由于某原因被系统回收了,如何在被系统回收之前保存当前状态?3....
  • android全屏去掉title栏的多种实现方法_Android
    android全屏去掉title栏包括以下几个部分:实现应用中的所有activity都全屏/实现单个activity全屏/实现单个activity去掉title栏/自定义标题内容/...
  • [Android开发]如何自定义ArrayAdapter
    场景:我想显示sd卡的/DCIM/Camera目录中的所有图片到一个列表中,这个列表中的每一项左边是图片的缩略图,右边是文件名。分析:这个...
  • Android下拉刷新控件: ActionBar-PullToRefresh
    ActionBar-PullToRefresh提供了一种简单的方法来在您的应用程序中添加实现一个现代版的下拉来刷新交互。...
  • android读取Assets图片资源保存到SD卡实例_Android
    本文为大家详细介绍下android读取Assets图片资源保存到SD卡的具体实现,感兴趣的各位可以参考下哈,希望对大家有所帮助...
  • Android gallery 的使用
    这个控件在android4.1以后不建议使用,替代UI为ViewPager,下面给出一个网友的事例: <LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android" x...
  • Android的所有权限
    Android权限分的很细,但命名比较人性化,Androidpermission比SymbianCapabilities有了不少改进,下面就来看看权限许可都有哪些定义吧,发现还...
  • 安卓学习第27课——toast
    <LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match...
  • Android手机客户端使用QQ登录
    查看http://wiki.connect.qq.com/中的Android应用接入API 下载jar包(open_sdk.jar,mta-sdk-1.0.0.jar) 在Android项目中AndroidManifest.xml <activity android:name="c...
  • 白手起家之android学习第一天
    今天晚上没去实验室,自己一个人跑到教室来学android了,教室很凉快,很安静,是一个学习的好地方,闲话不多说,记录自己的学习过...