I'm trying to integrate a private module to Android 11 AOSP image. The module is written in c++ and use Android.bp (the contents are attached on the bottom for reference) to build. Everything works well when I did the same thing in Android 10 AOSP. Below are my build steps and build issues in Android 11 AOSP:
1. Before making changes for integrating my module, make sure I can build a AOSP image successfully. (android-11.0.0_r34, aosp_coral-userdebug 2. Copy my module to `vendor/surface/MMX_virtual_keyboard` and add below line to aosp_coral.mk: *+$(call inherit-product-if-exists, vendor/surface/mmx_virtual_keyboard/mmxkb.mk)* 3. Got to `vendor/surface/MMX_virtual_keyboard` and run *mm* or *mma* to build the module. Got build errors as below: FAILED: build/make/core/main.mk:1204: warning: device/google/coral/aosp_flame.mk produces files inside build/make/target/product/*mainline_system.mks* artifact path requirement. Offending entries: *system/bin/mmx_virtual_keyboard* *system/etc/init/mmx_virtual_keyboard.rc* build/make/core/main.mk:1204: error: Build failed. 4. Compared to Android 10, I noticed a new flag *PRODUCT_ENFORCE_ARTIFACT_PATH_REQUIREMENTS := strict *in Android 11 aosp_coral.mk. I removed the line and ran mm to build the module again. The build errors: [ 94% 223/235] //vendor/surface/mmx_virtual_keyboard:mmx_virtual_keyboard gen aidl FAILED: out/soong/.intermediates/vendor/surface/mmx_virtual_keyboard/mmx_virtual_keyboard/android_arm64_armv8-a/gen/aidl/aidl/vendor/microsoft/BnMMXVirtualKeyboardService.h out/soong/.intermediates/vendor/surface/mmx_virtual_keyboard/mmx_virtual_keyboard/android_arm64_armv8-a/gen/aidl/aidl/vendor/microsoft/BpMMXVirtualKeyboardService.h out/soong/.intermediates/vendor/surface/mmx_virtual_keyboard/mmx_virtual_keyboard/android_arm64_armv8-a/gen/aidl/aidl/vendor/microsoft/IMMXVirtualKeyboardService.h out/soong/.intermediates/vendor/surface/mmx_virtual_keyboard/mmx_virtual_keyboard/android_arm64_armv8-a/gen/aidl/vendor/surface/mmx_virtual_keyboard/aidl/vendor/microsoft/IMMXVirtualKeyboardService.cpp out/soong/host/linux-x86/bin/sbox -c 'out/soong/host/linux-x86/bin/aidl-cpp -d__SBOX_OUT_DIR__/vendor/surface/mmx_virtual_keyboard/aidl/vendor/microsoft/IMMXVirtualKeyboardService.cpp.d --ninja -Ivendor/surface/mmx_virtual_keyboard/ vendor/surface/mmx_virtual_keyboard/aidl/vendor/microsoft/IMMXVirtualKeyboardService.aidl __SBOX_OUT_DIR__ __SBOX_OUT_DIR__/vendor/surface/mmx_virtual_keyboard/aidl/vendor/microsoft/IMMXVirtualKeyboardService.cpp' --sandbox-path out/soong/.temp --output-root out/soong/.intermediates/vendor/surface/mmx_virtual_keyboard/mmx_virtual_keyboard/android_arm64_armv8-a/gen/aidl --depfile-out out/soong/.intermediates/vendor/surface/mmx_virtual_keyboard/mmx_virtual_keyboard/android_arm64_armv8-a/gen/aidl/vendor/surface/mmx_virtual_keyboard/aidl/vendor/microsoft/IMMXVirtualKeyboardService.cpp.d __SBOX_OUT_DIR__/aidl/vendor/microsoft/BnMMXVirtualKeyboardService.h __SBOX_OUT_DIR__/aidl/vendor/microsoft/BpMMXVirtualKeyboardService.h __SBOX_OUT_DIR__/aidl/vendor/microsoft/IMMXVirtualKeyboardService.h __SBOX_OUT_DIR__/vendor/surface/mmx_virtual_keyboard/aidl/vendor/microsoft/IMMXVirtualKeyboardService.cpp *mismatch between declared and actual outputs* in sbox command(out/soong/host/linux-x86/bin/aidl-cpp -dout/soong/.temp/sbox437978025/vendor/surface/mmx_virtual_keyboard/aidl/vendor/microsoft/IMMXVirtualKeyboardService.cpp.d --ninja -Ivendor/surface/mmx_virtual_keyboard/ vendor/surface/mmx_virtual_keyboard/aidl/vendor/microsoft/IMMXVirtualKeyboardService.aidl out/soong/.temp/sbox437978025 out/soong/.temp/sbox437978025/vendor/surface/mmx_virtual_keyboard/aidl/vendor/microsoft/IMMXVirtualKeyboardService.cpp) in sandbox out/soong/.temp/sbox437978025, *failed to create 3 files:* * aidl/vendor/microsoft/BnMMXVirtualKeyboardService.h: does not exist* * aidl/vendor/microsoft/BpMMXVirtualKeyboardService.h: does not exist* * aidl/vendor/microsoft/IMMXVirtualKeyboardService.h: does not exist* did create 5 files: vendor/microsoft/BnMMXVirtualKeyboardService.h vendor/microsoft/BpMMXVirtualKeyboardService.h vendor/microsoft/IMMXVirtualKeyboardService.h vendor/surface/mmx_virtual_keyboard/aidl/vendor/microsoft/IMMXVirtualKeyboardService.cpp vendor/surface/mmx_virtual_keyboard/aidl/vendor/microsoft/IMMXVirtualKeyboardService.cpp.d 16:39:42 ninja failed with: exit status 1 5. I also read Enforcing Product Partition Interfaces | Android Open Source Project <https://source.android.com/devices/bootloader/partitions/product-interfaces> and tried adding *"product_specific: true"* for cc_binary. Got the same build errors as 4. *Appendix (the contents of my Android.bp - Repos (azure.com) <https://dev.azure.com/msmmx/Vienna/_git/vendor.surface.mmx_virtual_keyboard?path=%2FAndroid.bp>):* service_src = [ "main.cpp", "MMXVirtualKeyboardService.cpp", "EvdevInjector.cpp", "MMXVirtualKeyboardEvdev.cpp", "aidl/vendor/microsoft/IMMXVirtualKeyboardService.aidl", ] service_shared_libs = [ "libbase", "libbinder", "liblog", "libutils", ] cc_binary { srcs: service_src, local_include_dirs: ["include"], shared_libs: service_shared_libs, cflags: [ "-DLOG_TAG=\"MMXVirtualKeyboard\"", "-Wall", "-Werror", ], host_ldlibs: ["-llog"], name: "mmx_virtual_keyboard", init_rc: ["mmx_virtual_keyboard.rc"], compile_multilib: "64", stl: "libc++_static", } // AIDL interfaces between the core system and the networking mainline module. java_library { name: "mmxvirtualkeyboard-aidl-interfaces", srcs: [ "aidl/vendor/microsoft/IMMXVirtualKeyboardService.aidl", ], } Any suggestion is appreciated. Thank you! -- -- You received this message because you are subscribed to the "Android Building" mailing list. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/android-building?hl=en --- You received this message because you are subscribed to the Google Groups "Android Building" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/android-building/04cf6e1b-c4c4-4c3c-b4f7-2bf1174a3a88n%40googlegroups.com.
