ProGuard with Android: java.lang.NoSuchMethodError: android.util.Xml.asAttributeSet -


my app runs when proguard disabled.

after proguard enabled, app exported apk , installed emulator.

then when run in emulator, force close...

05-10 11:14:10.582: e/androidruntime(759): fatal exception: main 05-10 11:14:10.582: e/androidruntime(759): java.lang.nosuchmethoderror: android.util.xml.asattributeset 05-10 11:14:10.582: e/androidruntime(759):  @ com.actionbarsherlock.view.menuinflater.inflate(unknown source) 05-10 11:14:10.582: e/androidruntime(759):  @ com.g.myapp.e.oncreateoptionsmenu(unknown source) 05-10 11:14:10.582: e/androidruntime(759):  @ android.support.v4.app.watson.oncreatepanelmenu(unknown source) 05-10 11:14:10.582: e/androidruntime(759):  @ com.actionbarsherlock.actionbarsherlock.callbackcreateoptionsmenu(unknown source) 05-10 11:14:10.582: e/androidruntime(759):  @ com.actionbarsherlock.internal.actionbarsherlocknative.dispatchcreateoptionsmenu(unknown source) 05-10 11:14:10.582: e/androidruntime(759):  @ com.actionbarsherlock.app.sherlockfragmentactivity.oncreatepanelmenu(unknown source) 05-10 11:14:10.582: e/androidruntime(759):  @ com.android.internal.policy.impl.phonewindow.preparepanel(phonewindow.java:393) 05-10 11:14:10.582: e/androidruntime(759):  @ com.android.internal.policy.impl.phonewindow.invalidatepanelmenu(phonewindow.java:747) 05-10 11:14:10.582: e/androidruntime(759):  @ com.actionbarsherlock.internal.actionbarsherlocknative.dispatchinvalidateoptionsmenu(unknown source) 05-10 11:14:10.582: e/androidruntime(759):  @ com.actionbarsherlock.app.sherlockfragmentactivity.invalidateoptionsmenu(unknown source) 05-10 11:14:10.582: e/androidruntime(759):  @ com.actionbarsherlock.app.sherlockfragmentactivity.supportinvalidateoptionsmenu(unknown source) 05-10 11:14:10.582: e/androidruntime(759):  @ android.support.v4.app.fragment.sethasoptionsmenu(unknown source) 05-10 11:14:10.582: e/androidruntime(759):  @ com.g.myapp.e.oncreate(unknown source) 05-10 11:14:10.582: e/androidruntime(759):  @ android.support.v4.app.fragmentmanagerimpl.movetostate(unknown source) 05-10 11:14:10.582: e/androidruntime(759):  @ android.support.v4.app.fragmentmanagerimpl.movetostate(unknown source) 05-10 11:14:10.582: e/androidruntime(759):  @ android.support.v4.app.backstackrecord.run(unknown source) 05-10 11:14:10.582: e/androidruntime(759):  @ android.support.v4.app.fragmentmanagerimpl.execpendingactions(unknown source) 05-10 11:14:10.582: e/androidruntime(759):  @ android.support.v4.app.fragmentmanagerimpl.executependingtransactions(unknown source) 05-10 11:14:10.582: e/androidruntime(759):  @ com.g.myapp.n.ontabchanged(unknown source) 05-10 11:14:10.582: e/androidruntime(759):  @ android.widget.tabhost.invokeontabchangelistener(tabhost.java:391) 05-10 11:14:10.582: e/androidruntime(759):  @ android.widget.tabhost.setcurrenttab(tabhost.java:376) 05-10 11:14:10.582: e/androidruntime(759):  @ android.widget.tabhost.addtab(tabhost.java:236) 05-10 11:14:10.582: e/androidruntime(759):  @ com.g.myapp.n.a(unknown source) 05-10 11:14:10.582: e/androidruntime(759):  @ com.g.myapp.mainactivity.oncreate(unknown source) 05-10 11:14:10.582: e/androidruntime(759):  @ android.app.activity.performcreate(activity.java:5008) 05-10 11:14:10.582: e/androidruntime(759):  @ android.app.instrumentation.callactivityoncreate(instrumentation.java:1079) 05-10 11:14:10.582: e/androidruntime(759):  @ android.app.activitythread.performlaunchactivity(activitythread.java:2023) 05-10 11:14:10.582: e/androidruntime(759):  @ android.app.activitythread.handlelaunchactivity(activitythread.java:2084) 05-10 11:14:10.582: e/androidruntime(759):  @ android.app.activitythread.access$600(activitythread.java:130) 05-10 11:14:10.582: e/androidruntime(759):  @ android.app.activitythread$h.handlemessage(activitythread.java:1195) 05-10 11:14:10.582: e/androidruntime(759):  @ android.os.handler.dispatchmessage(handler.java:99) 05-10 11:14:10.582: e/androidruntime(759):  @ android.os.looper.loop(looper.java:137) 05-10 11:14:10.582: e/androidruntime(759):  @ android.app.activitythread.main(activitythread.java:4745) 05-10 11:14:10.582: e/androidruntime(759):  @ java.lang.reflect.method.invokenative(native method) 05-10 11:14:10.582: e/androidruntime(759):  @ java.lang.reflect.method.invoke(method.java:511) 05-10 11:14:10.582: e/androidruntime(759):  @ com.android.internal.os.zygoteinit$methodandargscaller.run(zygoteinit.java:786) 05-10 11:14:10.582: e/androidruntime(759):  @ com.android.internal.os.zygoteinit.main(zygoteinit.java:553) 05-10 11:14:10.582: e/androidruntime(759):  @ dalvik.system.nativestart.main(native method) 

proguard-project.txt:

-keep class android.support.v4.app.** { *; } -keep interface android.support.v4.app.** { *; } -keep class com.actionbarsherlock.** { *; } -keep interface com.actionbarsherlock.** { *; }  -keepattributes *annotation*  -dontwarn org.w3c.dom.bootstrap.** -dontwarn org.joda.time.** -dontwarn org.xmlpull.v1.** 

how can fix error?

thank much!


updated:

the app can run in emulator after adding 1 line proguard-project.txt:

-keep class * { *; } 

although app can run, think solution may not good...

any better solution?

please help.

thanks lot.

add 1 line proguard-project.txt:

-keep class org.xmlpull.v1.** { *; } 

Comments

Popular posts from this blog

linux - xterm copying to CLIPBOARD using copy-selection causes automatic updating of CLIPBOARD upon mouse selection -

c++ - qgraphicsview horizontal scrolling always has a vertical delta -