java.lang.VerifyError:验证程序拒绝类com.here.sdk.hacwrapper.HacUtils

问题描述 投票:1回答:1

我刚刚将HERE Android SDK Premium升级到3.12,并且在出现以下异常时始终崩溃:

    --------- beginning of crash
2019-07-25 13:07:46.822 13396-13396/com.here.rcp.htcontrol E/AndroidRuntime: FATAL EXCEPTION: main
    Process: com.here.rcp.htcontrol, PID: 13396
    java.lang.VerifyError: Verifier rejected class com.here.sdk.hacwrapper.HacUtils: com.here.sdk.hacwrapper.HacUtils$LegacyIds com.here.sdk.hacwrapper.HacUtils.fetchLegacyIds(android.content.Context, java.lang.String) failed to verify: com.here.sdk.hacwrapper.HacUtils$LegacyIds com.here.sdk.hacwrapper.HacUtils.fetchLegacyIds(android.content.Context, java.lang.String): [0x31] 'this' arg must be initialized (declaration of 'com.here.sdk.hacwrapper.HacUtils' appears in /data/app/com.here.rcp.htcontrol-1/split_lib_dependencies_apk.apk:classes2.dex)
        at com.here.sdk.hacwrapper.HacUtils.fetchLegacyIds(HacUtils.java:1)
        at com.here.sdk.hacwrapper.HacAnalytics.initialize(HacAnalytics.java:4)
        at com.nokia.maps.Vb.a(AnalyticsTrackerExternal.java:32)
        at com.nokia.maps._a.a(Analytics.java:5)
        at com.nokia.maps.MapsEngine$h.a(MapsEngine.java:89)
        at com.nokia.maps.MapsEngine$h.onPostExecute(MapsEngine.java:1)
        at android.os.AsyncTask.finish(AsyncTask.java:660)
        at android.os.AsyncTask.-wrap1(AsyncTask.java)
        at android.os.AsyncTask$InternalHandler.handleMessage(AsyncTask.java:677)
        at android.os.Handler.dispatchMessage(Handler.java:102)
        at android.os.Looper.loop(Looper.java:154)
        at android.app.ActivityThread.main(ActivityThread.java:6780)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1496)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1386)
        Suppressed: java.lang.Throwable: HERE SDK Version: 3.12.4.93
        at com.nokia.maps.MapsEngine$l.uncaughtException(MapsEngine.java:4)
        at java.lang.ThreadGroup.uncaughtException(ThreadGroup.java:1068)
        at java.lang.ThreadGroup.uncaughtException(ThreadGroup.java:1063)

凭据和软件包仍然相同。

我已经将旧的MapFragment更改为更新的SupportMapFragment类。

here-api
1个回答
0
投票

我们发现问题是由New Relic gradle插件引起的,该插件确实将一些代码插入了已编译的类中。不使用New Relic gradle插件时,一切都很好。

我们基本上删除了:

classpath "com.newrelic.agent.android:agent-gradle-plugin:5.18.1"

从根gradle。

因此,我们停止使用New Relic代理:

implementation 'com.newrelic.agent.android:android-agent:5.18.1'
© www.soinside.com 2019 - 2024. All rights reserved.