首页 > 解决方案 > 自定义扩展活动不适用于 Nativescript 7

问题描述

几个月前,相同的代码运行良好,我能够启动自定义活动(和自定义应用程序),但我不知道发生了什么。我尝试了新项目来重现步骤,但我总是遇到同样的错误:

无法创建应用程序 com.tns.NativeScriptApplication:com.tns.NativeScriptException:调用模块函数 System.err 时出错:错误:com.tns.system.classes.loading.LookedUpClassNotFound:找不到类“abNativeScriptActivity”。System.err: 文件: (/data/data/org.nativescript.testing/files/internal/ts_helpers.js:154:25) System.err: System.err: StackTrace: System.err: (/data/data/ org.nativescript.testing/files/internal/ts_helpers.js:154:26) System.err: 在 __decorate(/data/data/org.nativescript.testing/files/internal/ts_helpers.js:13:19) 系统。错误:在./app/core/android/activity.ts(文件:src/app/core/android/activity.android.ts:5:25)...

Activity ts 文件是activity.android.ts。我穿上了 JavaProxy 装饰器“abNativeScriptActivity”。在 Android Maifest 上也是如此。还在 webpack.config.js 上的 AppComponents 数组上添加了条目

更新:我很久以前就放弃了 Nativescript(转向 Flutter)。

标签: nativescript

解决方案


因为Nativescript 7您必须添加以下装饰器:

 @NativeClass()

例子:

@NativeClass()
@JavaProxy("com.lanmis.app.BackgroundJobService")
class BackgroundService extends android.app.job.JobService {
}

nativescript 6

第一个解决方案:

如果 tsconfig.jsonimportHelpers: true中存在,则必须将其更改为: importHelpers: false

第二种解决方案:

而不是以下块:

@JavaProxy("com.lanmis.app.BackgroundJobService")
class BackgroundService extends android.app.job.JobService {

//Code

}

利用 :

android.app.job.JobService.extend("com.lanmis.app.BackgroundJobService", {

//Code

})

推荐阅读