#admob #ump
Вопрос:
Я следовал руководству из документации и внедрил SDK в свое приложение. Я получил следующий отчет о сбое на базе.
Fatal Exception: java.lang.NullPointerException: Attempt to read from field 'c.d.b.c.e.d.y c.d.b.c.e.d.w1.c' on a null object reference
at com.google.android.gms.internal.consent_sdk.zzj.isConsentFormAvailable(zzj.java:13)
at [my_app_package].MainActivity$1.onConsentInfoUpdateSuccess(MainActivity.java:1035)
at com.google.android.gms.internal.consent_sdk.zzu.run(zzu.java:4)
at android.os.Handler.handleCallback(Handler.java:938)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:239)
at android.app.ActivityThread.main(ActivityThread.java:8142)
at java.lang.reflect.Method.invoke(Method.java)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:626)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1015)
У кого-нибудь такая же проблема?
Первая строка запутана. Я думаю, что сбой произошел из-за внутренней проблемы с SDK. Кто-нибудь знает, как это исправить?
исправить:
Когда я следовал руководству, как оно есть, у меня произошла утечка памяти. Итак, я передал getApplicationContext() в UserMessagingPlatform.getConsentInformation(). Это причина, по которой приложение выходит из строя. Вместо этого я передал это (контекст действия). Теперь все в порядке. Чтобы избежать утечки памяти, присвойте значение null переменным consentInformation и consentForm в методе onDestroy (). Это сработало для меня.
Ответ №1:
Я тоже столкнулся с сбоем при вызове isConsentFormAvailable() :
java.lang.VerifyError: Verifier rejected class tl: void tl.a(tl) failed to verify: void tl.a(tl): [0x42] cannot access instance field v35 d35.b from object of type Reference: java.lang.Object (declaration of 'tl' appears in /data/app/HTTP://WEBADDRESS.ELIDED--jw7yUT1TEEM3YA7pQGONA==/HTTP://WEBADDRESS.ELIDED)
Оказывается, для устранения сбоя необходимы следующие правила proguard:
-keep class com.google.android.gms.internal.consent_sdk.** { <fields>; }
-keepattributes *Annotation*
-keepattributes Signature
Аналогичные правила существуют в старом SDK согласия.
Комментарии:
1. Я тоже пережил подобную аварию. И это решение исправило этот сбой.
2. Я уже несколько часов ищу это решение. Спасибо!