问题
I am trying to sign my application. Without checking the proguard the Sign in process goes fine. But if I am using the proguard I am getting the following stack trace. I have tried adding:
-dontwarn CompatHoneycomb -keep class android.support.v4. { *; }
-dontwarn **CompatCreatorHoneycombMR2
-dontwarn **ActivityCompatHoneycomb
-dontwarn **MenuCompatHoneycomb
lines to progaurd.cfg and also updating the progaurd.cfg by downloading the new version and copy pasting the jars and also have checked for any spaces in project location. None of them seems to work.
The applications min sdk version is 9. I am looking to load the application onto galaxy tab running android 3.2(Just thought these details might be needed)
**Error:Warning: android.support.v4.os.ParcelableCompatCreatorHoneycombMR2: can't find superclass or interface android.os.Parcelable$ClassLoaderCreator
Error:Warning: android.support.v4.view.AccessibilityDelegateCompatIcs$1: can't find superclass or interface android.view.View$AccessibilityDelegate
Error:Warning: android.support.v4.view.accessibility.AccessibilityManagerCompatIcs$1: can't find superclass or interface android.view.accessibility.AccessibilityManager$AccessibilityStateChangeListener
Error:Warning: android.support.v4.accessibilityservice.AccessibilityServiceInfoCompatIcs: can't find referenced method 'boolean getCanRetrieveWindowContent()' in class android.accessibilityservice.AccessibilityServiceInfo
Error:Warning: android.support.v4.accessibilityservice.AccessibilityServiceInfoCompatIcs: can't find referenced method 'java.lang.String getDescription()' in class android.accessibilityservice.AccessibilityServiceInfo
Error:Warning: android.support.v4.accessibilityservice.AccessibilityServiceInfoCompatIcs: can't find referenced method 'java.lang.String getId()' in class android.accessibilityservice.AccessibilityServiceInfo
Error:Warning: android.support.v4.accessibilityservice.AccessibilityServiceInfoCompatIcs: can't find referenced method 'android.content.pm.ResolveInfo getResolveInfo()' in class android.accessibilityservice.AccessibilityServiceInfo
Error:Warning: android.support.v4.accessibilityservice.AccessibilityServiceInfoCompatIcs: can't find referenced method 'java.lang.String getSettingsActivityName()' in class android.accessibilityservice.AccessibilityServiceInfo
Error:Warning: android.support.v4.os.ParcelableCompatCreatorHoneycombMR2: can't find referenced class android.os.Parcelable$ClassLoaderCreator
Error:Warning: android.support.v4.view.AccessibilityDelegateCompatIcs: can't find referenced class android.view.View$AccessibilityDelegate
Error:Warning: android.support.v4.view.AccessibilityDelegateCompatIcs: can't find referenced class android.view.accessibility.AccessibilityNodeInfo
Error:Warning: android.support.v4.view.AccessibilityDelegateCompatIcs$1: can't find referenced class android.view.View$AccessibilityDelegate
Error:Warning: android.support.v4.view.AccessibilityDelegateCompatIcs$1: can't find referenced class android.view.accessibility.AccessibilityNodeInfo
Error:Warning: android.support.v4.view.ViewCompatICS: can't find referenced method 'boolean canScrollHorizontally(int)' in class android.view.View
Error:Warning: android.support.v4.view.ViewCompatICS: can't find referenced method 'boolean canScrollVertically(int)' in class android.view.View
Error:Warning: android.support.v4.view.ViewCompatICS: can't find referenced class android.view.View$AccessibilityDelegate
Error:Warning: android.support.v4.view.ViewCompatICS: can't find referenced method 'void setAccessibilityDelegate(android.view.View$AccessibilityDelegate)' in class android.view.View
Error:Warning: android.support.v4.view.ViewCompatICS: can't find referenced method 'void onPopulateAccessibilityEvent(android.view.accessibility.AccessibilityEvent)' in class android.view.View
Error:Warning: android.support.v4.view.ViewCompatICS: can't find referenced method 'void onInitializeAccessibilityEvent(android.view.accessibility.AccessibilityEvent)' in class android.view.View
Error:Warning: android.support.v4.view.ViewCompatICS: can't find referenced class android.view.accessibility.AccessibilityNodeInfo
Error:Warning: android.support.v4.view.ViewCompatICS: can't find referenced method 'void onInitializeAccessibilityNodeInfo(android.view.accessibility.AccessibilityNodeInfo)' in class android.view.View
Error:Warning: android.support.v4.view.ViewGroupCompatIcs: can't find referenced method 'boolean onRequestSendAccessibilityEvent(android.view.View,android.view.accessibility.AccessibilityEvent)' in class android.view.ViewGroup
Error:Warning: android.support.v4.view.accessibility.AccessibilityEventCompatIcs: can't find referenced method 'int getRecordCount()' in class android.view.accessibility.AccessibilityEvent
Error:Warning: android.support.v4.view.accessibility.AccessibilityEventCompatIcs: can't find referenced class android.view.accessibility.AccessibilityRecord
Error:Warning: android.support.v4.view.accessibility.AccessibilityEventCompatIcs: can't find referenced method 'void appendRecord(android.view.accessibility.AccessibilityRecord)' in class android.view.accessibility.AccessibilityEvent
Error:Warning: android.support.v4.view.accessibility.AccessibilityEventCompatIcs: can't find referenced method 'android.view.accessibility.AccessibilityRecord getRecord(int)' in class android.view.accessibility.AccessibilityEvent
Error:Warning: android.support.v4.view.accessibility.AccessibilityManagerCompatIcs: can't find referenced class android.view.accessibility.AccessibilityManager$AccessibilityStateChangeListener
Error:Warning: android.support.v4.view.accessibility.AccessibilityManagerCompatIcs: can't find referenced method 'boolean addAccessibilityStateChangeListener(android.view.accessibility.AccessibilityManager$AccessibilityStateChangeListener)' in class android.view.accessibility.AccessibilityManager
Error:Warning: android.support.v4.view.accessibility.AccessibilityManagerCompatIcs: can't find referenced method 'boolean removeAccessibilityStateChangeListener(android.view.accessibility.AccessibilityManager$AccessibilityStateChangeListener)' in class android.view.accessibility.AccessibilityManager
Error:Warning: android.support.v4.view.accessibility.AccessibilityManagerCompatIcs: can't find referenced method 'java.util.List getEnabledAccessibilityServiceList(int)' in class android.view.accessibility.AccessibilityManager
Error:Warning: android.support.v4.view.accessibility.AccessibilityManagerCompatIcs: can't find referenced method 'java.util.List getInstalledAccessibilityServiceList()' in class android.view.accessibility.AccessibilityManager
Error:Warning: android.support.v4.view.accessibility.AccessibilityManagerCompatIcs: can't find referenced method 'boolean isTouchExplorationEnabled()' in class android.view.accessibility.AccessibilityManager
Error:Warning: android.support.v4.view.accessibility.AccessibilityManagerCompatIcs$1: can't find referenced class android.view.accessibility.AccessibilityManager$AccessibilityStateChangeListener
Error:Warning: android.support.v4.view.accessibility.AccessibilityNodeInfoCompatIcs: can't find referenced class android.view.accessibility.AccessibilityNodeInfo
Error:Warning: android.support.v4.view.accessibility.AccessibilityRecordCompatIcs: can't find referenced class android.view.accessibility.AccessibilityRecord
Error:Warning: android.support.v4.widget.EdgeEffectCompatIcs: can't find referenced class android.widget.EdgeEffect
Error:Warning: there were 124 unresolved references to classes or interfaces.
Error: You may need to specify additional library jars (using '-libraryjars').
Error:Warning: there were 20 unresolved references to program class members.
Error: Your input classes appear to be inconsistent.
Error: You may need to recompile them and try again.
Error: Alternatively, you may have to specify the option
Error: '-dontskipnonpubliclibraryclassmembers'.
Error:java.io.IOException: Please correct the above warnings first.
Error: at proguard.Initializer.execute(Initializer.java:321)
Error: at proguard.ProGuard.initialize(ProGuard.java:211)
Error: at proguard.ProGuard.execute(ProGuard.java:86)
Error: at proguard.ProGuard.main(ProGuard.java:492)**
回答1:
add this cfg line: -dontwarn android.support.** you can see it in you sdk like: android-sdks/tools/proguard/docs/index.html which say : If you're using the Android Compatibility library, you should add the following line, to let ProGuard know it's ok that the library references some classes that are not available in all versions of the API:
-dontwarn android.support.**
回答2:
I found the a hack for the problem i have added a command in progaurd.cfg and vola it works fine now
-dontwarn android.support.v4.**
I am not sure if its the right way, because as i understand, i am just suppressing the warnings.
回答3:
-dontwarn android.support.v4.** Worked for me.
回答4:
While the min SDK level is 9 you can target higher SDK levels, if you haven't tried this I'd suggest targeting 14, this solves a very similar problekm for me.
回答5:
If you download the last version of Android tools, you should place the support library on the /libs folder.
Maybe this is your problem.
来源:https://stackoverflow.com/questions/9949634/android-application-with-android-support-v4-jar-added-to-lib-facing-error-while