car下android.bp解析
package {
default_applicable_licenses: ["Android-Apache-2.0"],
}
android_library {
name: "CarLauncher-core",
platform_apis: true,
srcs: ["src/**/*.java"],
resource_dirs: ["res"],
static_libs: [
"androidx-constraintlayout_constraintlayout-solver",
"androidx-constraintlayout_constraintlayout",
"androidx.lifecycle_lifecycle-extensions",
"car-media-common",
"car-telephony-common",
"car-ui-lib",
"WindowManager-Shell",
],
libs: ["android.car"],
manifest: "AndroidManifest.xml",
}
android_app {
name: "CarLauncher",
resource_dirs: [],
platform_apis: true,
required: ["allowed_privapp_com.android.car.carlauncher"],
certificate: "platform",
privileged: true,
overrides: [
"Launcher2",
"Launcher3",
"Launcher3QuickStep",
],
static_libs: ["CarLauncher-core"],
libs: ["android.car"],
optimize: {
enabled: false,
},
dex_preopt: {
enabled: false,
},
product_variables: {
pdk: {
enabled: false,
},
},
}
常用解析
模块
[module type] {
name: "[name value]",
[property1 name]:"[property1 value]",
[property2 name]:"[property2 value]",
}
模块案例
cc_binary { name: "gzip", srcs: ["src/test/minigzip.c"], shared_libs: ["libz"], stl: "none", }
常见的模块类型有
cc_library,
cc_library_headers,
cc_library_shared,
cc_library_static,
android_app,
android_app_certificate,
java_library,
java_library_static,
java_sdk_library等等。
案例学习
android_app {
name: "CarNotification",
srcs: ["src/**/*.java"],
resource_dirs: ["res"],
platform_apis: true,
certificate: "platform",
privileged: true,
optimize: {
enabled: false,
},
dex_preopt: {
enabled: false,
},
static_libs: [
"androidx.cardview_cardview",
"androidx.recyclerview_recyclerview",
"androidx.palette_palette",
"car-assist-client-lib",
"android.car.userlib",
"androidx-constraintlayout_constraintlayout"
],
libs: ["android.car"],
product_variables: {
pdk: {
enabled: false,
},
},
required: ["privapp_whitelist_com.android.car.notification"]
}
android_library {
name: "CarNotificationLib",
srcs: ["src/**/*.java"],
resource_dirs: ["res"],
manifest: "AndroidManifest-withoutActivity.xml",
platform_apis: true,
optimize: {
enabled: false,
},
dex_preopt: {
enabled: false,
},
static_libs: [
"androidx.cardview_cardview",
"androidx.recyclerview_recyclerview",
"androidx.palette_palette",
"car-assist-client-lib",
"android.car.userlib",
"androidx-constraintlayout_constraintlayout"
],
libs: ["android.car"],
product_variables: {
pdk: {
enabled: false,
},
},
}
资料
www.jianshu.com/p/f23e18933…