Android facebook-sdk 在土耳其语中崩溃
Posted
技术标签:
【中文标题】Android facebook-sdk 在土耳其语中崩溃【英文标题】:Android facebook-sdk crash in Turkish 【发布时间】:2018-07-30 11:24:33 【问题描述】:当我选择 Turkish language
时,出现错误。
其他语言没问题,如果我删除 facebook-sdk 修复它。但我必须使用 facebook-sdk..
java.lang.IllegalArgumentException: CLİCK 不是 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 的 İ 信返回,它是由运行时创建的。我没有写任何İ信。请不要将İ字母写为小写。我已经知道了。
【问题讨论】:
【参考方案1】:我遇到了同样的问题。 解决方法是使用 4.33.0 及更低版本。
implementation 'com.facebook.android:facebook-android-sdk:4.33.0'
更新 (12.06.20) 最新的 Facebook SDK (5.15.3) 没有崩溃
【讨论】:
【参考方案2】:我对 facebook-sdk 一无所知,但我在单词 CLİCK 中的大写字母 I 顶部看到一个点,在土耳其语环境中,toUppercase("i")
不会返回 "I"
,但是"İ"
。所以我敢打赌,在某处使用toUpperCase()
将小写"click"
转换为"CLİCK"
,而无需指定合理的语言环境,例如Locale.ROOT
.
由于这是土耳其语大小写转换的一个非常特殊的“功能”(据我所知,没有其他语言),这可以解释为什么这只发生在土耳其语中。
也许对 facebook-skd 有更多了解的人可以为您指出案例转换发生的地方以及如何修复它。
【讨论】:
如果您没有想法,请不要分享您的小想法。 CL"İ"CK 关键字在运行时从 facebook 返回。我的项目没有 CL"İ"CK 关键字。当你写下你写的评论时,你的自我就像你自己一样大,点击 bla bla bla。把你的评论留给你自己。我可以构建项目,但这意味着我没有使用任何 CL"i"CK 关键字。你只是在浪费时间而已 你知道什么是运行时吗?以上是关于Android facebook-sdk 在土耳其语中崩溃的主要内容,如果未能解决你的问题,请参考以下文章
如何在 ubuntu 中为 python 安装 facebook-sdk?
Facebook-sdk python模块没有属性GraphAPI