Not signed in
Copyright © 2026 Unity Technologies
Tested basic and extended usage of Play Asset Delivery 2.0+ with several devices, on a fresh installation and when the app has been run a few times. The fix works and the crash is no longer present
Issue reported by Google
Using Unity's built-in Play Asset Delivery integration together with Play Core libraries 2.0.0+ (https://developer.android.com/reference/com/google/android/play/core/release-notes) error appears:
thread.cc:2372] Throwing new exception 'No interface method getPackStates(Ljava/util/List;)Lcom/google/android/play/core/tasks/Task; in class Lcom/google/android/play/core/assetpacks/AssetPackManager; or its super classes (declaration of 'com.google.android.play.core.assetpacks.AssetPackManager' appears in base.apk!classes2.dex)' with unexpected pending exception: java.lang.NoSuchMethodError: No interface method getPackStates(Ljava/util/List;)Lcom/google/android/play/core/tasks/Task; in class Lcom/google/android/play/core/assetpacks/AssetPackManager; or its super classes (declaration of 'com.google.android.play.core.assetpacks.AssetPackManager' appears in base.apk!classes2.dex) thread.cc:2372] at void com.unity3d.player.AssetPackManagerWrapper.getAssetPackStates(java.lang.String[], com.unity3d.player.IAssetPackManagerStatusQueryCallback) ((null):-1) thread.cc:2372] at void com.unity3d.player.AssetPackManagerWrapper.getAssetPackState(java.lang.String, com.unity3d.player.IAssetPackManagerStatusQueryCallback) ((null):-1) thread.cc:2372] at boolean com.unity3d.player.UnityPlayer.nativeRender() ((null):-2) thread.cc:2372] at boolean com.unity3d.player.UnityPlayer.access$300(com.unity3d.player.UnityPlayer) ((null):-1) thread.cc:2372] at boolean com.unity3d.player.UnityPlayer$e$1.handleMessage(android.os.Message) ((null):-1) thread.cc:2372] at void android.os.Handler.dispatchMessage(android.os.Message) (Handler.java:102) thread.cc:2372] at boolean android.os.Looper.loopOnce(android.os.Looper, long, int) (Looper.java:226) thread.cc:2372] at void android.os.Looper.loop() (Looper.java:313) thread.cc:2372] at void com.unity3d.player.UnityPlayer$e.run() ((null):-1) thread.cc:2372]
Issue described here: https://github.com/google/play-unity-plugins/issues/187
The root cause is that in the latest versions of PlayCore APIs included breaking changes to the Task system, which would require a
migration process (https://developer.android.com/guide/playcore#common_migration_steps) on the wrapper side. Since Unity's own AssetPackManagerWrapper implementation is still based on pre-2.0.0 Play Core APIs, we would see NoSuchMethodErrors on all the Task related methods."
Sign in to see your voted issues