Facebook的sdk升级7.x或8.x,编译时出现okhttp3引用org.conscrypt异常。

  • Creator 版本:2.4.3

  • 目标平台:

  • 重现方式:添加Facebook的SDK依赖7.x或8.x,并在java代码中使用SDK。编译打包apk时报错。

  • 首个报错:编译打包时报错。

  • 之前哪个版本是正常的:

  • 手机型号:

  • 手机浏览器:

  • 编辑器操作系统: macOS 11.1 Big Sur

  • 重现概率:必现

  • Android API-LEVEL: 29

  • Android NDK: 19.xxx

  • Gradle: 4.10.3

  • JDK 安装包: 8u281。(1.8.0_281)

编译打包时的报错内容如下:
/Applications/CocosCreator/Creator/2.4.3/CocosCreator.app/Contents/Resources/cocos2d-x/cocos/platform/android/java/libs/okhttp-3.12.7.jar: D8: Type org.conscrypt.Conscrypt was not found, it is required for default or static interface methods desugaring of java.security.Provider org.cocos2dx.okhttp3.internal.platform.ConscryptPlatform.getProvider()

Task :WahahaProject:transformClassesWithMultidexlistForWahahaDebug FAILED

FAILURE: Build failed with an exception.

  • What went wrong:
    Execution failed for task ‘:WahahaProject:transformClassesWithMultidexlistForWahahaDebug’.

com.android.build.api.transform.TransformException: Error while generating the main dex list.

或者

Warning: Exception while processing task java.io.IOException: Can’t write [/Users/mac/dev/client-hy/build1/jsb-link/frameworks/runtime-src/proj.android-studio/app/build/intermediates/transforms/proguard/release/0.jar] (Can’t read [/Users/mac/.gradle/caches/transforms-1/files-1.1/browser-1.0.0.aar/8dbc4f95fab3c1c4f7fdbd552081da3a/jars/classes.jar(;;;;;;;**.class)] (Duplicate jar entry [android/support/c/c$a$a.class]))

  • What went wrong:
    Execution failed for task ‘:WahahaProject:transformClassesAndResourcesWithProguardForRelease’.

去build.gradle文件,添加依赖一行:implementation ‘com.facebook.android:facebook-android-sdk:8.+’,并在java代码中使用SDK。编译打包apk时报错。
以前依赖facebook-android-sdk使用5.+或6.+的时候是可以正常编译打包的,但改成7.+或8.+后,就会出现上述的信息,并打包失败。

尝试过另一个贴子里提到方案:使用packagingOptions { exclude ‘META-INF/proguard/okhttp3.pro’ } 。也是同样的问题,编译前已清理项目。

请问解决了吗,怎么解决的

升级gradle等工具链。

该主题在最后一个回复创建后14天后自动关闭。不再允许新的回复。