Как реализовать рабочую среду androidx в android.mk ?

#android #runtime #androidx #android-workmanager #android.mk

#Android #время выполнения #androidx #android-workmanager #android.mk

Вопрос:

Я пытаюсь добавить библиотеку в свой Android.mk файл, но я пока не смог добиться успеха. Существует реализация библиотеки в файле build.gradle, как показано ниже;

 implementation "androidx.work:work-runtime:2.4.0"
  

В Android.mk файл, который я использовал, что-то вроде этого;

 LOCAL_STATIC_ANDROID_LIBRARIES := 
    androidx.work_work-runtime
  

Однако это выдает ошибку, когда я создаю проект.

 error: MyApp (APPS android-arm) missing androidx.work_work-runtime (JAVA_LIBRARIES android-arm) 
You can set ALLOW_MISSING_DEPENDENCIES=true in your environment if this is intentional, but that may defer real problems until later in the build.
build/make/core/main.mk:846: error: exiting from previous errors.
  

Итак, если кто-нибудь может мне здесь помочь, я был бы очень рад. Спасибо!!!

Ответ №1:

Добавьте приведенные ниже определения в свой makefile..

 LOCAL_STATIC_ANDROID_LIBRARIES := 
  androidx.core_core

LOCAL_STATIC_JAVA_LIBRARIES := 
  androidx.lifecycle_lifecycle-runtime 
  androidx.lifecycle_lifecycle-service 
  androidx.room_room-runtime 
  androidx.sqlite_sqlite 
  androidx.sqlite_sqlite-framework 
  guava 
  workruntime

LOCAL_AAPT_FLAGS := 
  --extra-packages androidx.work

LOCAL_PREBUILT_STATIC_JAVA_LIBRARIES := workruntime:libs/work-runtime-2.4.0.aar
include $(BUILD_MULTI_PREBUILT)
  

Комментарии:

1. Спасибо @oguz-gencer. Я смог включить androidx.work в Android.mk . Во время выполнения я сталкиваюсь с этой проблемой «java.lang. Ошибка noSuchMethod: нет виртуального метода noBackupDirectory(Z)Landroidx/sqlite/db/SupportSQLiteOpenHelper$Configuration$Builder;» — в WorkManager.initialize(). Вы видели это?