Как включить готовую библиотеку в файл Android.bp?

Я использую Android-O и вижу, что большинство файлов .mk заменяется файлом .bp.
Теперь я изменил один из исходных кодов в разделе hardware / interfaces, который построен с использованием файлов .bp.

Теперь у меня есть готовая разделяемая библиотека, которая используется исходным кодом.

Но я не смог выяснить, как включить встроенную библиотеку в файл Android.bp.

Любая помощь / комментарии будут очень благодарны.

0

Решение

После некоторой борьбы здесь я нашел решение

1) Существует инструмент под названием androidmk для создания файла Android.bp из файла Android.mk

Use below commands to build androidmk toolsource build/envsetup.sh
m -j blueprint_tools
Output Path: out/soong/host/linux-x86/bin/androidmk (depending on your host)

Write normal Android.mk file for prebuilt library like this

include $(CLEAR_VARS)
LOCAL_MODULE := newlib
LOCAL_SRC_FILES := newlib.so
LOCAL_MODULE_SUFFIX := .so
LOCAL_MODULE_CLASS := SHARED_LIBRARIES
LOCAL_MODULE_PATH := $(TARGET_OUT_SHARED_LIBRARIES)
LOCAL_MODULE_TAGS := optional
include $(BUILD_PREBUILT)

Now run below command
androidmk Android.mk > Android.bp

Android.bp file will be created as below

cc_prebuilt_library_shared {
name: "newlib",
srcs: ["newlib.so"],

//ANDROIDMK TRANSLATION ERROR: unspported assignment to LOCAL_MODULE_PATH
//LOCAL_MODULE_PATH := $(TARGET_OUT_SHARED_LIBRARY)
}

2) Теперь используя вышеупомянутый файл Android.bp
Я получил ниже ошибки

**out/target/product/mytest/symbols/system/lib64/newlib.so: no symbols**

So I added this

strip: {
none:true,
}

3) Теперь с новым Android.bp я все еще получил эту ошибку

**error: newlib.so incompatible target**

So I added this (created 2 directories lib and lib64 with corresponding libraries)target: {
android_arm: {
srcs: ["lib/newlib.so"],
},
android_arm64: {
srcs: ["lib64/newlib.so"],
}
},

Наконец, с файлом Android.bp, приведенным ниже, мое требование было выполнено

cc_prebuilt_library_shared {
name: "newlib",
target: {
android_arm: {
srcs: ["lib/newlib.so"],
},
android_arm64: {
srcs: ["lib64/newlib.so"],
},
},
strip: {
none:true,
},
}
1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]