用proguard.cfg默认配置,并在default.properties中加入proguard.config=proguard.cfg
然后用androidtools导出签名或不签名的apk文件,结果是混淆了,但少了很多文件夹和class文件。
请问是什么问题,是不是proguard.cfg配置写得不对。
下面附上proguard.cfg的内容
-optimizationpasses 5
-dontusemixedcaseclassnames
-dontskipnonpubliclibraryclasses
-dontpreverify
-verbose
-optimizations !code/simplification/arithmetic,!field/*,!class/merging/*-keep public class * extends android.app.Activity
-keep public class * extends android.app.Application
-keep public class * extends android.app.Service
-keep public class * extends android.content.BroadcastReceiver
-keep public class * extends android.content.ContentProvider
-keep public class com.android.vending.licensing.ILicensingService-keepclasseswithmembernames class * {
native <methods>;
}-keepclasseswithmembernames class * {
public <init>(android.content.Context, android.util.AttributeSet);
}-keepclasseswithmembernames class * {
public <init>(android.content.Context, android.util.AttributeSet, int);
}-keepclassmembers enum * {
public static **[] values();
public static ** valueOf(java.lang.String);
}-keep class * implements android.os.Parcelable {
public static final android.os.Parcelable$Creator *;
}

解决方案 »

  1.   

    少了些文件和类是proguard的混淆和优化的结果,无需担忧
      

  2.   

    少很多,混淆前有30个java文件,混淆后只有7个class文件。
    并且混淆后的apk不能在真机运行。应该是少了没写class文件造成的。
    why
      

  3.   

    proguard.flags是什么?
    大家都怎么混淆的,能不能把proguard.cfg发上来看看。
      

  4.   

    都是用默认的,没有用到的类想保留就在下面加keep
      

  5.   

    我会在input中导入android的sdk目录,然后去一起process。
      

  6.   

    很难啊。有哪位大哥教教我 急死我了。 整了好久了
    我这边是用到反射的地方会莫名其妙的出错。
    所以我现在想指定混淆几个类就好,不知道指定混淆某几个类在cfg里怎么配置有大哥帮忙么、
      

  7.   

    用proguard.cfg默认配置,并在default.properties中加入proguard.config=proguard.cfg
    然后直接签名导出即可打成混淆包。
      

  8.   

    为什么我的按照用proguard.cfg默认配置,并在default.properties中加入proguard.config=proguard.cfg
    然后用androidtools导出签名或不签名的apk文件,结果是混淆了,但少了很多文件夹和class文件。这个方法后生成的apk文件不能安装
      

  9.   

    你混淆的类是.cfg文件中keep的类,是强制保存的。你再仔细看你剩下的类,估计都是继承Activity的一类的吧
      

  10.   

    急用,我这边的这界面是九宫格的布局,其中九宫格的图标用到了反射的机制,但是我混淆出来九宫格界面只有每个图标下边的文字,却不见图标,哪位大虾帮我解决哈这是九宫格的布局代码:
    <?xml version="1.0" encoding="utf-8"?>
    <Menu>
    <!-- 考勤上报 -->
    <item parent="MenuRoot" icon="checkin" target="checkIn" isMenu="true"
    checkIn="false" title="考勤上报" packageName="com.doone.smas.phone.android.activity"
    className=".CheckInActivity" userType="11,12" />
    <item parent="checkIn" icon="checkin" title="人员签到" isMenu="false"
    checkIn="checkin" target="MenuRoot" packageName="" className="checkIn"
    userType="11,12" />
    <item parent="checkIn" icon="checkout" title="人员签退" isMenu="false"
    checkIn="checkout" target="MenuRoot" packageName="" className="checkOut"
    userType="11,12" />
    <item parent="checkIn" icon="rest" title="休息上报" isMenu="false"
    checkIn="rest" target="MenuRoot" packageName="" className="rest"
    userType="11,12" />
    <item parent="checkIn" icon="back" title="返回上级" isMenu="true"
    checkIn="false" target="MenuRoot" packageName="" className=""
    userType="11,12" />
    </Menu>
      

  11.   

    proguard.config=proguard.cfg
    我也是用了这个之后,发现直接用eclipse安装到手机上,应用没问题,,如果打包成apk文件后,再安装,有些接收服务器push的功能就用不了。。好纠结。