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.

Reply via email to