ExperimentationConfigurator Fatal Exception: java.lang.NullPointerException

一.問題

之前因為facebook的SDK許久未更新
我們把Facebook SDK從4.11.0更新到4.30.0

  compile 'com.facebook.android:facebook-login:4.30.0'
  compile 'com.facebook.android:account-kit-sdk:4.30.0'

遇到了很多下面的這個問題

Fatal Exception: java.lang.NullPointerException: Attempt to invoke virtual method 'org.json.JSONArray org.json.JSONObject.getJSONArray(java.lang.String)' on a null object reference

       at com.facebook.accountkit.internal.ExperimentationConfigurator$2$1.onCompleted(SourceFile:93)
       at com.facebook.accountkit.internal.AccountKitGraphRequestAsyncTask.onPostExecute(SourceFile:188)
       at com.facebook.accountkit.internal.AccountKitGraphRequestAsyncTask.onPostExecute(SourceFile:42)
       at android.os.AsyncTask.finish(AsyncTask.java:651)
       at android.os.AsyncTask.access$500(AsyncTask.java:180)
       at android.os.AsyncTask$InternalHandler.handleMessage(AsyncTask.java:668)
       at android.os.Handler.dispatchMessage(Handler.java:102)
       at android.os.Looper.loop(Looper.java:148)
       at android.app.ActivityThread.main(ActivityThread.java:7325)
       at java.lang.reflect.Method.invoke(Method.java)
       at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230)
       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120)

二.解決方案

1.是追溯調(diào)用棧的信息。

發(fā)現(xiàn)即使看不到調(diào)用棧,也追溯到了AccountKit.initialize()方法會間接的調(diào)用到了Crash的代碼位置嘁锯。

2.查看自己代碼

果然有AccountKit.initialize()的相關(guān)調(diào)用持灰〕耐ⅲ可是已經(jīng)@Deprecated穿稳。
然后去官網(wǎng)查了一下Changelog:
Facebook SDK for Android Changelog 4.x

調(diào)查發(fā)現(xiàn)在4.11.0-4.30.0之間的Changelog中有這樣一段

4.19.0 - January 25, 2017

Facebook SDK

Modified
Facebook SDK is now auto initialized when the application starts. In most cases a manual call to FacebookSDK.sdkInitialize() is no longer needed. See upgrade guide for more details.
Activate App is now called during SDK initialization. To disable this feature please follow the directions in the upgrade guide.
Update the look and feel of LoginButton. See upgrade guide for more details.

Fixed
Possible memory leak in ActivityLifecycleTracker
Audience Network SDK

Added
Foregrounding/backgrounding listeners added to MediaView.

Fixed
Crash in NativeAdsManager fixed for Android API < 18.
onComplete method in MediaViewListener is now properly called when video playback finishes.
Crash when launching In-App Browser due to unsupported protocols.

Account Kit SDK

Modified
Account Kit SDK is now auto initialized when the application starts. In most cases a manual call to AccountKit.initialize() is no longer needed. See upgrade guide for more details.
Default Account Kit Instant Verification button as "Continue"

Fixed
Fixes crash bug where Android 7+ will throw exception if a file is marked WORLD_
Back arrow theming in entry screen
Setting focus on first entry field in confirmation code entry screen
VI translations
Checking permissions behavior on certain devices

Added
Logging for country codes

其中呢做葵,注意到2條汹买。4.19.0這個版本之后点弯。AccountKit.initialize(),FacebookSdk.sdkInitialize(ctx);都已經(jīng)@Deprecated掉了仁锯。查看sdk源碼獲知妥泉,SDK已經(jīng)通過AccountKitInitProvider,FacebookInitProvider兩個ContentProvider的方式,在更早的時間節(jié)點完成了初始化它改。所以就不用我們手動初始化了侵贵。抱著試試看的想法,去掉了贴彼。無用的初始化調(diào)用潜腻。結(jié)果BUG量直線下降。雖然fabric上還有個別情況發(fā)生器仗。但是已經(jīng)不再是Rank榜第一了融涣。

雖然還是想不通。多調(diào)用一次init為什么會導(dǎo)致這樣的問題精钮。但還是算先改掉了這個BUG吧威鹿。

3.統(tǒng)計自動調(diào)用。

當(dāng)然這個也不需要手動調(diào)用了轨香。
AppEventsLogger.activateApp(this);

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末忽你,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子臂容,更是在濱河造成了極大的恐慌科雳,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,723評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件脓杉,死亡現(xiàn)場離奇詭異糟秘,居然都是意外死亡,警方通過查閱死者的電腦和手機球散,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,485評論 2 382
  • 文/潘曉璐 我一進(jìn)店門尿赚,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人蕉堰,你說我怎么就攤上這事凌净。” “怎么了屋讶?”我有些...
    開封第一講書人閱讀 152,998評論 0 344
  • 文/不壞的土叔 我叫張陵冰寻,是天一觀的道長。 經(jīng)常有香客問我丑婿,道長性雄,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,323評論 1 279
  • 正文 為了忘掉前任羹奉,我火速辦了婚禮秒旋,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘诀拭。我一直安慰自己迁筛,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 64,355評論 5 374
  • 文/花漫 我一把揭開白布耕挨。 她就那樣靜靜地躺著细卧,像睡著了一般尉桩。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上贪庙,一...
    開封第一講書人閱讀 49,079評論 1 285
  • 那天蜘犁,我揣著相機與錄音,去河邊找鬼止邮。 笑死这橙,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的导披。 我是一名探鬼主播屈扎,決...
    沈念sama閱讀 38,389評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼撩匕!你這毒婦竟也來了鹰晨?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,019評論 0 259
  • 序言:老撾萬榮一對情侶失蹤止毕,失蹤者是張志新(化名)和其女友劉穎模蜡,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體扁凛,經(jīng)...
    沈念sama閱讀 43,519評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡哩牍,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,971評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了令漂。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,100評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡丸边,死狀恐怖叠必,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情妹窖,我是刑警寧澤纬朝,帶...
    沈念sama閱讀 33,738評論 4 324
  • 正文 年R本政府宣布,位于F島的核電站骄呼,受9級特大地震影響共苛,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜蜓萄,卻給世界環(huán)境...
    茶點故事閱讀 39,293評論 3 307
  • 文/蒙蒙 一隅茎、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧嫉沽,春花似錦辟犀、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,289評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽魂毁。三九已至,卻和暖如春出嘹,著一層夾襖步出監(jiān)牢的瞬間席楚,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,517評論 1 262
  • 我被黑心中介騙來泰國打工税稼, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留烦秩,地道東北人。 一個月前我還...
    沈念sama閱讀 45,547評論 2 354
  • 正文 我出身青樓娶聘,卻偏偏與公主長得像闻镶,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子丸升,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 42,834評論 2 345

推薦閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 171,515評論 25 707
  • 轉(zhuǎn)至元數(shù)據(jù)結(jié)尾創(chuàng)建: 董瀟偉铆农,最新修改于: 十二月 23, 2016 轉(zhuǎn)至元數(shù)據(jù)起始第一章:isa和Class一....
    40c0490e5268閱讀 1,681評論 0 9
  • 點擊查看原文 Web SDK 開發(fā)手冊 SDK 概述 網(wǎng)易云信 SDK 為 Web 應(yīng)用提供一個完善的 IM 系統(tǒng)...
    layjoy閱讀 13,675評論 0 15
  • 文/薇三 龍卷風(fēng)先生的大名叫龍泉風(fēng),念順溜了大家都叫他龍卷風(fēng)狡耻。 龍卷風(fēng)先生的店就叫龍卷風(fēng)先生墩剖,五十來平米,白天是書...
    薇三閱讀 585評論 0 0
  • 享受孤獨夷狰。適度脫離群體岭皂,學(xué)會和自己相處。孤獨是可貴的沼头,在這樣沒有被打擾的時間和空間里爷绘,完全依照自己的意愿來安排這段...
    Olivia咿嘻閱讀 568評論 0 1