首页 > 解决方案 > TypeError:package.function 不是 android nativescript 插件中的函数

问题描述

我正在尝试使用本机 sdk 创建我的 nativescript 插件。包包含在 include.gradle 中:

dependencies {
    compile "cloud.mindbox:mobile-sdk:1.1.0"
}

第一个调用方法

var configuration = new cloud.mindbox.mobile_sdk.MindboxConfiguration.Builder(
    application.android.context,
    'api.mindbox.ru',
    endpointExternalId
);

它工作正常。但是第二种方法

cloud.mindbox.mobile_sdk.Mindbox.init(application.android.context, configuration);

返回错误

System.err: java.lang.RuntimeException: Unable to start activity ComponentInfo{org.nativescript.demo/com.tns.NativeScriptActivity}: com.tns.NativeScriptException: Calling js method onCreate failed
System.err: TypeError: cloud.mindbox.mobile_sdk.Mindbox.init is not a function
System.err:     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2957)
System.err:     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3032)
System.err:     at android.app.ActivityThread.-wrap11(Unknown Source:0)
System.err:     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1696)
System.err:     at android.os.Handler.dispatchMessage(Handler.java:105)
System.err:     at android.os.Looper.loop(Looper.java:164)
System.err:     at android.app.ActivityThread.main(ActivityThread.java:6944)
System.err:     at java.lang.reflect.Method.invoke(Native Method)
System.err:     at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:327)
System.err:     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1374)

库代码是:

package cloud.mindbox.mobile_sdk

import ...

object Mindbox {
    ...
    fun init(
        context: Context,
        configuration: MindboxConfiguration
    ) {
        ...
    }
    ...
}



package cloud.mindbox.mobile_sdk

import ...

class MindboxConfiguration(builder: Builder) {
    ...
    class Builder(private val context: Context, val domain: String, val endpointId: String) {
        ...
        fun build(): MindboxConfiguration {
            generateAppInfo(context)
            return MindboxConfiguration(this)
        }
        ...
    }
    ...
}

我只在类和对象中看到不同,但在 nativescript android 文档中没有关于对象的任何内容。

标签: javascriptjavaandroidnativescriptnativescript-plugin

解决方案


推荐阅读