NativeScript / NativeScript/android
Crash: No implementation found for void com.tns.AssetExtractor.extractAssets
未关闭
还没有人认领这个 Issue。
- 主要语言
- C++
- 星标
- 563
- 派生
- 144
- 平均合并
- 10 小时 46 分钟
- 30 天内合并 PR
- 14
描述
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)
贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
调研方向
从 AssetExtractor.extractAssets 入口点开始,跟踪其在 NativeScriptApplication.onCreate 期间从 RuntimeHelper.initRuntime 发起的调用。将报告的 JNI 方法签名与现有实现进行比较,并在受影响的 Android 配置上复现启动过程。完成标准是启动时不再因 extractAssets 引发 UnsatisfiedLinkError。
由索引模型根据 Issue 内容生成。
评估
- 技术栈
- android, cpp, java
- 领域
- mobile-dev
- Issue 类型
- 缺陷
- 难度
- 4/5
- 预计耗时
- 3-5 天
- 活跃度
- 停滞
- 描述清晰度
- 需要澄清
- 新手友好度
- 28/100