java Android facebooksdk土耳其语崩溃
当我选择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.安卓:facebook-安卓-sdk:[4,5)'
和清单
<meta-data 安卓:name="com.facebook.sdk.ApplicationId" 安卓:value="@string/facebook_app_id"/>
注意:İletter从facebook返回,它是由运行时创建的。我没有写任何信。请不要用小写字母回复。我已经知道了
# 1 楼答案
我对facebook sdk一无所知,但我在单词CLİCK的大写字母I上看到一个点,在土耳其语言环境中,
toUppercase("i")
不返回"I"
,而是"İ"
。所以我打赌,在某个地方,小写的"click"
会使用toUpperCase()
转换为"CLİCK"
,而不指定合理的区域设置,例如Locale.ROOT
由于这是土耳其语案例转换的一个非常特殊的“特征”(据我所知,没有其他语言),这就解释了为什么这只发生在土耳其语中
也许在facebook skd上有更多知识的人可以告诉你案例转换发生的地方以及如何修复
# 2 楼答案
我遇到了同样的问题。 解决方法是使用4.33.0及更低版本
更新(12.06.20) 最新的Facebook SDK(5.15.3)没有崩溃