Java ShareSDK上的Proguard。获取异常NoClassDefFoundError:com.mob.tools.utils.R

Java ShareSDK上的Proguard。获取异常NoClassDefFoundError:com.mob.tools.utils.R,java,android,proguard,Java,Android,Proguard,我正在使用Proguard混淆我的Android应用程序。我的应用程序正在使用ShareSDK库 当我使用共享功能时。我的标题是NoClassDefFoundError 我在我的proguard-rules.pro中添加了proguard规则,如下所示: -keep class cn.sharesdk.**{*;} -keep class com.sina.**{*;} -keep class **.R$* {*;} -keep class **.R{*;} -dontwarn cn.share

我正在使用Proguard混淆我的Android应用程序。我的应用程序正在使用ShareSDK库

当我使用共享功能时。我的标题是NoClassDefFoundError

我在我的proguard-rules.pro中添加了proguard规则,如下所示:

-keep class cn.sharesdk.**{*;}
-keep class com.sina.**{*;}
-keep class **.R$* {*;}
-keep class **.R{*;}
-dontwarn cn.sharesdk.**
-dontwarn **.R$*
-keep class m.framework.**{*;}
-keep class com.mob.**{*;}
-dontwarn com.mob.**
我已经检查了mapping.txt,其中包含以下句子:

com.mob.tools.utils.R -> com.mob.tools.utils.R:
float density -> density
int deviceWidth -> deviceWidth
java.lang.Object rp -> rp
void <init>() -> <init>
...
com.mob.tools.utils.R->com.mob.tools.utils.R:
浮动密度->密度
int deviceWidth->deviceWidth
java.lang.Object rp->rp
void()->
...
所以我认为类
com.mob.tools.utils.R
被保留了下来


有人能告诉我如何找到这个类吗?

将这个添加到您的proguard.pro文件中

    -keepclasseswithmembers class * {
    public <init>(android.content.Context, android.util.AttributeSet);
}
-keepclasseswithmembers class * {
    public <init>(android.content.Context, android.util.AttributeSet, int);
}
-keepclassmembers enum * {
  public static **[] values();
  public static ** valueOf(java.lang.String);
 }
-keepclassmembers class * implements android.os.Parcelable {
    static ** CREATOR;
}
-keepclassmembers class **.R$* {
    public static <fields>;
}
-keepclassmembers class * {
    @android.webkit.JavascriptInterface <methods>;
}
-keepclassmembers class * implements java.io.Serializable {
    static final long serialVersionUID;
    private static final java.io.ObjectStreamField[] serialPersistentFields;
    private void writeObject(java.io.ObjectOutputStream);
    private void readObject(java.io.ObjectInputStream);
    java.lang.Object writeReplace();
    java.lang.Object readResolve();
}

-assumenosideeffects class android.util.Log {
    public static boolean isLoggable(java.lang.String, int);
    public static int v(...);
    public static int i(...);
    public static int w(...);
    public static int d(...);
    public static int e(...);
}
-adaptresourcefilenames    **.properties,**.gif,**.jpg,**.png,**.xml
-adaptresourcefilecontents **.properties,**.xml
-dontwarn android.**
-dontwarn android.support.**
-dontwarn android.support.design.*
-dontwarn org.objenesis.**
-keepclassswithmembers类*{
public(android.content.Context、android.util.AttributeSet);
}
-keepclassswithmembers类*{
public(android.content.Context,android.util.AttributeSet,int);
}
-keepclassmembers枚举*{
公共静态**[]值();
公共静态**valueOf(java.lang.String);
}
-keepclassmembers类*实现android.os.Parcelable{
静态**创建者;
}
-keepclassmembers类**.R$*{
公共静态;
}
-keepclassmembers类*{
@android.webkit.JavascriptInterface;
}
-keepclassmembers类*实现java.io.Serializable{
静态最终长SerialVersionId;
私有静态final java.io.ObjectStreamField[]serialPersistentFields;
私有void writeObject(java.io.ObjectOutputStream);
私有void readObject(java.io.ObjectInputStream);
java.lang.Object WriterReplace();
java.lang.Object readResolve();
}
-assumenosideeffects类android.util.Log{
公共静态布尔isLoggable(java.lang.String,int);
公共静态INTV(…);
公共静态int i(…);
公共静态int w(…);
公共静态int d(…);
公共静态INTE(…);
}
-AdapterResourceFileNames**.properties、**.gif、**.jpg、**.png、**.xml
-AdapterResourceFileContents**.properties,**.xml
-dontwarn安卓**
-dontwarn android.support**
-dontwarn android.support.design*
-dontwarn org.objenesis**
更新

将以下内容也添加到proguard文件中

-dontusemixedcaseclassnames
-dontskipnonpubliclibraryclasses
-dontpreverify
-verbose
-ignorewarnings
-repackageclasses ''
    -allowaccessmodification
-optimizations !code/simplification/arithmetic,!field/*,!class/merging/*
-keepattributes *Annotation*, EnclosingMethod
-keepattributes Signature


-keepclassmembers public class cn.sharesdk.**{
<init>(...);
*;
}

-keepclassmembers public class com.sina.**{
    <init>(...);
    *;
    }
-dontusemixedcaseclassnames
-DontskipnonPublicLibraryClass
-不要翻转
-冗长的
-忽视警告
-重新打包类“”
-允许访问修改
-优化!代码/简化/算术,!字段/*,!类/合并/*
-keepattributes*注释*,封闭方法
-保留署名
-keepclassmembers公共类cn.sharesdk**{
(...);
*;
}
-keepclassmembers公共类com.sina**{
(...);
*;
}

谢谢,但我仍然收到相同的错误。我看到mapping.txt中有
com.mob.tools.utils.R->com.mob.tools.utils.R:
,这意味着类被保留了,不是吗?