Я хочу использовать библиотеку jsoup в проекте Android с открытым исходным кодом. Для этого я сделал две вещи:
Шаг 1:
- Сделал общий каталог jsoup следующим образом:
[android]prebuilts/misc/common/jsoup/
- В эту папку jsoup я добавил jsoup-1.13.1.jar, загруженный с: https://jsoup.org/download
- В эту же папку jsoup я добавил еще один файл
Android.mk
{так как это имя и код ниже:}
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := jsoup
LOCAL_MODULE_TAGS := optional
LOCAL_SRC_FILES := jsoup-1.13.1.jar
LOCAL_MODULE_CLASS := JAVA_LIBRARIES
LOCAL_MODULE_SUFFIX := $(COMMON_JAVA_PACKAGE_SUFFIX)
LOCAL_DEX_PREOPT := false
include $(BUILD_PREBUILT)
Шаг 2:
- Перейдите к другому файлу make следующим образом: [android]/frameworks/base/Android.mk
- В этот файл Android.mk я добавил следующую строку, показанную ниже (после установки переменной LOCAL_JAVA_LIBRARIES): LOCAL_STATIC_JAVA_LIBRARIES += jsoup
Проблема:
- Я добавил файл sample.java следующим образом: [android]frameworks/base/services/core/java/com/android/server/am/sample.java
- В этом файле sample.java у меня есть операторы импорта следующим образом:
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.select.Elements;
- Когда я создаю весь этот модифицированный код Android, я получаю следующую ошибку, и сборка завершается ошибкой:
frameworks/base/services/core/java/com/android/server/am/sample.java:48: error: package org.jsoup does not exist
frameworks/base/services/core/java/com/android/server/am/sample.java:49: error: package org.jsoup.nodes does not exist
frameworks/base/services/core/java/com/android/server/am/sample.java:50: error: package org.jsoup.select does not exist
- Я даже пытался использовать метод с упоминанием Android.bp вместо Android.mk, но та же ошибка сборки.
- Также я запутался в именовании файла jar, поскольку оператор импорта включает org.jsoup... но сам файл jar - это просто jsoup. (Нужно ли мне изменить оператор импорта, например import jsoup... или изменить имя файла jar на org.jsoup...)
- Любой другой метод, кроме Android.mk или Android.bp, также вполне приемлем.
Пожалуйста, я понятия не имею о включении внешних JAR-файлов в AOSP. В противном случае код отлично работает локально в IntelliJ IDE Java. Любая помощь приветствуется. Заранее спасибо.