Запутать проблему android.support.v7.widget.GridLayout

Я пытаюсь запутать свое приложение для Android, где я использую android.support.v7.appcompat и android.support.v7.GridLayout, но приложение дает сбой со следующим исключением:

android.view.InflateException: Binary XML file line #2: Error inflating class    android.support.v7.widget.GridLayout
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:698)
at android.view.LayoutInflater.inflate(LayoutInflater.java:466)
at android.view.LayoutInflater.inflate(LayoutInflater.java:396)
at com.droid.fragments.c.al.onCreateView(Unknown Source)
at android.support.v4.app.Fragment.performCreateView(Unknown Source)
at android.support.v4.app.FragmentManagerImpl.moveToState(Unknown Source)
at android.support.v4.app.FragmentManagerImpl.moveToState(Unknown Source)
at android.support.v4.app.BackStackRecord.run(Unknown Source)
at android.support.v4.app.FragmentManagerImpl.execPendingActions(Unknown Source)
at android.support.v4.app.FragmentManagerImpl$1.run(Unknown Source)
at android.os.Handler.handleCallback(Handler.java:615)
at android.os.Handler.dispatchMessage(Handler.java:92)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:4745)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.ClassNotFoundException: android.support.v7.widget.GridLayout
at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:61)
at java.lang.ClassLoader.loadClass(ClassLoader.java:501)
at java.lang.ClassLoader.loadClass(ClassLoader.java:461)
at android.view.LayoutInflater.createView(LayoutInflater.java:552)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:687)

Мой proguard-project.txt:

-dontusemixedcaseclassnames  
-dontskipnonpubliclibraryclasses  
-verbose  
-dontoptimize  
-dontpreverify  
-keepclasseswithmembernames class * {  
    native <methods>;  
}  

-keepattributes *Annotation*,EnclosingMethod,Signature  

-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 * extends android.app.backup.BackupAgentHelper   
-keep public class * extends android.preference.Preference  

-keepclassmembers public class * extends android.view.View {  
   void set*(***);  
   *** get*();  
}  

-keepclassmembers class * extends android.app.Activity {  
   public void *(android.view.View);  
}  

-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 *;  
  public void set*(***);  
  public *** get*();  
  public *** is*();  
}  

-keepclassmembers class **.R$* {  
    public static <fields>;  
}  

-keep class android.support.v7.widget.** { *; }  
-keep class android.support.v7.internal.** { *; }  
-keep interface android.support.v7.internal.** { *; }  
-keep class android.support.v4.widget.** { *; }  
-keep interface android.support.v4.widget.** { *; }  
-keep class com.viewpagerindicator.** { *; }  

-keep class android.support.v4.app.** { *; }  
-keep class android.support.v4.view.** { *; }  
-keep interface android.support.v4.app.** { *; }  
-keep interface android.support.v4.view.** { *; }  

Как я могу решить эту проблему?


person haraki    schedule 24.09.2013    source источник


Ответы (2)


Я использую что-то вроде этого (хотя это может быть слишком широко):

# Preserve all fundamental application classes.
-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.view.View
-keep public class * extends android.preference.Preference
-keep public class * extends android.content.BroadcastReceiver
-keep public class * extends android.content.ContentProvider

# Preserve Android support libraries` classes and interfaces
-keep class android.support.** { *; }
-keep interface android.support.** { *; }
person Szymon    schedule 24.09.2013

person    schedule
comment
Вы пропустили -keep class android.support.v7.** { *; } - person Felipe Lima; 05.02.2014