нераспознанное свойство "cflags" для модуля cc_prebuilt_library_shared - PullRequest
4 голосов
/ 25 июня 2019

Я пишу Android.bp файл для одной из готовых библиотек.В Android.mk можно было добавить CFlags для готовой библиотеки;однако то же самое не работает в случае с планом, т.е. Android.bp.Ниже приведен фрагмент того, что я делаю:

cc_prebuilt_library_shared {
    name: "samplelib",
    vendor_available:true,
    cflags: [
       "-Wall",
        "-Wextra",
        "-Werror",
    ],
    tags: [
        "optional",
        "eng",
        "debug",
    ],

    target: {
        android_x86:{
                 srcs: ["bin/x86/samplelib.so"],
                 compile_multilib: "32",
                 relative_install_path: "lib",
        },
        android_x86_64:{
                 srcs: ["bin/x86_64/samplelib.so"],
                 compile_multilib: "64",
                 relative_install_path: "lib64",
        },
   },
}

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

/Android.bp:5:11: unrecognized property "cflags"

Так что, если я правильно понимаю, cflags нельзя использовать сcc_prebuilt_library_shared модуль;если это так, как мы можем включить CFlags для этого модуля?

Ответы [ 2 ]

4 голосов
/ 25 июня 2019

Это может не звучать актуально; но исправлением было установить LOCAL_STRIP_MODULE в None и удалить cflags из файла Android.bp. Итак, рабочий фрагмент выглядит так:

cc_prebuilt_library_shared {
    name: "samplelib",
    vendor_available:true,
    tags: [
        "optional",
        "eng",
        "debug",
    ],

    target: {
        android_x86:{
                 srcs: ["bin/x86/samplelib.so"],
                 compile_multilib: "32",
                 relative_install_path: "lib",
        },
        android_x86_64:{
                 srcs: ["bin/x86_64/samplelib.so"],
                 compile_multilib: "64",
                 relative_install_path: "lib64",
        },
   },
    strip: {
            none:true,
    },
}

Замечание "strip" атрибут, для которого установлено значение none и cflags, также удаляется.

Примечание: "strip" атрибут - это версия проекта LOCAL_STRIP_MODULE файла сборки.

1 голос
/ 10 июля 2019

Наличие cflags для готовых двоичных файлов не имеет особого смысла.Они предоставляются компилятору при сборке файлов C / C ++.Поскольку ваши библиотеки уже собраны, они вам не нужны.

...