Включая Androidx.Work не работает в плагине nativescript - PullRequest
0 голосов
/ 26 сентября 2019

Я создаю плагин nativescript и хочу использовать новый WorkManager из Android (https://developer.android.com/topic/libraries/architecture/workmanager).

Вот как я хочу создать экземпляр класса Worker:

 export class GeofenceWorker extends androidx.work.Worker {

            constructor(context, params) {
                super(context,params);
            }

            public doWork(): androidx.work.ListenableWorker.Result {
                console.log("work done");
                return androidx.work.ListenableWorker.Result.success()

            }
        }

Однако я продолжаю получать следующую ошибку:

TS2339: Property 'work' does not exist on type 'typeof androidx'.

Следуя инструкциям, я добавил следующий код в файл include.gradle в плагине / src / platform / android / include.gradle

    repositories {
        jcenter()
        maven {
            url "https://maven.google.com"
        }
    }
}

android {
}

dependencies {
    def googlePlayServicesVersion = project.hasProperty('googlePlayServicesVersion') ? project.googlePlayServicesVersion : "11.4.0"
    compile "com.google.android.gms:play-services-location:$googlePlayServicesVersion"
    compile "androidx.work:work-runtime:2.2.0"

}

Кроме того, я также включил следующий код в основной app.gradle приложений nativescript, в котором установлен плагин:

dependencies {
    implementation 'com.google.android.gms:play-services-location:17.0.0'
    implementation "androidx.work:work-runtime:2.2.0"

}

Я также пытался очистить платформу Android с помощью tns platform clean android в основном плагине, но безуспешно.

Итак, я понимаю, что проблема не в том, что нет доступа к зависимости. Я думал о добавлении библиотеки .aar в мой проект, но я совершенно уверен, что это необходимо только для custom /не по умолчанию apis, которых нет в репозиториях. Добавление репозитория google() в include.gradle также не помогает.

...