在 IntelliJ Idea 中尝试使用混淆器登录时,将 android-support-v4.jar 添加到面临错误的 Android 应用程序

标签 android intellij-idea proguard

我正在尝试签署我的申请。无需检查 proguard,登录过程就可以正常进行。但如果我使用混淆器,我会得到以下堆栈跟踪。我尝试添加:

-dontwarn CompatHoneycomb -keep class android.support.v4. { *; }
-dontwarn **CompatCreatorHoneycombMR2
-dontwarn **ActivityCompatHoneycomb
-dontwarn **MenuCompatHoneycomb

到 progaurd.cfg 的行,还通过下载新版本更新 progaurd.cfg 并复制粘贴 jars,还检查了项目位置中的任何空间。它们似乎都不起作用。

应用程序的最小 sdk 版本是 9。我希望将应用程序加载到运行 android 3.2 的 galaxy 选项卡上(只是认为可能需要这些细节)

**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)**

最佳答案

添加此配置行: -不要警告android.support.** 你可以在你的 sdk 中看到它,比如: android-sdks/tools/proguard/docs/index.html 其中说: 如果您使用的是 Android 兼容性库,则应添加以下行,让 ProGuard 知道该库可以引用一些并非在所有版本的 API 中都可用的类:

-dontwarn android.support.**

关于在 IntelliJ Idea 中尝试使用混淆器登录时,将 android-support-v4.jar 添加到面临错误的 Android 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9949634/

相关文章:

android - 如何使用ProGuard保护apk不被反编译?

java - 如何使用 IF 条件比较 Flutter(dart)中的两个 DateTime 值?

Android 应用发布错误

java - 如何在多个模块中的公共(public)库中使用 Singleton 而不会发生冲突?

android - 在应用程序中存储和保护私有(private) API key 的最佳实践

java - 使用 Gradle 仅编译时依赖项和 ProGuard

android - FragmentPagerAdapter 和 FragmentStatePagerAdapter

android - 在 OpenCV 中检测后将图像放置在矩形上

java - 我的计算机上可以有两个版本的 JDK 吗?

java - 如何修复 Intellij 中未设置的 TERM 环境?