Android facebook-sdk 在土耳其语中崩溃

Android facebook-sdk crash in Turkish

当我选择 Turkish language 时,出现错误。
其他语言没问题,如果我删除 facebook-sdk 修复它。但是我必须使用facebook-sdk..

java.lang.IllegalArgumentException: CLİCK is not a constant in com.facebook.appevents.codeless.internal.EventBinding$ActionType

repositories {
maven { url 'https://maven.fabric.io/public' }
mavenCentral()}

implementation 'com.facebook.android:facebook-android-sdk:[4,5)'

清单

<meta-data android:name="com.facebook.sdk.ApplicationId" android:value="@string/facebook_app_id"/>

注意:© 来自 facebook 的字母 returns,它是由运行时创建的。我没有写任何 İ 字母。请勿回复,将 İ 字母写成小写。我已经知道了。

我对 facebook-sdk 一无所知,但我看到 CLİCK 这个词的大写字母 I 顶部有一个点,在土耳其语言环境中,toUppercase("i") 没有 return "I",但 "İ"。所以我敢打赌,在某个地方使用 toUpperCase() 将小写 "click" 转换为 "CLİCK",而无需指定明智的语言环境,例如Locale.ROOT.

由于这是一个非常特殊的 "feature" 土耳其语大小写转换(据我所知没有其他语言),这可以解释为什么这只发生在土耳其语中。

也许对 facebook-skd 了解更多的人可以指出发生大小写转换的位置以及如何修复它。

我遇到了同样的问题。 解决方法是使用 4.33.0 及更低版本。

implementation 'com.facebook.android:facebook-android-sdk:4.33.0'

更新 (12.06.20) 最新的Facebook SDK (5.15.3)没有崩溃