-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathAndroid.bp
More file actions
151 lines (119 loc) · 3.65 KB
/
Android.bp
File metadata and controls
151 lines (119 loc) · 3.65 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
//
// SPDX-FileCopyrightText: 2018-2025 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",
// Framework resources benefit tremendously from enabling sparse encoding, saving tens
// of MBs in size and RAM use.
"--enable-sparse-encoding",
// 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",
"lineage/res/custom_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
// ============================================================
filegroup {
name: "lineage-sdk-sources",
srcs: [
"sdk/src/java/lineageos/**/*.java",
"sdk/src/java/lineageos/**/I*.aidl",
],
}
filegroup {
name: "lineage-sdk-internal-sources",
srcs: [
"sdk/src/java/org/lineageos/internal/**/*.java",
"sdk/src/java/org/lineageos/internal/**/I*.aidl",
],
}
filegroup {
name: "lineage-library-sources",
srcs: ["lineage/lib/main/java/**/*.java"],
}
java_defaults {
name: "lineage-sdk-defaults",
// Include aidl files from lineageos.app namespace as well as internal src aidl files
aidl: {
local_include_dirs: ["sdk/src/java"],
},
srcs: [
":lineage-sdk-internal-sources",
":lineage-sdk-sources",
// For the generated R.java and Manifest.java
":org.lineageos.platform-res{.aapt.srcjar}",
],
static_libs: [
"vendor.lineage.health-V2-java",
"vendor.lineage.livedisplay-V1-java",
"vendor.lineage.touch-V1-java",
],
}
java_library {
name: "org.lineageos.platform",
defaults: ["lineage-sdk-defaults"],
installable: true,
sdk_version: "core_platform",
libs: [
"framework",
"services.impl",
],
srcs: [
":lineage-library-sources",
],
dxflags: [
"--multi-dex",
],
javac_shard_size: 150,
}
// Full target for use by platform apps
// ============================================================
java_library {
name: "org.lineageos.platform.internal",
defaults: ["lineage-sdk-defaults"],
dxflags: [
"--multi-dex",
],
javac_shard_size: 150,
}
// Resources only target for use by core
// ============================================================
java_library {
name: "org.lineageos.platform.resources",
srcs: [
// For the generated R.java and Manifest.java
":org.lineageos.platform-res{.aapt.srcjar}",
],
sdk_version: "core_current",
installable: false,
}