LoginSignup
2
2

More than 5 years have passed since last update.

gradleのバージョンを上げた時のLogBaseSDK(旧LogPushSDK)で発生した問題メモ

Last updated at Posted at 2018-07-30

背景

既存Projectで今更ながらgradleのバージョンを2.2.3 -> 3.1.3へ上げた時の備忘録
その中でもlogPush時代のSDKを使用していたことにより、結構困ったことになったためメモ

発生した問題

  • logPush → logBaseにSDKの名前が変わっていた。
  • NoSuchMethodError

解決

  • logPush → logBaseにSDKの名前が変わっていた。

gradleをアップデートしてプロジェクト内の古い参照を削除

app/build.gradle
implementation('net.p-lucky:logpush-android-sdk:2.0.0@aar') { transitive = true }

app/build.gradle
implementation('net.p-lucky:logbase-android-sdk:3.1.1@aar') { transitive = true }

基本的にLogPushの時のpush通知の実装方法に変更は無かった。

  • NoSuchMethodError

Google play services 依存記述について
LogPush SDK 2.0.0の時の依存関係については書かれているが、LogBase SDK 3.1.3の依存関係は不明。
案の定、GooglePlayConsoleでβ版をリリースした際にNoSuchMethodErrorが発生したのでLogBaseに問い合わせたところ、
LogBase SDKは以下のライブラリのバージョンに依存していると回答をいただいた。

LogBase v3.1.1は

・com.google.android.gms:play-services-ads:11.6.0
・com.google.android.gms:play-services-gcm:11.6.0
・com.google.code.gson:gson:2.7
に依存しております。

※ちなみに上記ライブラリのverで再度GooglePlayConsoleのリリース前テストで10端末中8端末でNoSuchMethodErrorが発生したため未解決 & 再び問い合わせ中

エラー内容は以下内容、手元にある端末&エミュレーターでは一切確認できなかったがGooglePlayConsoleのリリース前テストで10端末中8端末で発生

FATAL EXCEPTION: Thread-9
Process: com.best_teacher_inc.android, PID: 10515
java.lang.NoSuchMethodError: No direct method <init>(Lcom/google/gson/Gson;)V in class Lcom/google/gson/Gson$1; or its super classes (declaration of 'com.google.gson.Gson$1' appears in /data/app/com.google.android.apps.mtaas.crawler-1T77G3Bwbj_NvCEDDbl0Vg==/base.apk)
    at com.google.gson.Gson.doubleAdapter(Unknown Source:7)
    at com.google.gson.Gson.<init>(Unknown Source:103)
    at com.google.gson.GsonBuilder.create(Unknown Source:75)
    at net.p_lucky.logpop.MessageRuleDiskDataStore.<init>(Unknown Source:25)
    at net.p_lucky.logpop.Injection.b(Unknown Source:2)
    at net.p_lucky.logpop.MessageRuleUpdateService.handleResult(Unknown Source:4)
    at net.p_lucky.logpop.MessageRuleUpdateService.a(Unknown Source:0)
    at net.p_lucky.logpop.MessageRuleUpdateService$1.run(Unknown Source:23)
    at java.lang.Thread.run(Thread.java:764)

解決次第追記予定

原因のわかる方がおりましたらご教示いただけると助かります。

原因が判明。

GooglePlayConsoleの新しいバージョンのテストの不具合だとLogBaseの方に問い合わせたところ教えていただきました。
NoSuchMethodError Lcom/google/gson/Gson; upon retrofit response

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2