Nativescript 6.0 Android 应用小部件不工作
Posted
技术标签:
【中文标题】Nativescript 6.0 Android 应用小部件不工作【英文标题】:Nativescript 6.0 Android App Widget not working 【发布时间】:2020-06-23 20:00:28 【问题描述】:我正在尝试使用带有 NativeScript 6.0 Core 的应用小部件。 我使用了 Nativescript 提供的示例代码: sample-android-Widgets
它可以编译并且运行良好,但是当我尝试将小部件放在屏幕上时,我收到以下错误:
System.err: An uncaught Exception occurred on "main" thread.
System.err: Unable to instantiate receiver com.tns.MyWidget: com.tns.NativeScriptException: Failed to create javascript extend wrapper for class 'com/tns/MyWidget'
System.err:
System.err: StackTrace:
System.err: java.lang.RuntimeException: Unable to instantiate receiver com.tns.MyWidget: com.tns.NativeScriptException: Failed to create JavaScript extend wrapper for class 'com/tns/MyWidget'
System.err: at android.app.ActivityThread.handleReceiver(ActivityThread.java:3365)
System.err: at android.app.ActivityThread.access$1200(ActivityThread.java:199)
System.err: at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1661)
System.err: at android.os.Handler.dispatchMessage(Handler.java:106)
System.err: at android.os.Looper.loop(Looper.java:193)
System.err: at android.app.ActivityThread.main(ActivityThread.java:6669)
System.err: at java.lang.reflect.Method.invoke(Native Method)
System.err: at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
System.err: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)
System.err: Caused by: com.tns.NativeScriptException: Failed to create JavaScript extend wrapper for class 'com/tns/MyWidget'
System.err: at com.tns.Runtime.createJSInstanceNative(Native Method)
System.err: at com.tns.Runtime.createJSInstance(Runtime.java:778)
System.err: at com.tns.Runtime.initInstance(Runtime.java:751)
System.err: at com.tns.MyWidget.<init>(MyWidget.java:13)
System.err: at java.lang.Class.newInstance(Native Method)
System.err: at android.app.AppComponentFactory.instantiateReceiver(AppComponentFactory.java:84)
System.err: at androidx.core.app.CoreComponentFactory.instantiateReceiver(CoreComponentFactory.java:56)
System.err: at android.app.ActivityThread.handleReceiver(ActivityThread.java:3358)
System.err: ... 8 more
自从我将 NativeScript 更新到新的 6.0 版本后,我遇到了麻烦。
任何帮助将不胜感激,谢谢!
【问题讨论】:
可能是您的小部件的原生类没有正确编译,您是否在 webpack 配置中包含该类? 感谢您的回复。不,我没有包含,你能告诉我如何在 webpack 配置中添加吗? 你检查过 webpack 配置文件吗?如果您阅读文件中的 cmets,它会显示您必须将自定义活动、服务等添加到appComponents
数组。
【参考方案1】:
谢谢马诺杰!
我想通了!我在 webpack 配置中接近答案,但不知道在 appComponents
中插入什么样的路径。
这个文档对我很有帮助 Extend Application Activity
这是我在webpack.config
编辑的内容
const appComponents = [
...
resolve(__dirname, "app/<MyFile>.js"),
];
再次感谢您!
【讨论】:
以上是关于Nativescript 6.0 Android 应用小部件不工作的主要内容,如果未能解决你的问题,请参考以下文章
Nativescript - 在 Android 中隐藏状态栏
Nativescript 接受 Android SDK 许可
错误:android.view.InflateException 使用 nativescript 插件反馈