NativeScript / NativeScript/android

Crash: No implementation found for void com.tns.AssetExtractor.extractAssets

Offen
#1,225 1 Kommentar 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Vorherrschende Sprache
C++
Sterne
563
Forks
144
Ø Merge
10 Std. 46 Min.
Gemergte PRs (30 T.)
14

Beschreibung

Environment

  • CLI: 4.2.1
  • Cross-platform modules: 4.2.0
  • Android Runtime: 4.2.0

Describe the bug

We got several crash reports mostly occuring on Huawei devices running Android 9.0 where the app crashes on startup because of a missing AssetExtractor implementation (which seems pretty weird)

Any ideas what's happening there and how to resolve it?

Stack trace:

12-07 15:44:02.932 10130 12663 12663 E No implementation found for void com.tns.AssetExtractor.extractAssets(java.lang.String, java.lang.String, java.lang.String, boolean) (tried Java_com_tns_AssetExtractor_extractAssets and Java_com_tns_AssetExtractor_extractAssets__Ljava_lang_String_2Ljava_lang_String_2Ljava_lang_String_2Z)
12-07 15:44:02.933 10130 12663 12663 D AndroidRuntime: Shutting down VM
--------- beginning of crash
12-07 15:44:02.934 10130 12663 12663 E AndroidRuntime: FATAL EXCEPTION: main
12-07 15:44:02.934 10130 12663 12663 E AndroidRuntime: Process: ***.***.control, PID: 12663
12-07 15:44:02.934 10130 12663 12663 E AndroidRuntime: java.lang.UnsatisfiedLinkError: No implementation found for void com.tns.AssetExtractor.extractAssets(java.lang.String, java.lang.String, java.lang.String, boolean) (tried Java_com_tns_AssetExtractor_extractAssets and Java_com_tns_AssetExtractor_extractAssets__Ljava_lang_String_2Ljava_lang_String_2Ljava_lang_String_2Z)
12-07 15:44:02.934 10130 12663 12663 E AndroidRuntime: 	at com.tns.AssetExtractor.extractAssets(Native Method)
12-07 15:44:02.934 10130 12663 12663 E AndroidRuntime: 	at com.tns.AssetExtractor.extractAssets(Unknown Source:38)
12-07 15:44:02.934 10130 12663 12663 E AndroidRuntime: 	at com.tns.RuntimeHelper.initRuntime(Unknown Source:111)
12-07 15:44:02.934 10130 12663 12663 E AndroidRuntime: 	at com.tns.NativeScriptApplication.onCreate(Unknown Source:19)
12-07 15:44:02.934 10130 12663 12663 E AndroidRuntime: 	at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1162)
12-07 15:44:02.934 10130 12663 12663 E AndroidRuntime: 	at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6535)
12-07 15:44:02.934 10130 12663 12663 E AndroidRuntime: 	at android.app.ActivityThread.access$1900(ActivityThread.java:267)
12-07 15:44:02.934 10130 12663 12663 E AndroidRuntime: 	at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1957)
12-07 15:44:02.934 10130 12663 12663 E AndroidRuntime: 	at android.os.Handler.dispatchMessage(Handler.java:109)
12-07 15:44:02.934 10130 12663 12663 E AndroidRuntime: 	at android.os.Looper.loop(Looper.java:207)
12-07 15:44:02.934 10130 12663 12663 E AndroidRuntime: 	at android.app.ActivityThread.main(ActivityThread.java:7439)
12-07 15:44:02.934 10130 12663 12663 E AndroidRuntime: 	at java.lang.reflect.Method.invoke(Native Method)
12-07 15:44:02.934 10130 12663 12663 E AndroidRuntime: 	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:524)
12-07 15:44:02.934 10130 12663 12663 E AndroidRuntime: 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:958)

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Beginne mit dem Einstiegspunkt AssetExtractor.extractAssets und verfolge seinen Aufruf von RuntimeHelper.initRuntime während NativeScriptApplication.onCreate. Vergleiche die gemeldete JNI-Methodensignatur mit der verfügbaren Implementierung und reproduziere den Startvorgang auf der betroffenen Android-Konfiguration. Erledigt ist die Aufgabe, wenn der Startvorgang für extractAssets keinen UnsatisfiedLinkError mehr auslöst.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
android, cpp, java
Bereich
mobile-dev
Issue-Typ
Bug
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Aktivitätsstatus
Veraltet
Klarheit
Muss geklärt werden
Anfängerfreundlichkeit
28/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.