Nativescript использует библиотеку Android - PullRequest
0 голосов
/ 29 января 2019

Может помочь мне.Я попытался реализовать библиотеку Android в Nativescript.

Я создаю проект Android -> Новый модуль -> Библиотека Andorid.

Создание класса Java платформы \ android \ nativescript-serial-port \ serialport\ src \ main \ java \ com \ nativescript \ serialport \ Toaster.java

 package com.nativescript.serialport;

import android.content.Context;
import android.widget.Toast;

public class Toaster {
    public Toaster() {}

    public void show(Context context) {
        Toast.makeText(context, "Hello NativeScript!", Toast.LENGTH_SHORT).show();
    }
}

Добавить в файл nativescript проекта платформы \ android \ settings.gradle

include ':app', ':serialport'
project(':serialport').projectDir = new File('nativescript-serial-port/serialport')

Добавить в файл nativescript app app \ App_Resources \ Android \ app.gradle

dependencies {
  implementation project(":serialport")
}

Добавить в JS-файл nativescript project some-file.js

import * as app from 'application';

const context = android.content.Context;

const toaster = new com.nativescript.serialport.Toaster();
toaster.show(context);

И если я запускаю этот код, появляется ошибка

System.err: TypeError: com.nativescript.serialport.Toaster не является конструктором System.err: File:"file: ///data/data/org.nativescript.application/files/app/bundle.js, строка: 372, столбец: 22 System.err: System.err: StackTrace: System.err: Frame: function: 'onPrint ', file:' file: ///data/data/org.nativescript.application/files/app/bundle.js ', строка: 372, столбец: 23 System.err: Frame: function: 'invoker', file: 'file: ///data/data/org.nativescript.application/files/app/vendor.js', строка: 4168, столбец: 18 System.err: Frame: function: 'Observable.notify ', file:' file: ///data/data/org.nativescript.application/files/app/vendor.js ', строка: 17698, столбец: 15 System.err: Frame: function:' Observable._emit ', file:' file: ///data/data/org.nativescript.application/files/app/vendor.js ', строка: 17726, столбец: 12 System.err: Frame: function:' ClickListenerImpl.onClick ', файл: 'file: ///data/data/org.nativescript.application/files/app/vendor.js', строка: 29193, столбец: 15 System.err: System.err: at com.tns.Runtime.callJSMethodNative (собственный метод) System.err: в com.tns.Runtime.dispatchCallJSMethodNative (Runtime.java:1120) System.err: в com.tns.Runtime.callJSMethodImpl (Runtime.java:1000) System.err: в com.tns.Runtime.callJSMethod (Runtime.java:987) System.err: в com.tns.Runtime.callJSMethod (Runtime.java:967) System.err: в com.tns.Runtime.callJSMethod (Runtime.java:959)System.err: на com.tns.gen.java..java: 6574) System.err: на android.view.View.access $ 3100 (View.java:778) System.err: на android.view.View $ PerformClick.run (View.java:25885) System.err:на android.os.Handler.h andleCallback (Handler.java:873) System.err: на android.os.Handler.dispatchMessage (Handler.java:99) System.err: на android.os.Looper.loop (Looper.Java: 193) System.err: на android.app.ActivityThread.main (ActivityThread.java:6669) System.err: на java.lang.reflect.Method.invoke (собственный метод) System.err: на com.android.internal.os.RuntimeInit $ MethodAndArgsCaller.run (RuntimeInit.java:493) System.err: at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:858)

Как исправитьэта ошибка.Спасибо

...