// // SPDX-FileCopyrightText: 2018-2024 The LineageOS Project // SPDX-License-Identifier: Apache-2.0 // android_app { name: "org.lineageos.platform-res", use_resource_processor: false, sdk_version: "core_platform", certificate: "platform", manifest: "lineage/res/AndroidManifest.xml", // Disable dexpreopt and verify_uses_libraries check as the app // contains no Java code to be dexpreopted. enforce_uses_libs: false, dex_preopt: { enabled: false, }, // Soong special-cases org.lineageos.platform-res to install this alongside // the libraries at /system_ext/framework/org.lineageos.platform-res.apk. aaptflags: [ "--private-symbols", "org.lineageos.platform.internal", // Framework doesn't need versioning since it IS the platform. "--no-auto-version", // Allow overlay to add resource "--auto-add-overlay", // Tell aapt to create "extending (non-application)" resource IDs, // since these resources will be used by many apps. "--allow-reserved-package-id", // Use id 0x3f (one less than app id). "--package-id", "63", ], resource_dirs: [ "lineage/res/res", ], // Create package-export.apk, which other packages can use to get // PRODUCT-agnostic resource data like IDs and type definitions. export_package_resources: true, } // The LineageOS Platform Framework Library // ============================================================ lineage_sdk_src = "sdk/src/java/lineageos" lineage_sdk_internal_src = "sdk/src/java/org/lineageos/internal" library_src = "lineage/lib/main/java" lineage_sdk_aidl_hals = [ "vendor.lineage.health-V2-java", "vendor.lineage.touch-V1-java", ] lineage_sdk_hidl_hals = [ "vendor.lineage.livedisplay-V2.0-java", "vendor.lineage.livedisplay-V2.1-java", "vendor.lineage.touch-V1.0-java", ] lineage_sdk_LOCAL_STATIC_JAVA_LIBRARIES = lineage_sdk_aidl_hals + lineage_sdk_hidl_hals java_library { name: "org.lineageos.platform", installable: true, sdk_version: "core_platform", static_libs: lineage_sdk_LOCAL_STATIC_JAVA_LIBRARIES, libs: [ "framework", "services", ], srcs: [ lineage_sdk_src + "/**/*.java", lineage_sdk_internal_src + "/**/*.java", library_src + "/**/*.java", lineage_sdk_src + "/**/I*.aidl", lineage_sdk_internal_src + "/**/I*.aidl", // For the generated R.java and Manifest.java ":org.lineageos.platform-res{.aapt.srcjar}", ], // Include aidl files from lineageos.app namespace as well as internal src aidl files aidl: { local_include_dirs: ["sdk/src/java"], }, } // Full target for use by platform apps // ============================================================ java_library { name: "org.lineageos.platform.internal", static_libs: lineage_sdk_LOCAL_STATIC_JAVA_LIBRARIES, srcs: [ lineage_sdk_src + "/**/*.java", lineage_sdk_internal_src + "/**/*.java", lineage_sdk_src + "/**/I*.aidl", lineage_sdk_internal_src + "/**/I*.aidl", // For the generated R.java and Manifest.java ":org.lineageos.platform-res{.aapt.srcjar}", ], aidl: { local_include_dirs: ["sdk/src/java"], }, }