RootTools.jar 和 OneSignal SDK 创建重复输入错误
RootTools.jar and OneSignal SDK creates duplicate entry error
我有 android 项目,其中包括 RootTools.jar,运行 没有任何问题,但是当我按照本指南添加 OneSignal SDK 时:
Android SDK Installation (Android Studio) 我尝试 运行 时出错:
com.android.build.api.transform.TransformException: java.util.zip.ZipException: duplicate entry: com/stericson/RootTools/internal/RootToolsInternalMethods.class
我尝试调试它并得到了这个:
10:36:07.391 [DEBUG] [com.android.build.gradle.internal.transforms.JarMerger] addJar(C:\Apps\SatpolApp\app\build\intermediates\exploded-aar\com.onesignal\OneSignal.1.2\jars\classes.jar): entry com/onesignal/TrackGooglePurchase.class
10:36:07.399 [DEBUG]
[com.android.build.gradle.internal.transforms.JarMerger] ad
dJar(C:\Apps\SatpolApp\app\build\intermediates\exploded-aar\com.onesignal\OneSignal.1.2\jars\classes.jar): entry
com/stericson/RootTools/internal/RootToolsInternalMethods.class
10:36:08.363 [DEBUG]
[org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter]
Finished executing task ':app:transformClassesWithJarMergingForDebug'
10:36:08.370 [LIFECYCLE] [class org.gradle.TaskExecutionLogger]
:app:transformCl assesWithJarMergingForDebug FAILED
所以我发现 OneSignal jar 有 com/stericson/RootTools/internal/RootToolsInternalMethods.class 这会导致重复输入错误,因为我已经包含 RootTools.jar.
我想问的是如何从 OneSignal jar 中排除“com/stericson/RootTools/internal/RootToolsInternalMethods.class”,同时保持其正常运行?
此 class 已烘焙到 .aar 文件中的 .jar 中。 class 名称冲突现已在 OneSignal Android SDK 的 2.1.3 版本中得到解决。
我有 android 项目,其中包括 RootTools.jar,运行 没有任何问题,但是当我按照本指南添加 OneSignal SDK 时: Android SDK Installation (Android Studio) 我尝试 运行 时出错:
com.android.build.api.transform.TransformException: java.util.zip.ZipException: duplicate entry: com/stericson/RootTools/internal/RootToolsInternalMethods.class
我尝试调试它并得到了这个:
10:36:07.391 [DEBUG] [com.android.build.gradle.internal.transforms.JarMerger] addJar(C:\Apps\SatpolApp\app\build\intermediates\exploded-aar\com.onesignal\OneSignal.1.2\jars\classes.jar): entry com/onesignal/TrackGooglePurchase.class
10:36:07.399 [DEBUG] [com.android.build.gradle.internal.transforms.JarMerger] ad dJar(C:\Apps\SatpolApp\app\build\intermediates\exploded-aar\com.onesignal\OneSignal.1.2\jars\classes.jar): entry com/stericson/RootTools/internal/RootToolsInternalMethods.class
10:36:08.363 [DEBUG] [org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter] Finished executing task ':app:transformClassesWithJarMergingForDebug'
10:36:08.370 [LIFECYCLE] [class org.gradle.TaskExecutionLogger] :app:transformCl assesWithJarMergingForDebug FAILED
所以我发现 OneSignal jar 有 com/stericson/RootTools/internal/RootToolsInternalMethods.class 这会导致重复输入错误,因为我已经包含 RootTools.jar.
我想问的是如何从 OneSignal jar 中排除“com/stericson/RootTools/internal/RootToolsInternalMethods.class”,同时保持其正常运行?
此 class 已烘焙到 .aar 文件中的 .jar 中。 class 名称冲突现已在 OneSignal Android SDK 的 2.1.3 版本中得到解决。