├── .gitignore
├── README.md
├── angler
├── config.json
├── overlays-api26-full
│ └── packages
│ │ ├── apps
│ │ └── CarrierConfig
│ │ │ └── res
│ │ │ └── xml
│ │ │ └── vendor.xml
│ │ └── services
│ │ └── Telephony
│ │ └── res
│ │ └── values
│ │ └── config.xml
└── overlays-api26-naked
│ └── packages
│ ├── apps
│ └── CarrierConfig
│ │ └── res
│ │ └── xml
│ │ └── vendor.xml
│ └── services
│ └── Telephony
│ └── res
│ └── values
│ └── config.xml
├── blueline
└── config.json
├── bonito
└── config.json
├── bullhead
├── config.json
├── overlays-api26-full
│ └── packages
│ │ ├── apps
│ │ └── CarrierConfig
│ │ │ └── res
│ │ │ └── xml
│ │ │ └── vendor.xml
│ │ └── services
│ │ └── Telephony
│ │ └── res
│ │ └── values
│ │ └── config.xml
└── overlays-api26-naked
│ └── packages
│ ├── apps
│ └── CarrierConfig
│ │ └── res
│ │ └── xml
│ │ └── vendor.xml
│ └── services
│ └── Telephony
│ └── res
│ └── values
│ └── config.xml
├── crosshatch
└── config.json
├── execute-all.sh
├── flounder
└── config.json
├── hostTools
├── Darwin
│ └── bin
│ │ ├── dexrepair
│ │ ├── jq
│ │ └── simg2img
├── Java
│ ├── baksmali.jar
│ ├── oat2dex.jar
│ └── smali.jar
└── Linux
│ └── bin
│ ├── dexrepair
│ ├── jq
│ └── simg2img
├── marlin
├── config.json
├── overlays-api26-full
│ └── packages
│ │ ├── apps
│ │ └── CarrierConfig
│ │ │ └── res
│ │ │ └── xml
│ │ │ └── vendor.xml
│ │ └── services
│ │ └── Telephony
│ │ └── res
│ │ └── values
│ │ └── config.xml
└── overlays-api26-naked
│ └── packages
│ ├── apps
│ └── CarrierConfig
│ │ └── res
│ │ └── xml
│ │ └── vendor.xml
│ └── services
│ └── Telephony
│ └── res
│ └── values
│ └── config.xml
├── sailfish
├── config.json
├── overlays-api26-full
│ └── packages
│ │ ├── apps
│ │ └── CarrierConfig
│ │ │ └── res
│ │ │ └── xml
│ │ │ └── vendor.xml
│ │ └── services
│ │ └── Telephony
│ │ └── res
│ │ └── values
│ │ └── config.xml
└── overlays-api26-naked
│ └── packages
│ ├── apps
│ └── CarrierConfig
│ │ └── res
│ │ └── xml
│ │ └── vendor.xml
│ └── services
│ └── Telephony
│ └── res
│ └── values
│ └── config.xml
├── sargo
└── config.json
├── scripts
├── common.sh
├── constants.sh
├── download-nexus-image.sh
├── extract-factory-images.sh
├── gen-prop-blobs-list.sh
├── generate-vendor.sh
├── realpath.sh
└── system-img-repair.sh
├── taimen
└── config.json
└── walleye
└── config.json
/.gitignore:
--------------------------------------------------------------------------------
1 | .DS_Store
2 |
3 | angler/*
4 | !angler/config.json
5 | !angler/overlays-*
6 |
7 | bullhead/*
8 | !bullhead/config.json
9 | !bullhead/overlays-*
10 |
11 | flounder/*
12 | !flounder/config.json
13 | !flounder/overlays-*
14 |
15 | sailfish/*
16 | !sailfish/config.json
17 | !sailfish/overlays-*
18 |
19 | marlin/*
20 | !marlin/config.json
21 | !marlin/overlays-*
22 |
23 | walleye/*
24 | !walleye/config.json
25 | !walleye/overlays-*
26 |
27 | taimen/*
28 | !taimen/config.json
29 | !taimen/overlays-*
30 |
31 | blueline/*
32 | !blueline/config.json
33 | !blueline/overlays-*
34 |
35 | crosshatch/*
36 | !crosshatch/config.json
37 | !crosshatch/overlays-*
38 |
39 | sargo/*
40 | !sargo/config.json
41 | !sargo/overlays-*
42 |
43 | bonito/*
44 | !bonito/config.json
45 | !bonito/overlays-*
46 |
47 | # oatdump host tools are downloaded on first run and are not part of the repo
48 | hostTools/Linux/api*
49 | hostTools/Darwin/api*
50 |
--------------------------------------------------------------------------------
/angler/overlays-api26-full/packages/services/Telephony/res/values/config.xml:
--------------------------------------------------------------------------------
1 |
2 |
16 |
17 |
21 |
22 |
24 |
25 |
29 |
30 | false
31 |
32 |
40 |
41 | true
42 |
43 |
47 |
48 |
50 | 1
51 |
53 | 0
54 |
56 | 0
57 |
58 | 0
59 |
60 |
61 |
62 | false
63 |
64 |
70 |
71 | true
72 |
73 |
74 | false
75 |
76 |
77 |
78 | false
79 |
80 |
81 |
82 | false
83 |
84 |
86 |
87 | true
88 |
89 |
93 |
94 | true
95 |
96 |
99 | false
100 |
101 |
102 |
103 | false
104 |
105 |
116 |
117 | false
118 |
119 |
123 |
124 | false
125 |
126 |
127 |
128 | false
129 |
130 |
133 |
134 | true
135 |
136 | true
137 |
138 | true
139 |
140 | false
141 |
142 | false
143 |
144 |
145 |
146 |
147 |
148 | false
149 |
150 |
151 | com.android.dialer
152 |
153 |
154 | com.android.dialer.DialtactsActivity
155 |
156 |
157 | com.android.phone
158 |
159 | com.android.phone.NetworkSetting
160 |
161 |
162 |
163 | false
164 |
165 |
168 |
169 | false
170 |
171 |
172 |
173 | false
174 |
175 |
176 |
177 |
178 |
179 |
180 | true
181 |
182 |
183 |
184 | false
185 |
186 |
187 | true
188 |
189 |
190 | true
191 |
192 |
194 | false
195 |
196 |
198 | false
199 |
200 |
201 | false
202 |
203 | @null
204 |
205 | @null
206 |
207 |
208 | true
209 |
210 |
212 |
213 |
214 |
215 | true
216 |
217 |
218 | true
219 |
220 |
221 | false
222 |
223 |
224 | true
225 |
226 |
227 | com.android.carrierconfig
228 |
229 |
--------------------------------------------------------------------------------
/angler/overlays-api26-naked/packages/apps/CarrierConfig/res/xml/vendor.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
--------------------------------------------------------------------------------
/angler/overlays-api26-naked/packages/services/Telephony/res/values/config.xml:
--------------------------------------------------------------------------------
1 |
2 |
16 |
17 |
21 |
22 |
24 |
25 |
29 |
30 | false
31 |
32 |
40 |
41 | true
42 |
43 |
47 |
48 |
50 | 1
51 |
53 | 0
54 |
56 | 0
57 |
58 | 0
59 |
60 |
61 |
62 | false
63 |
64 |
70 |
71 | true
72 |
73 |
74 | false
75 |
76 |
77 |
78 | false
79 |
80 |
81 |
82 | false
83 |
84 |
86 |
87 | true
88 |
89 |
93 |
94 | true
95 |
96 |
99 | false
100 |
101 |
102 |
103 | false
104 |
105 |
116 |
117 | false
118 |
119 |
123 |
124 | false
125 |
126 |
127 |
128 | false
129 |
130 |
133 |
134 | true
135 |
136 | true
137 |
138 | true
139 |
140 | false
141 |
142 | false
143 |
144 |
145 |
146 |
147 |
148 | false
149 |
150 |
151 | com.android.dialer
152 |
153 |
154 | com.android.dialer.DialtactsActivity
155 |
156 |
157 | com.android.phone
158 |
159 | com.android.phone.NetworkSetting
160 |
161 |
162 |
163 | false
164 |
165 |
168 |
169 | false
170 |
171 |
172 |
173 | false
174 |
175 |
176 |
177 |
178 |
179 |
180 | true
181 |
182 |
183 |
184 | false
185 |
186 |
187 | true
188 |
189 |
190 | true
191 |
192 |
194 | false
195 |
196 |
198 | false
199 |
200 |
201 | false
202 |
203 | @null
204 |
205 | @null
206 |
207 |
208 | true
209 |
210 |
212 |
213 |
214 |
215 | true
216 |
217 |
218 | true
219 |
220 |
221 | false
222 |
223 |
224 | true
225 |
226 |
227 | com.android.carrierconfig
228 |
229 |
--------------------------------------------------------------------------------
/blueline/config.json:
--------------------------------------------------------------------------------
1 | {
2 | "device-name": "pixel3",
3 | "device-model": "blueline",
4 | "device-aliases": [],
5 | "vendor": "google",
6 | "aosp-vendor-dir": "google_devices",
7 | "device-family": "crosshatch",
8 | "supported-apis": ["api-28"],
9 | "extra-partitions": [
10 | "abl",
11 | "aop",
12 | "cmnlib",
13 | "cmnlib64",
14 | "devcfg",
15 | "hyp",
16 | "keymaster",
17 | "modem",
18 | "qupfw",
19 | "tz",
20 | "xbl",
21 | "xbl_config"
22 | ],
23 | "AndroidMk": "blueline/Android.mk",
24 | "BoardConfigVendorMk": "blueline/BoardConfigVendorPartial.mk",
25 | "DeviceVendorMk": "crosshatch/proprietary/device-vendor.mk",
26 | "api-28": {
27 | "naked": {
28 | "overlays-dir": "",
29 | "system-bytecode": [
30 | "system/app/com.qualcomm.qti.services.secureui/com.qualcomm.qti.services.secureui.apk",
31 | "system/app/datastatusnotification/datastatusnotification.apk",
32 | "system/app/embms/embms.apk",
33 | "system/app/ims/ims.apk",
34 | "system/app/QAS_DVC_MSP/QAS_DVC_MSP.apk",
35 | "system/app/QtiTelephonyService/QtiTelephonyService.apk",
36 | "system/app/remotesimlockservice/remotesimlockservice.apk",
37 | "system/app/smcinvokepkgmgr/smcinvokepkgmgr.apk",
38 | "system/app/uceShimService/uceShimService.apk",
39 | "system/app/uimlpaservice/uimlpaservice.apk",
40 | "system/framework/com.qualcomm.qti.uceservice-V2.0-java.jar",
41 | "system/framework/embmslibrary.jar",
42 | "system/framework/qcrilhook.jar",
43 | "system/framework/QtiTelephonyServicelibrary.jar",
44 | "system/framework/uimlpalibrary.jar",
45 | "system/framework/uimremotesimlocklibrary.jar",
46 | "system/framework/vendor.qti.ims.callinfo-V1.0-java.jar",
47 | "system/framework/vendor.qti.hardware.alarm-V1.0-java.jar",
48 | "system/framework/vendor.qti.hardware.data.latency-V1.0-java.jar",
49 | "system/framework/vendor.qti.hardware.soter-V1.0-java.jar",
50 | "system/priv-app/CNEService/CNEService.apk",
51 | "system/priv-app/ModemService/ModemService.apk",
52 | "system/priv-app/qcrilmsgtunnel/qcrilmsgtunnel.apk",
53 | "system/priv-app/grilservice/grilservice.apk"
54 | ],
55 | "system-other": [
56 | "system/bin/icm",
57 | "system/bin/pktlogconf",
58 | "system/bin/seempd",
59 | "system/bin/smcinvoked",
60 | "system/bin/vendor_cmd_tool",
61 | "system/etc/firmware/dnd.descriptor",
62 | "system/etc/firmware/dnd.sound_model",
63 | "system/etc/firmware/music_detector.descriptor",
64 | "system/etc/firmware/music_detector.sound_model",
65 | "system/etc/permissions/cneapiclient.xml",
66 | "system/etc/permissions/com.google.modemservice.xml",
67 | "system/etc/permissions/com.qualcomm.qti.imscmservice.xml",
68 | "system/etc/permissions/com.quicinc.cne.xml",
69 | "system/etc/permissions/embms.xml",
70 | "system/etc/permissions/lpa.xml",
71 | "system/etc/permissions/LteDirectDiscovery.xml",
72 | "system/etc/permissions/qcrilhook.xml",
73 | "system/etc/permissions/privapp-permissions-bluecross.xml",
74 | "system/etc/permissions/RemoteSimlock.xml",
75 | "system/etc/permissions/telephonyservice.xml",
76 | "system/etc/permissions/UimService.xml",
77 | "system/lib64/com.qualcomm.qti.ant@1.0.so",
78 | "system/lib64/com.qualcomm.qti.imscmservice@1.0.so",
79 | "system/lib64/com.qualcomm.qti.uceservice@2.0.so",
80 | "system/lib64/libaptX_encoder.so",
81 | "system/lib64/libaptXHD_encoder.so",
82 | "system/lib64/libadsprpc_system.so",
83 | "system/lib64/libbarhopper.so",
84 | "system/lib64/libcdsprpc_system.so",
85 | "system/lib64/libdiag_system.so",
86 | "system/lib64/libGPQTEEC_system.so",
87 | "system/lib64/libGPTEE_system.so",
88 | "system/lib64/lib-imsvideocodec.so",
89 | "system/lib64/lib-imsvtextutils.so",
90 | "system/lib64/lib-imsvt.so",
91 | "system/lib64/lib-imsvtutils.so",
92 | "system/lib64/liblistenjni.so",
93 | "system/lib64/liblistensoundmodel2.so",
94 | "system/lib64/liblpmdeviceutils.so",
95 | "system/lib64/libmdsprpc_system.so",
96 | "system/lib64/libOpenCL_system.so",
97 | "system/lib64/libqcbor.so",
98 | "system/lib64/libQTEEConnector_system.so",
99 | "system/lib64/librcc.so",
100 | "system/lib64/libsdm-disp-apis.so",
101 | "system/lib64/libsdsprpc_system.so",
102 | "system/lib64/libsecureuisvc_jni.so",
103 | "system/lib64/libsecureui_svcsock_system.so",
104 | "system/lib64/libsensorslog.so",
105 | "system/lib64/libsmcinvokecred.so",
106 | "system/lib64/libsns_low_lat_stream_stub.so",
107 | "system/lib64/libtzcom.so",
108 | "system/lib64/vendor.display.color@1.0.so",
109 | "system/lib64/vendor.display.color@1.1.so",
110 | "system/lib64/vendor.display.config@1.0.so",
111 | "system/lib64/vendor.display.postproc@1.0.so",
112 | "system/lib64/vendor.google.wireless_charger@1.0.so",
113 | "system/lib64/vendor.qti.esepowermanager@1.0.so",
114 | "system/lib64/vendor.qti.hardware.alarm@1.0.so",
115 | "system/lib64/vendor.qti.hardware.data.latency@1.0.so",
116 | "system/lib64/vendor.qti.hardware.iop@1.0.so",
117 | "system/lib64/vendor.qti.hardware.iop@2.0.so",
118 | "system/lib64/vendor.qti.hardware.perf@1.0.so",
119 | "system/lib64/vendor.qti.hardware.qdutils_disp@1.0.so",
120 | "system/lib64/vendor.qti.hardware.qteeconnector@1.0.so",
121 | "system/lib64/vendor.qti.hardware.radio.am@1.0.so",
122 | "system/lib64/vendor.qti.hardware.radio.ims@1.0.so",
123 | "system/lib64/vendor.qti.hardware.radio.ims@1.1.so",
124 | "system/lib64/vendor.qti.hardware.radio.ims@1.2.so",
125 | "system/lib64/vendor.qti.hardware.radio.lpa@1.0.so",
126 | "system/lib64/vendor.qti.hardware.radio.qcrilhook@1.0.so",
127 | "system/lib64/vendor.qti.hardware.radio.qtiradio@1.0.so",
128 | "system/lib64/vendor.qti.hardware.radio.uim@1.0.so",
129 | "system/lib64/vendor.qti.hardware.radio.uim_remote_client@1.0.so",
130 | "system/lib64/vendor.qti.hardware.radio.uim_remote_server@1.0.so",
131 | "system/lib64/vendor.qti.hardware.soter@1.0.so",
132 | "system/lib64/vendor.qti.hardware.tui_comm@1.0.so",
133 | "system/lib64/vendor.qti.hardware.vpp@1.1.so",
134 | "system/lib64/vendor.qti.ims.callinfo@1.0.so",
135 | "system/lib64/vendor.qti.imsrtpservice@1.0.so",
136 | "system/lib64/vendor.qti.voiceprint@1.0.so",
137 | "system/lib/com.qualcomm.qti.ant@1.0.so",
138 | "system/lib/com.qualcomm.qti.imscmservice@1.0.so",
139 | "system/lib/com.qualcomm.qti.uceservice@2.0.so",
140 | "system/lib/libadsprpc_system.so",
141 | "system/lib/libcdsprpc_system.so",
142 | "system/lib/libdiag_system.so",
143 | "system/lib/libGPQTEEC_system.so",
144 | "system/lib/libGPTEE_system.so",
145 | "system/lib/libimscamera_jni.so",
146 | "system/lib/libimsmedia_jni.so",
147 | "system/lib/lib-imsvideocodec.so",
148 | "system/lib/lib-imsvtextutils.so",
149 | "system/lib/lib-imsvt.so",
150 | "system/lib/lib-imsvtutils.so",
151 | "system/lib/liblistenjni.so",
152 | "system/lib/liblistensoundmodel2.so",
153 | "system/lib/libmdsprpc_system.so",
154 | "system/lib/libOpenCL_system.so",
155 | "system/lib/libqcbor.so",
156 | "system/lib/libqct_resampler.so",
157 | "system/lib/libQTEEConnector_system.so",
158 | "system/lib/librcc.so",
159 | "system/lib/libsdm-disp-apis.so",
160 | "system/lib/libsdsprpc_system.so",
161 | "system/lib/libsecureuisvc_jni.so",
162 | "system/lib/libsecureui_svcsock_system.so",
163 | "system/lib/libsensorslog.so",
164 | "system/lib/libsmcinvokecred.so",
165 | "system/lib/libsns_low_lat_stream_stub.so",
166 | "system/lib/libtzcom.so",
167 | "system/lib/rfsa/adsp/libsns_low_lat_stream_skel.so",
168 | "system/lib/vendor.display.color@1.0.so",
169 | "system/lib/vendor.display.color@1.1.so",
170 | "system/lib/vendor.display.config@1.0.so",
171 | "system/lib/vendor.display.postproc@1.0.so",
172 | "system/lib/vendor.google.wireless_charger@1.0.so",
173 | "system/lib/vendor.qti.esepowermanager@1.0.so",
174 | "system/lib/vendor.qti.hardware.alarm@1.0.so",
175 | "system/lib/vendor.qti.hardware.data.latency@1.0.so",
176 | "system/lib/vendor.qti.hardware.iop@1.0.so",
177 | "system/lib/vendor.qti.hardware.iop@2.0.so",
178 | "system/lib/vendor.qti.hardware.perf@1.0.so",
179 | "system/lib/vendor.qti.hardware.qdutils_disp@1.0.so",
180 | "system/lib/vendor.qti.hardware.qteeconnector@1.0.so",
181 | "system/lib/vendor.qti.hardware.radio.am@1.0.so",
182 | "system/lib/vendor.qti.hardware.radio.ims@1.0.so",
183 | "system/lib/vendor.qti.hardware.radio.ims@1.1.so",
184 | "system/lib/vendor.qti.hardware.radio.ims@1.2.so",
185 | "system/lib/vendor.qti.hardware.radio.lpa@1.0.so",
186 | "system/lib/vendor.qti.hardware.radio.qcrilhook@1.0.so",
187 | "system/lib/vendor.qti.hardware.radio.qtiradio@1.0.so",
188 | "system/lib/vendor.qti.hardware.radio.uim@1.0.so",
189 | "system/lib/vendor.qti.hardware.radio.uim_remote_client@1.0.so",
190 | "system/lib/vendor.qti.hardware.radio.uim_remote_server@1.0.so",
191 | "system/lib/vendor.qti.hardware.soter@1.0.so",
192 | "system/lib/vendor.qti.hardware.tui_comm@1.0.so",
193 | "system/lib/vendor.qti.hardware.vpp@1.1.so",
194 | "system/lib/vendor.qti.ims.callinfo@1.0.so",
195 | "system/lib/vendor.qti.imsrtpservice@1.0.so",
196 | "system/lib/vendor.qti.voiceprint@1.0.so"
197 | ],
198 | "forced-modules": [
199 | "android.hardware.radio@1.0",
200 | "android.hardware.radio@1.1",
201 | "android.hardware.radio@1.2",
202 | "android.hardware.radio.config@1.0",
203 | "android.hardware.radio.deprecated@1.0",
204 | "android.hardware.secure_element@1.0",
205 | "com.android.ims.rcsmanager",
206 | "libminui",
207 | "libprotobuf-cpp-full-rtti",
208 | "libprotobuf-cpp-full",
209 | "RcsService"
210 | ],
211 | "new-modules": [],
212 | "dep-dso": [],
213 | "BoardConfigVendor": [],
214 | "device-vendor": []
215 | },
216 | "full": {
217 | "overlays-dir": "",
218 | "system-bytecode": [
219 | "system/app/EaselServicePrebuilt/EaselServicePrebuilt.apk::PRESIGNED",
220 | "system/app/QAS_DVC_MSP_VZW/QAS_DVC_MSP_VZW.apk",
221 | "system/app/vzw_msdc_api/vzw_msdc_api.apk",
222 | "system/framework/LowPowerMonitorDeviceInterface.jar",
223 | "system/framework/LowPowerMonitorDeviceRpm.jar",
224 | "system/framework/PowerAnomalyDataModemInterface.jar",
225 | "system/framework/PowerAnomalyQcril.jar",
226 | "system/framework/VerizonUnifiedSettings.jar",
227 | "system/priv-app/AmbientSensePrebuilt/AmbientSensePrebuilt.apk::PRESIGNED",
228 | "system/priv-app/EuiccGoogle/EuiccGoogle.apk::PRESIGNED",
229 | "system/priv-app/HotwordEnrollmentOKGoogleWCD9340/HotwordEnrollmentOKGoogleWCD9340.apk::PRESIGNED",
230 | "system/priv-app/HotwordEnrollmentTGoogleWCD9340/HotwordEnrollmentTGoogleWCD9340.apk::PRESIGNED",
231 | "system/priv-app/HotwordEnrollmentXGoogleWCD9340/HotwordEnrollmentXGoogleWCD9340.apk::PRESIGNED",
232 | "system/priv-app/OemDmTrigger/OemDmTrigger.apk",
233 | "system/priv-app/SprintDM/SprintDM.apk",
234 | "system/priv-app/SprintHM/SprintHM.apk",
235 | "system/priv-app/VerizonAuthDialog/VerizonAuthDialog.apk"
236 | ],
237 | "system-other": [
238 | "system/etc/ambient/matcher_tah.leveldb",
239 | "system/etc/permissions/android.hardware.telephony.euicc.xml",
240 | "system/etc/permissions/com.android.omadm.service.xml",
241 | "system/etc/permissions/com.android.sdm.plugins.sprintdm.xml",
242 | "system/etc/permissions/com.google.omadm.trigger.xml",
243 | "system/etc/permissions/com.verizon.embms.xml",
244 | "system/etc/permissions/com.verizon.provider.xml",
245 | "system/etc/permissions/features-verizon.xml",
246 | "system/etc/permissions/privapp-permissions-google.xml",
247 | "system/etc/scone/country_border.leveldb",
248 | "system/etc/sysconfig/google_build.xml",
249 | "system/etc/sysconfig/google-hiddenapi-package-whitelist.xml",
250 | "system/etc/sysconfig/google_vr_build.xml",
251 | "system/etc/sysconfig/google.xml",
252 | "system/etc/sysconfig/nexus.xml",
253 | "system/etc/sysconfig/pixel_2018_exclusive.xml",
254 | "system/etc/sysconfig/pixel_experience_2017.xml",
255 | "system/etc/sysconfig/pixel_experience_2018.xml",
256 | "system/etc/sysconfig/whitelist_com.android.omadm.service.xml",
257 | "system/lib64/libsketchology_native.so",
258 | "system/priv-app/EuiccGoogle/esim-full-v0.img",
259 | "system/priv-app/EuiccGoogle/esim-v1.img"
260 | ],
261 | "forced-modules": [
262 | "bufferhubd",
263 | "com.google.vr.platform",
264 | "com.google.vr.platform.xml",
265 | "libdvr",
266 | "libdvr_loader",
267 | "libvr_hwc-hal",
268 | "performanced",
269 | "virtual_touchpad",
270 | "vr_hwc"
271 | ],
272 | "new-modules": [],
273 | "dep-dso": [],
274 | "BoardConfigVendor": [],
275 | "device-vendor": []
276 | }
277 | }
278 | }
279 |
--------------------------------------------------------------------------------
/bonito/config.json:
--------------------------------------------------------------------------------
1 | {
2 | "device-name": "pixel3a-xl",
3 | "device-model": "bonito",
4 | "device-aliases": [],
5 | "vendor": "google",
6 | "aosp-vendor-dir": "google_devices",
7 | "device-family": "bonito",
8 | "supported-apis": ["api-28"],
9 | "extra-partitions": [
10 | "abl",
11 | "aop",
12 | "cmnlib",
13 | "cmnlib64",
14 | "devcfg",
15 | "hyp",
16 | "keymaster",
17 | "modem",
18 | "qupfw",
19 | "tz",
20 | "xbl",
21 | "xbl_config"
22 | ],
23 | "AndroidMk": "bonito/Android.mk",
24 | "BoardConfigVendorMk": "bonito/BoardConfigVendorPartial.mk",
25 | "DeviceVendorMk": "bonito/proprietary/device-vendor.mk",
26 | "api-28": {
27 | "naked": {
28 | "overlays-dir": "",
29 | "system-bytecode": [
30 | "system/app/QAS_DVC_MSP/QAS_DVC_MSP.apk",
31 | "system/app/QtiTelephonyService/QtiTelephonyService.apk",
32 | "system/app/datastatusnotification/datastatusnotification.apk",
33 | "system/app/embms/embms.apk",
34 | "system/app/ims/ims.apk",
35 | "system/app/remotesimlockservice/remotesimlockservice.apk",
36 | "system/app/smcinvokepkgmgr/smcinvokepkgmgr.apk",
37 | "system/app/uceShimService/uceShimService.apk",
38 | "system/app/uimlpaservice/uimlpaservice.apk",
39 | "system/framework/QtiTelephonyServicelibrary.jar",
40 | "system/framework/com.qualcomm.qti.uceservice-V2.0-java.jar",
41 | "system/framework/embmslibrary.jar",
42 | "system/framework/qcrilhook.jar",
43 | "system/framework/uimlpalibrary.jar",
44 | "system/framework/uimremotesimlocklibrary.jar",
45 | "system/framework/vendor.qti.hardware.alarm-V1.0-java.jar",
46 | "system/framework/vendor.qti.hardware.data.latency-V1.0-java.jar",
47 | "system/framework/vendor.qti.hardware.fingerprint-V1.0-java.jar",
48 | "system/framework/vendor.qti.hardware.soter-V1.0-java.jar",
49 | "system/framework/vendor.qti.hardware.wigig.netperftuner-V1.0-java.jar",
50 | "system/framework/vendor.qti.hardware.wigig.supptunnel-V1.0-java.jar",
51 | "system/framework/vendor.qti.ims.callinfo-V1.0-java.jar",
52 | "system/framework/vendor.qti.voiceprint-V1.0-java.jar",
53 | "system/priv-app/CNEService/CNEService.apk",
54 | "system/priv-app/ModemService/ModemService.apk",
55 | "system/priv-app/grilservice/grilservice.apk",
56 | "system/priv-app/qcrilmsgtunnel/qcrilmsgtunnel.apk",
57 | "system/product/app/SSRestartDetector/SSRestartDetector.apk",
58 | "system/product/app/com.qualcomm.qti.services.secureui/com.qualcomm.qti.services.secureui.apk"
59 | ],
60 | "system-other": [
61 | "system/bin/icm",
62 | "system/bin/move_time_data.sh",
63 | "system/bin/pktlogconf",
64 | "system/bin/smcinvoked",
65 | "system/bin/vendor_cmd_tool",
66 | "system/etc/cne/andsfCne.xml",
67 | "system/etc/firmware/music_detector.descriptor",
68 | "system/etc/firmware/music_detector.sound_model",
69 | "system/etc/permissions/LteDirectDiscovery.xml",
70 | "system/etc/permissions/RemoteSimlock.xml",
71 | "system/etc/permissions/UimService.xml",
72 | "system/etc/permissions/cneapiclient.xml",
73 | "system/etc/permissions/com.google.modemservice.xml",
74 | "system/etc/permissions/com.qualcomm.qti.imscmservice.xml",
75 | "system/etc/permissions/com.quicinc.cne.xml",
76 | "system/etc/permissions/embms.xml",
77 | "system/etc/permissions/lpa.xml",
78 | "system/etc/permissions/privapp-permissions-bonito.xml",
79 | "system/etc/permissions/qcrilhook.xml",
80 | "system/etc/permissions/telephonyservice.xml",
81 | "system/lib/com.qualcomm.qti.ant@1.0.so",
82 | "system/lib/com.qualcomm.qti.imscmservice@1.0.so",
83 | "system/lib/com.qualcomm.qti.uceservice@2.0.so",
84 | "system/lib/com.quicinc.cne.server@1.0.so",
85 | "system/lib/lib-imsvideocodec.so",
86 | "system/lib/lib-imsvt.so",
87 | "system/lib/lib-imsvtextutils.so",
88 | "system/lib/lib-imsvtutils.so",
89 | "system/lib/libFidoCrypto_system.so",
90 | "system/lib/libGPQTEEC_system.so",
91 | "system/lib/libGPTEE_system.so",
92 | "system/lib/libOpenCL_system.so",
93 | "system/lib/libQTEEConnector_system.so",
94 | "system/lib/libadsprpc_system.so",
95 | "system/lib/libcdsprpc_system.so",
96 | "system/lib/libdiag_system.so",
97 | "system/lib/libdisplayconfig.so",
98 | "system/lib/libimscamera_jni.so",
99 | "system/lib/libimsmedia_jni.so",
100 | "system/lib/liblistenjni.so",
101 | "system/lib/liblistensoundmodel2.so",
102 | "system/lib/libmdsprpc_system.so",
103 | "system/lib/libqcbor_system.so",
104 | "system/lib/libqct_resampler.so",
105 | "system/lib/libqsap_sdk.so",
106 | "system/lib/librcc.so",
107 | "system/lib/libsdm-disp-apis.so",
108 | "system/lib/libsdsprpc_system.so",
109 | "system/lib/libseccam.so",
110 | "system/lib/libsecureui_svcsock_system.so",
111 | "system/lib/libsensorslog.so",
112 | "system/lib/libsmcinvokecred.so",
113 | "system/lib/libsns_device_mode_stub.so",
114 | "system/lib/libsns_fastRPC_util.so",
115 | "system/lib/libsns_low_lat_stream_stub.so",
116 | "system/lib/libtzcom.so",
117 | "system/lib/rfsa/adsp/libsns_low_lat_stream_skel.so",
118 | "system/lib/vendor.display.color@1.0.so",
119 | "system/lib/vendor.display.color@1.1.so",
120 | "system/lib/vendor.display.color@1.2.so",
121 | "system/lib/vendor.display.config@1.0.so",
122 | "system/lib/vendor.display.config@1.1.so",
123 | "system/lib/vendor.display.config@1.2.so",
124 | "system/lib/vendor.display.config@1.3.so",
125 | "system/lib/vendor.display.config@1.4.so",
126 | "system/lib/vendor.display.config@1.5.so",
127 | "system/lib/vendor.display.postproc@1.0.so",
128 | "system/lib/vendor.qti.esepowermanager@1.0.so",
129 | "system/lib/vendor.qti.hardware.alarm@1.0.so",
130 | "system/lib/vendor.qti.hardware.biometrics.face@1.0-adapter-helper.so",
131 | "system/lib/vendor.qti.hardware.biometrics.face@1.0.so",
132 | "system/lib/vendor.qti.hardware.data.latency@1.0.so",
133 | "system/lib/vendor.qti.hardware.fingerprint@1.0.so",
134 | "system/lib/vendor.qti.hardware.iop@1.0.so",
135 | "system/lib/vendor.qti.hardware.iop@2.0.so",
136 | "system/lib/vendor.qti.hardware.perf@1.0.so",
137 | "system/lib/vendor.qti.hardware.qdutils_disp@1.0.so",
138 | "system/lib/vendor.qti.hardware.qteeconnector@1.0.so",
139 | "system/lib/vendor.qti.hardware.radio.am@1.0.so",
140 | "system/lib/vendor.qti.hardware.radio.ims@1.0.so",
141 | "system/lib/vendor.qti.hardware.radio.ims@1.1.so",
142 | "system/lib/vendor.qti.hardware.radio.ims@1.2.so",
143 | "system/lib/vendor.qti.hardware.radio.ims@1.3.so",
144 | "system/lib/vendor.qti.hardware.radio.ims@1.4.so",
145 | "system/lib/vendor.qti.hardware.radio.lpa@1.0.so",
146 | "system/lib/vendor.qti.hardware.radio.qcrilhook@1.0.so",
147 | "system/lib/vendor.qti.hardware.radio.qtiradio@1.0.so",
148 | "system/lib/vendor.qti.hardware.radio.qtiradio@2.0.so",
149 | "system/lib/vendor.qti.hardware.radio.uim@1.0.so",
150 | "system/lib/vendor.qti.hardware.radio.uim_remote_client@1.0.so",
151 | "system/lib/vendor.qti.hardware.radio.uim_remote_server@1.0.so",
152 | "system/lib/vendor.qti.hardware.scve.objecttracker@1.0-adapter-helper.so",
153 | "system/lib/vendor.qti.hardware.scve.objecttracker@1.0.so",
154 | "system/lib/vendor.qti.hardware.scve.panorama@1.0-adapter-helper.so",
155 | "system/lib/vendor.qti.hardware.scve.panorama@1.0.so",
156 | "system/lib/vendor.qti.hardware.seccam@1.0.so",
157 | "system/lib/vendor.qti.hardware.soter@1.0.so",
158 | "system/lib/vendor.qti.hardware.tui_comm@1.0.so",
159 | "system/lib/vendor.qti.hardware.vpp@1.1.so",
160 | "system/lib/vendor.qti.hardware.vpp@1.2.so",
161 | "system/lib/vendor.qti.hardware.wigig.netperftuner@1.0.so",
162 | "system/lib/vendor.qti.hardware.wigig.supptunnel@1.0.so",
163 | "system/lib/vendor.qti.ims.callinfo@1.0.so",
164 | "system/lib/vendor.qti.imsrtpservice@1.0.so",
165 | "system/lib/vendor.qti.voiceprint@1.0.so",
166 | "system/lib64/com.qualcomm.qti.ant@1.0.so",
167 | "system/lib64/com.qualcomm.qti.imscmservice@1.0.so",
168 | "system/lib64/com.qualcomm.qti.uceservice@2.0.so",
169 | "system/lib64/com.quicinc.cne.server@1.0.so",
170 | "system/lib64/lib-imsvideocodec.so",
171 | "system/lib64/lib-imsvt.so",
172 | "system/lib64/lib-imsvtextutils.so",
173 | "system/lib64/lib-imsvtutils.so",
174 | "system/lib64/libFidoCrypto_system.so",
175 | "system/lib64/libGPQTEEC_system.so",
176 | "system/lib64/libGPTEE_system.so",
177 | "system/lib64/libOpenCL_system.so",
178 | "system/lib64/libQTEEConnector_system.so",
179 | "system/lib64/libadsprpc_system.so",
180 | "system/lib64/libaptXHD_encoder.so",
181 | "system/lib64/libaptX_encoder.so",
182 | "system/lib64/libbarhopper.so",
183 | "system/lib64/libcdsprpc_system.so",
184 | "system/lib64/libdiag_system.so",
185 | "system/lib64/libdisplayconfig.so",
186 | "system/lib64/liblistenjni.so",
187 | "system/lib64/liblistensoundmodel2.so",
188 | "system/lib64/liblpmdeviceutils.so",
189 | "system/lib64/libmdsprpc_system.so",
190 | "system/lib64/libqcbor_system.so",
191 | "system/lib64/libqsap_sdk.so",
192 | "system/lib64/librcc.so",
193 | "system/lib64/libsdm-disp-apis.so",
194 | "system/lib64/libsdsprpc_system.so",
195 | "system/lib64/libseccam.so",
196 | "system/lib64/libsecureui_svcsock_system.so",
197 | "system/lib64/libsensorslog.so",
198 | "system/lib64/libsmcinvokecred.so",
199 | "system/lib64/libsns_device_mode_stub.so",
200 | "system/lib64/libsns_fastRPC_util.so",
201 | "system/lib64/libsns_low_lat_stream_stub.so",
202 | "system/lib64/libtzcom.so",
203 | "system/lib64/vendor.display.color@1.0.so",
204 | "system/lib64/vendor.display.color@1.1.so",
205 | "system/lib64/vendor.display.color@1.2.so",
206 | "system/lib64/vendor.display.config@1.0.so",
207 | "system/lib64/vendor.display.config@1.1.so",
208 | "system/lib64/vendor.display.config@1.2.so",
209 | "system/lib64/vendor.display.config@1.3.so",
210 | "system/lib64/vendor.display.config@1.4.so",
211 | "system/lib64/vendor.display.config@1.5.so",
212 | "system/lib64/vendor.display.postproc@1.0.so",
213 | "system/lib64/vendor.qti.esepowermanager@1.0.so",
214 | "system/lib64/vendor.qti.hardware.alarm@1.0.so",
215 | "system/lib64/vendor.qti.hardware.biometrics.face@1.0-adapter-helper.so",
216 | "system/lib64/vendor.qti.hardware.biometrics.face@1.0.so",
217 | "system/lib64/vendor.qti.hardware.data.latency@1.0.so",
218 | "system/lib64/vendor.qti.hardware.fingerprint@1.0.so",
219 | "system/lib64/vendor.qti.hardware.iop@1.0.so",
220 | "system/lib64/vendor.qti.hardware.iop@2.0.so",
221 | "system/lib64/vendor.qti.hardware.perf@1.0.so",
222 | "system/lib64/vendor.qti.hardware.qdutils_disp@1.0.so",
223 | "system/lib64/vendor.qti.hardware.qteeconnector@1.0.so",
224 | "system/lib64/vendor.qti.hardware.radio.am@1.0.so",
225 | "system/lib64/vendor.qti.hardware.radio.ims@1.0.so",
226 | "system/lib64/vendor.qti.hardware.radio.ims@1.1.so",
227 | "system/lib64/vendor.qti.hardware.radio.ims@1.2.so",
228 | "system/lib64/vendor.qti.hardware.radio.ims@1.3.so",
229 | "system/lib64/vendor.qti.hardware.radio.ims@1.4.so",
230 | "system/lib64/vendor.qti.hardware.radio.lpa@1.0.so",
231 | "system/lib64/vendor.qti.hardware.radio.qcrilhook@1.0.so",
232 | "system/lib64/vendor.qti.hardware.radio.qtiradio@1.0.so",
233 | "system/lib64/vendor.qti.hardware.radio.qtiradio@2.0.so",
234 | "system/lib64/vendor.qti.hardware.radio.uim@1.0.so",
235 | "system/lib64/vendor.qti.hardware.radio.uim_remote_client@1.0.so",
236 | "system/lib64/vendor.qti.hardware.radio.uim_remote_server@1.0.so",
237 | "system/lib64/vendor.qti.hardware.scve.objecttracker@1.0-adapter-helper.so",
238 | "system/lib64/vendor.qti.hardware.scve.objecttracker@1.0.so",
239 | "system/lib64/vendor.qti.hardware.scve.panorama@1.0-adapter-helper.so",
240 | "system/lib64/vendor.qti.hardware.scve.panorama@1.0.so",
241 | "system/lib64/vendor.qti.hardware.seccam@1.0.so",
242 | "system/lib64/vendor.qti.hardware.soter@1.0.so",
243 | "system/lib64/vendor.qti.hardware.tui_comm@1.0.so",
244 | "system/lib64/vendor.qti.hardware.vpp@1.1.so",
245 | "system/lib64/vendor.qti.hardware.vpp@1.2.so",
246 | "system/lib64/vendor.qti.hardware.wigig.netperftuner@1.0.so",
247 | "system/lib64/vendor.qti.hardware.wigig.supptunnel@1.0.so",
248 | "system/lib64/vendor.qti.ims.callinfo@1.0.so",
249 | "system/lib64/vendor.qti.imsrtpservice@1.0.so",
250 | "system/lib64/vendor.qti.voiceprint@1.0.so",
251 | "system/product/etc/permissions/com.qti.snapdragon.sdk.display.xml",
252 | "system/product/lib/libsecureuisvc_jni.so",
253 | "system/product/lib64/libsecureuisvc_jni.so"
254 | ],
255 | "forced-modules": [
256 | "RcsService",
257 | "android.hardware.biometrics.fingerprint@2.1",
258 | "android.hardware.radio.config@1.0",
259 | "android.hardware.radio.deprecated@1.0",
260 | "android.hardware.radio@1.0",
261 | "android.hardware.radio@1.1",
262 | "android.hardware.radio@1.2",
263 | "android.hardware.secure_element@1.0",
264 | "com.android.ims.rcsmanager",
265 | "libminui",
266 | "libprotobuf-cpp-full",
267 | "libprotobuf-cpp-full-rtti"
268 | ],
269 | "new-modules": [],
270 | "dep-dso": [],
271 | "BoardConfigVendor": [],
272 | "device-vendor": []
273 | },
274 | "full": {
275 | "overlays-dir": "",
276 | "system-bytecode": [
277 | "system/app/DiagnosticsToolPrebuilt/DiagnosticsToolPrebuilt.apk::PRESIGNED",
278 | "system/app/EaselServicePrebuilt/EaselServicePrebuilt.apk::PRESIGNED",
279 | "system/app/QAS_DVC_MSP_VZW/QAS_DVC_MSP_VZW.apk",
280 | "system/app/VZWAPNLib/VZWAPNLib.apk",
281 | "system/app/vzw_msdc_api/vzw_msdc_api.apk",
282 | "system/framework/LowPowerMonitorDeviceInterface.jar",
283 | "system/framework/LowPowerMonitorDeviceRpm.jar",
284 | "system/framework/PowerAnomalyDataModemInterface.jar",
285 | "system/framework/PowerAnomalyQcril.jar",
286 | "system/framework/VerizonUnifiedSettings.jar",
287 | "system/priv-app/AmbientSensePrebuilt/AmbientSensePrebuilt.apk::PRESIGNED",
288 | "system/priv-app/AppDirectedSMSService/AppDirectedSMSService.apk",
289 | "system/priv-app/ConnMO/ConnMO.apk",
290 | "system/priv-app/DCMO/DCMO.apk",
291 | "system/priv-app/DiagMon/DiagMon.apk",
292 | "system/priv-app/EuiccGoogle/EuiccGoogle.apk::PRESIGNED",
293 | "system/priv-app/HotwordEnrollmentOKGoogleRT5514/HotwordEnrollmentOKGoogleRT5514.apk::PRESIGNED",
294 | "system/priv-app/HotwordEnrollmentXGoogleRT5514/HotwordEnrollmentXGoogleRT5514.apk::PRESIGNED",
295 | "system/priv-app/LLKAgent/LLKAgent.apk",
296 | "system/priv-app/MyVerizonServices/MyVerizonServices.apk",
297 | "system/priv-app/OBDM_Permissions/OBDM_Permissions.apk",
298 | "system/priv-app/OemDmTrigger/OemDmTrigger.apk",
299 | "system/priv-app/Showcase/Showcase.apk",
300 | "system/priv-app/SprintDM/SprintDM.apk",
301 | "system/priv-app/SprintHM/SprintHM.apk",
302 | "system/priv-app/VerizonAuthDialog/VerizonAuthDialog.apk",
303 | "system/priv-app/VzwOmaTrigger/VzwOmaTrigger.apk",
304 | "system/priv-app/obdm_stub/obdm_stub.apk"
305 | ],
306 | "system-other": [
307 | "system/etc/ambient/matcher_tah.leveldb",
308 | "system/etc/permissions/android.hardware.telephony.euicc.xml",
309 | "system/etc/permissions/com.android.omadm.service.xml",
310 | "system/etc/permissions/com.android.sdm.plugins.connmo.xml",
311 | "system/etc/permissions/com.android.sdm.plugins.sprintdm.xml",
312 | "system/etc/permissions/com.android.vzwomatrigger.xml",
313 | "system/etc/permissions/com.customermobile.preload.vzw.xml",
314 | "system/etc/permissions/com.google.omadm.trigger.xml",
315 | "system/etc/permissions/com.verizon.apn.xml",
316 | "system/etc/permissions/com.verizon.embms.xml",
317 | "system/etc/permissions/com.verizon.llkagent.xml",
318 | "system/etc/permissions/com.verizon.provider.xml",
319 | "system/etc/permissions/com.verizon.services.xml",
320 | "system/etc/permissions/features-verizon.xml",
321 | "system/etc/permissions/obdm_permissions.xml",
322 | "system/etc/permissions/privapp-permissions-google.xml",
323 | "system/etc/permissions/vzw_mvs_permissions.xml",
324 | "system/etc/scone/country_border.leveldb",
325 | "system/etc/sysconfig/google-hiddenapi-package-whitelist.xml",
326 | "system/etc/sysconfig/google.xml",
327 | "system/etc/sysconfig/google_build.xml",
328 | "system/etc/sysconfig/nexus.xml",
329 | "system/etc/sysconfig/pixel_2019_midyear_exclusive.xml",
330 | "system/etc/sysconfig/pixel_experience_2017.xml",
331 | "system/etc/sysconfig/pixel_experience_2018.xml",
332 | "system/etc/sysconfig/pixel_experience_2019_midyear.xml",
333 | "system/etc/sysconfig/whitelist_com.android.omadm.service.xml",
334 | "system/lib64/libsketchology_native.so",
335 | "system/priv-app/EuiccGoogle/esim-full-v0.img",
336 | "system/priv-app/EuiccGoogle/esim-v1.img"
337 | ],
338 | "forced-modules": [],
339 | "new-modules": [],
340 | "dep-dso": [],
341 | "BoardConfigVendor": [],
342 | "device-vendor": []
343 | }
344 | }
345 | }
346 |
--------------------------------------------------------------------------------
/bullhead/overlays-api26-full/packages/apps/CarrierConfig/res/xml/vendor.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
8 |
9 | ServerID
10 | com.android.omadm.service.CONFIGURATION_UPDATE
11 | com.vzwdmserver
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 | ServerID
21 | com.android.omadm.service.CONFIGURATION_UPDATE
22 | com.vzwdmserver
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 | ServerID
32 | com.android.omadm.service.CONFIGURATION_UPDATE
33 | com.vzwdmserver
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 |
152 |
153 |
154 |
155 |
156 |
157 |
158 |
159 |
160 |
161 |
162 |
163 |
164 |
165 |
--------------------------------------------------------------------------------
/bullhead/overlays-api26-full/packages/services/Telephony/res/values/config.xml:
--------------------------------------------------------------------------------
1 |
2 |
16 |
17 |
21 |
22 |
24 |
25 |
29 |
30 | false
31 |
32 |
40 |
41 | true
42 |
43 |
47 |
48 |
50 | 1
51 |
53 | 0
54 |
56 | 0
57 |
58 | 0
59 |
60 |
61 |
62 | false
63 |
64 |
70 |
71 | true
72 |
73 |
74 | false
75 |
76 |
77 |
78 | false
79 |
80 |
81 |
82 | false
83 |
84 |
86 |
87 | true
88 |
89 |
93 |
94 | true
95 |
96 |
99 | false
100 |
101 |
102 |
103 | false
104 |
105 |
116 |
117 | false
118 |
119 |
123 |
124 | false
125 |
126 |
127 |
128 | false
129 |
130 |
133 |
134 | true
135 |
136 | true
137 |
138 | true
139 |
140 | false
141 |
142 | false
143 |
144 |
145 |
146 |
147 |
148 | false
149 |
150 |
151 | com.android.dialer
152 |
153 |
154 | com.android.dialer.DialtactsActivity
155 |
156 |
157 | com.android.phone
158 |
159 | com.android.phone.NetworkSetting
160 |
161 |
162 |
163 | false
164 |
165 |
168 |
169 | false
170 |
171 |
172 |
173 | false
174 |
175 |
176 |
177 |
178 |
179 |
180 | true
181 |
182 |
183 |
184 | false
185 |
186 |
187 | true
188 |
189 |
190 | true
191 |
192 |
194 | false
195 |
196 |
198 | false
199 |
200 |
201 | false
202 |
203 | @null
204 |
205 | @null
206 |
207 |
208 | true
209 |
210 |
212 |
213 |
214 |
215 | true
216 |
217 |
218 | true
219 |
220 |
221 | false
222 |
223 |
224 | true
225 |
226 |
227 | com.android.carrierconfig
228 |
229 |
--------------------------------------------------------------------------------
/bullhead/overlays-api26-naked/packages/apps/CarrierConfig/res/xml/vendor.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
--------------------------------------------------------------------------------
/bullhead/overlays-api26-naked/packages/services/Telephony/res/values/config.xml:
--------------------------------------------------------------------------------
1 |
2 |
16 |
17 |
21 |
22 |
24 |
25 |
29 |
30 | false
31 |
32 |
40 |
41 | true
42 |
43 |
47 |
48 |
50 | 1
51 |
53 | 0
54 |
56 | 0
57 |
58 | 0
59 |
60 |
61 |
62 | false
63 |
64 |
70 |
71 | true
72 |
73 |
74 | false
75 |
76 |
77 |
78 | false
79 |
80 |
81 |
82 | false
83 |
84 |
86 |
87 | true
88 |
89 |
93 |
94 | true
95 |
96 |
99 | false
100 |
101 |
102 |
103 | false
104 |
105 |
116 |
117 | false
118 |
119 |
123 |
124 | false
125 |
126 |
127 |
128 | false
129 |
130 |
133 |
134 | true
135 |
136 | true
137 |
138 | true
139 |
140 | false
141 |
142 | false
143 |
144 |
145 |
146 |
147 |
148 | false
149 |
150 |
151 | com.android.dialer
152 |
153 |
154 | com.android.dialer.DialtactsActivity
155 |
156 |
157 | com.android.phone
158 |
159 | com.android.phone.NetworkSetting
160 |
161 |
162 |
163 | false
164 |
165 |
168 |
169 | false
170 |
171 |
172 |
173 | false
174 |
175 |
176 |
177 |
178 |
179 |
180 | true
181 |
182 |
183 |
184 | false
185 |
186 |
187 | true
188 |
189 |
190 | true
191 |
192 |
194 | false
195 |
196 |
198 | false
199 |
200 |
201 | false
202 |
203 | @null
204 |
205 | @null
206 |
207 |
208 | true
209 |
210 |
212 |
213 |
214 |
215 | true
216 |
217 |
218 | true
219 |
220 |
221 | false
222 |
223 |
224 | true
225 |
226 |
227 | com.android.carrierconfig
228 |
229 |
--------------------------------------------------------------------------------
/crosshatch/config.json:
--------------------------------------------------------------------------------
1 | {
2 | "device-name": "pixel3-xl",
3 | "device-model": "crosshatch",
4 | "device-aliases": [],
5 | "vendor": "google",
6 | "aosp-vendor-dir": "google_devices",
7 | "device-family": "crosshatch",
8 | "supported-apis": ["api-28"],
9 | "extra-partitions": [
10 | "abl",
11 | "aop",
12 | "cmnlib",
13 | "cmnlib64",
14 | "devcfg",
15 | "hyp",
16 | "keymaster",
17 | "modem",
18 | "qupfw",
19 | "tz",
20 | "xbl",
21 | "xbl_config"
22 | ],
23 | "AndroidMk": "crosshatch/Android.mk",
24 | "BoardConfigVendorMk": "crosshatch/BoardConfigVendorPartial.mk",
25 | "DeviceVendorMk": "crosshatch/proprietary/device-vendor.mk",
26 | "api-28": {
27 | "naked": {
28 | "overlays-dir": "",
29 | "system-bytecode": [
30 | "system/app/com.qualcomm.qti.services.secureui/com.qualcomm.qti.services.secureui.apk",
31 | "system/app/datastatusnotification/datastatusnotification.apk",
32 | "system/app/embms/embms.apk",
33 | "system/app/ims/ims.apk",
34 | "system/app/QAS_DVC_MSP/QAS_DVC_MSP.apk",
35 | "system/app/QtiTelephonyService/QtiTelephonyService.apk",
36 | "system/app/remotesimlockservice/remotesimlockservice.apk",
37 | "system/app/smcinvokepkgmgr/smcinvokepkgmgr.apk",
38 | "system/app/uceShimService/uceShimService.apk",
39 | "system/app/uimlpaservice/uimlpaservice.apk",
40 | "system/framework/com.qualcomm.qti.uceservice-V2.0-java.jar",
41 | "system/framework/embmslibrary.jar",
42 | "system/framework/qcrilhook.jar",
43 | "system/framework/QtiTelephonyServicelibrary.jar",
44 | "system/framework/uimlpalibrary.jar",
45 | "system/framework/uimremotesimlocklibrary.jar",
46 | "system/framework/vendor.qti.ims.callinfo-V1.0-java.jar",
47 | "system/framework/vendor.qti.hardware.alarm-V1.0-java.jar",
48 | "system/framework/vendor.qti.hardware.data.latency-V1.0-java.jar",
49 | "system/framework/vendor.qti.hardware.soter-V1.0-java.jar",
50 | "system/priv-app/CNEService/CNEService.apk",
51 | "system/priv-app/ModemService/ModemService.apk",
52 | "system/priv-app/qcrilmsgtunnel/qcrilmsgtunnel.apk",
53 | "system/priv-app/grilservice/grilservice.apk"
54 | ],
55 | "system-other": [
56 | "system/bin/icm",
57 | "system/bin/pktlogconf",
58 | "system/bin/seempd",
59 | "system/bin/smcinvoked",
60 | "system/bin/vendor_cmd_tool",
61 | "system/etc/firmware/dnd.descriptor",
62 | "system/etc/firmware/dnd.sound_model",
63 | "system/etc/firmware/music_detector.descriptor",
64 | "system/etc/firmware/music_detector.sound_model",
65 | "system/etc/permissions/cneapiclient.xml",
66 | "system/etc/permissions/com.google.modemservice.xml",
67 | "system/etc/permissions/com.qualcomm.qti.imscmservice.xml",
68 | "system/etc/permissions/com.quicinc.cne.xml",
69 | "system/etc/permissions/embms.xml",
70 | "system/etc/permissions/lpa.xml",
71 | "system/etc/permissions/LteDirectDiscovery.xml",
72 | "system/etc/permissions/qcrilhook.xml",
73 | "system/etc/permissions/privapp-permissions-bluecross.xml",
74 | "system/etc/permissions/RemoteSimlock.xml",
75 | "system/etc/permissions/telephonyservice.xml",
76 | "system/etc/permissions/UimService.xml",
77 | "system/lib64/com.qualcomm.qti.ant@1.0.so",
78 | "system/lib64/com.qualcomm.qti.imscmservice@1.0.so",
79 | "system/lib64/com.qualcomm.qti.uceservice@2.0.so",
80 | "system/lib64/libaptX_encoder.so",
81 | "system/lib64/libaptXHD_encoder.so",
82 | "system/lib64/libadsprpc_system.so",
83 | "system/lib64/libbarhopper.so",
84 | "system/lib64/libcdsprpc_system.so",
85 | "system/lib64/libdiag_system.so",
86 | "system/lib64/libGPQTEEC_system.so",
87 | "system/lib64/libGPTEE_system.so",
88 | "system/lib64/lib-imsvideocodec.so",
89 | "system/lib64/lib-imsvtextutils.so",
90 | "system/lib64/lib-imsvt.so",
91 | "system/lib64/lib-imsvtutils.so",
92 | "system/lib64/liblistenjni.so",
93 | "system/lib64/liblistensoundmodel2.so",
94 | "system/lib64/liblpmdeviceutils.so",
95 | "system/lib64/libmdsprpc_system.so",
96 | "system/lib64/libOpenCL_system.so",
97 | "system/lib64/libqcbor.so",
98 | "system/lib64/libQTEEConnector_system.so",
99 | "system/lib64/librcc.so",
100 | "system/lib64/libsdm-disp-apis.so",
101 | "system/lib64/libsdsprpc_system.so",
102 | "system/lib64/libsecureuisvc_jni.so",
103 | "system/lib64/libsecureui_svcsock_system.so",
104 | "system/lib64/libsensorslog.so",
105 | "system/lib64/libsmcinvokecred.so",
106 | "system/lib64/libsns_low_lat_stream_stub.so",
107 | "system/lib64/libtzcom.so",
108 | "system/lib64/vendor.display.color@1.0.so",
109 | "system/lib64/vendor.display.color@1.1.so",
110 | "system/lib64/vendor.display.config@1.0.so",
111 | "system/lib64/vendor.display.postproc@1.0.so",
112 | "system/lib64/vendor.google.wireless_charger@1.0.so",
113 | "system/lib64/vendor.qti.esepowermanager@1.0.so",
114 | "system/lib64/vendor.qti.hardware.alarm@1.0.so",
115 | "system/lib64/vendor.qti.hardware.data.latency@1.0.so",
116 | "system/lib64/vendor.qti.hardware.iop@1.0.so",
117 | "system/lib64/vendor.qti.hardware.iop@2.0.so",
118 | "system/lib64/vendor.qti.hardware.perf@1.0.so",
119 | "system/lib64/vendor.qti.hardware.qdutils_disp@1.0.so",
120 | "system/lib64/vendor.qti.hardware.qteeconnector@1.0.so",
121 | "system/lib64/vendor.qti.hardware.radio.am@1.0.so",
122 | "system/lib64/vendor.qti.hardware.radio.ims@1.0.so",
123 | "system/lib64/vendor.qti.hardware.radio.ims@1.1.so",
124 | "system/lib64/vendor.qti.hardware.radio.ims@1.2.so",
125 | "system/lib64/vendor.qti.hardware.radio.lpa@1.0.so",
126 | "system/lib64/vendor.qti.hardware.radio.qcrilhook@1.0.so",
127 | "system/lib64/vendor.qti.hardware.radio.qtiradio@1.0.so",
128 | "system/lib64/vendor.qti.hardware.radio.uim@1.0.so",
129 | "system/lib64/vendor.qti.hardware.radio.uim_remote_client@1.0.so",
130 | "system/lib64/vendor.qti.hardware.radio.uim_remote_server@1.0.so",
131 | "system/lib64/vendor.qti.hardware.soter@1.0.so",
132 | "system/lib64/vendor.qti.hardware.tui_comm@1.0.so",
133 | "system/lib64/vendor.qti.hardware.vpp@1.1.so",
134 | "system/lib64/vendor.qti.ims.callinfo@1.0.so",
135 | "system/lib64/vendor.qti.imsrtpservice@1.0.so",
136 | "system/lib64/vendor.qti.voiceprint@1.0.so",
137 | "system/lib/com.qualcomm.qti.ant@1.0.so",
138 | "system/lib/com.qualcomm.qti.imscmservice@1.0.so",
139 | "system/lib/com.qualcomm.qti.uceservice@2.0.so",
140 | "system/lib/libadsprpc_system.so",
141 | "system/lib/libcdsprpc_system.so",
142 | "system/lib/libdiag_system.so",
143 | "system/lib/libGPQTEEC_system.so",
144 | "system/lib/libGPTEE_system.so",
145 | "system/lib/libimscamera_jni.so",
146 | "system/lib/libimsmedia_jni.so",
147 | "system/lib/lib-imsvideocodec.so",
148 | "system/lib/lib-imsvtextutils.so",
149 | "system/lib/lib-imsvt.so",
150 | "system/lib/lib-imsvtutils.so",
151 | "system/lib/liblistenjni.so",
152 | "system/lib/liblistensoundmodel2.so",
153 | "system/lib/libmdsprpc_system.so",
154 | "system/lib/libOpenCL_system.so",
155 | "system/lib/libqcbor.so",
156 | "system/lib/libqct_resampler.so",
157 | "system/lib/libQTEEConnector_system.so",
158 | "system/lib/librcc.so",
159 | "system/lib/libsdm-disp-apis.so",
160 | "system/lib/libsdsprpc_system.so",
161 | "system/lib/libsecureuisvc_jni.so",
162 | "system/lib/libsecureui_svcsock_system.so",
163 | "system/lib/libsensorslog.so",
164 | "system/lib/libsmcinvokecred.so",
165 | "system/lib/libsns_low_lat_stream_stub.so",
166 | "system/lib/libtzcom.so",
167 | "system/lib/rfsa/adsp/libsns_low_lat_stream_skel.so",
168 | "system/lib/vendor.display.color@1.0.so",
169 | "system/lib/vendor.display.color@1.1.so",
170 | "system/lib/vendor.display.config@1.0.so",
171 | "system/lib/vendor.display.postproc@1.0.so",
172 | "system/lib/vendor.google.wireless_charger@1.0.so",
173 | "system/lib/vendor.qti.esepowermanager@1.0.so",
174 | "system/lib/vendor.qti.hardware.alarm@1.0.so",
175 | "system/lib/vendor.qti.hardware.data.latency@1.0.so",
176 | "system/lib/vendor.qti.hardware.iop@1.0.so",
177 | "system/lib/vendor.qti.hardware.iop@2.0.so",
178 | "system/lib/vendor.qti.hardware.perf@1.0.so",
179 | "system/lib/vendor.qti.hardware.qdutils_disp@1.0.so",
180 | "system/lib/vendor.qti.hardware.qteeconnector@1.0.so",
181 | "system/lib/vendor.qti.hardware.radio.am@1.0.so",
182 | "system/lib/vendor.qti.hardware.radio.ims@1.0.so",
183 | "system/lib/vendor.qti.hardware.radio.ims@1.1.so",
184 | "system/lib/vendor.qti.hardware.radio.ims@1.2.so",
185 | "system/lib/vendor.qti.hardware.radio.lpa@1.0.so",
186 | "system/lib/vendor.qti.hardware.radio.qcrilhook@1.0.so",
187 | "system/lib/vendor.qti.hardware.radio.qtiradio@1.0.so",
188 | "system/lib/vendor.qti.hardware.radio.uim@1.0.so",
189 | "system/lib/vendor.qti.hardware.radio.uim_remote_client@1.0.so",
190 | "system/lib/vendor.qti.hardware.radio.uim_remote_server@1.0.so",
191 | "system/lib/vendor.qti.hardware.soter@1.0.so",
192 | "system/lib/vendor.qti.hardware.tui_comm@1.0.so",
193 | "system/lib/vendor.qti.hardware.vpp@1.1.so",
194 | "system/lib/vendor.qti.ims.callinfo@1.0.so",
195 | "system/lib/vendor.qti.imsrtpservice@1.0.so",
196 | "system/lib/vendor.qti.voiceprint@1.0.so"
197 | ],
198 | "forced-modules": [
199 | "android.hardware.radio@1.0",
200 | "android.hardware.radio@1.1",
201 | "android.hardware.radio@1.2",
202 | "android.hardware.radio.config@1.0",
203 | "android.hardware.radio.deprecated@1.0",
204 | "android.hardware.secure_element@1.0",
205 | "com.android.ims.rcsmanager",
206 | "libminui",
207 | "libprotobuf-cpp-full-rtti",
208 | "libprotobuf-cpp-full",
209 | "RcsService"
210 | ],
211 | "new-modules": [],
212 | "dep-dso": [],
213 | "BoardConfigVendor": [],
214 | "device-vendor": []
215 | },
216 | "full": {
217 | "overlays-dir": "",
218 | "system-bytecode": [
219 | "system/app/EaselServicePrebuilt/EaselServicePrebuilt.apk::PRESIGNED",
220 | "system/app/QAS_DVC_MSP_VZW/QAS_DVC_MSP_VZW.apk",
221 | "system/app/vzw_msdc_api/vzw_msdc_api.apk",
222 | "system/framework/LowPowerMonitorDeviceInterface.jar",
223 | "system/framework/LowPowerMonitorDeviceRpm.jar",
224 | "system/framework/PowerAnomalyDataModemInterface.jar",
225 | "system/framework/PowerAnomalyQcril.jar",
226 | "system/framework/VerizonUnifiedSettings.jar",
227 | "system/priv-app/AmbientSensePrebuilt/AmbientSensePrebuilt.apk::PRESIGNED",
228 | "system/priv-app/EuiccGoogle/EuiccGoogle.apk::PRESIGNED",
229 | "system/priv-app/HotwordEnrollmentOKGoogleWCD9340/HotwordEnrollmentOKGoogleWCD9340.apk::PRESIGNED",
230 | "system/priv-app/HotwordEnrollmentTGoogleWCD9340/HotwordEnrollmentTGoogleWCD9340.apk::PRESIGNED",
231 | "system/priv-app/HotwordEnrollmentXGoogleWCD9340/HotwordEnrollmentXGoogleWCD9340.apk::PRESIGNED",
232 | "system/priv-app/OemDmTrigger/OemDmTrigger.apk",
233 | "system/priv-app/SprintDM/SprintDM.apk",
234 | "system/priv-app/SprintHM/SprintHM.apk",
235 | "system/priv-app/VerizonAuthDialog/VerizonAuthDialog.apk"
236 | ],
237 | "system-other": [
238 | "system/etc/ambient/matcher_tah.leveldb",
239 | "system/etc/permissions/android.hardware.telephony.euicc.xml",
240 | "system/etc/permissions/com.android.omadm.service.xml",
241 | "system/etc/permissions/com.android.sdm.plugins.sprintdm.xml",
242 | "system/etc/permissions/com.google.omadm.trigger.xml",
243 | "system/etc/permissions/com.verizon.embms.xml",
244 | "system/etc/permissions/com.verizon.provider.xml",
245 | "system/etc/permissions/features-verizon.xml",
246 | "system/etc/permissions/privapp-permissions-google.xml",
247 | "system/etc/scone/country_border.leveldb",
248 | "system/etc/sysconfig/google_build.xml",
249 | "system/etc/sysconfig/google-hiddenapi-package-whitelist.xml",
250 | "system/etc/sysconfig/google_vr_build.xml",
251 | "system/etc/sysconfig/google.xml",
252 | "system/etc/sysconfig/nexus.xml",
253 | "system/etc/sysconfig/pixel_2018_exclusive.xml",
254 | "system/etc/sysconfig/pixel_experience_2017.xml",
255 | "system/etc/sysconfig/pixel_experience_2018.xml",
256 | "system/etc/sysconfig/whitelist_com.android.omadm.service.xml",
257 | "system/lib64/libsketchology_native.so",
258 | "system/priv-app/EuiccGoogle/esim-full-v0.img",
259 | "system/priv-app/EuiccGoogle/esim-v1.img"
260 | ],
261 | "forced-modules": [
262 | "bufferhubd",
263 | "com.google.vr.platform",
264 | "com.google.vr.platform.xml",
265 | "libdvr",
266 | "libdvr_loader",
267 | "libvr_hwc-hal",
268 | "performanced",
269 | "virtual_touchpad",
270 | "vr_hwc"
271 | ],
272 | "new-modules": [],
273 | "dep-dso": [],
274 | "BoardConfigVendor": [],
275 | "device-vendor": []
276 | }
277 | }
278 | }
279 |
--------------------------------------------------------------------------------
/flounder/config.json:
--------------------------------------------------------------------------------
1 | {
2 | "device-name": "nexus-9",
3 | "device-model": "flounder",
4 | "device-aliases": ["volantis", "volantisg"],
5 | "vendor": "htc",
6 | "aosp-vendor-dir": "htc",
7 | "device-family": "flounder",
8 | "supported-apis": ["api-23", "api-24", "api-25"],
9 | "extra-partitions": [],
10 | "AndroidMk": "flounder/Android.mk",
11 | "BoardConfigVendorMk": "flounder/BoardConfigVendor.mk",
12 | "DeviceVendorMk": "flounder/device-vendor.mk",
13 | "api-23": {
14 | "naked": {
15 | "overlays-dir": "",
16 | "system-bytecode": [],
17 | "system-other": [
18 | "system/etc/RT5506",
19 | "system/etc/fmas_eq.dat",
20 | "system/lib/soundfx/libfmas.so"
21 | ],
22 | "forced-modules": [],
23 | "new-modules": [],
24 | "dep-dso": [],
25 | "BoardConfigVendor": [],
26 | "device-vendor": []
27 | },
28 | "full": {
29 | "overlays-dir": "",
30 | "system-bytecode": [],
31 | "system-other": [],
32 | "forced-modules": [],
33 | "new-modules": [],
34 | "dep-dso": [],
35 | "BoardConfigVendor": [],
36 | "device-vendor": []
37 | }
38 | },
39 | "api-24": {
40 | "naked": {
41 | "overlays-dir": "",
42 | "system-bytecode": [],
43 | "system-other": [
44 | "system/etc/RT5506",
45 | "system/etc/fmas_eq.dat",
46 | "system/lib/soundfx/libfmas.so"
47 | ],
48 | "forced-modules": [],
49 | "new-modules": [],
50 | "dep-dso": [],
51 | "BoardConfigVendor": [],
52 | "device-vendor": []
53 | },
54 | "full": {
55 | "overlays-dir": "",
56 | "system-bytecode": [],
57 | "system-other": [],
58 | "forced-modules": [],
59 | "new-modules": [],
60 | "dep-dso": [],
61 | "BoardConfigVendor": [],
62 | "device-vendor": []
63 | }
64 | },
65 | "api-25": {
66 | "naked": {
67 | "overlays-dir": "",
68 | "system-bytecode": [],
69 | "system-other": [
70 | "system/etc/RT5506",
71 | "system/etc/fmas_eq.dat",
72 | "system/lib/soundfx/libfmas.so"
73 | ],
74 | "forced-modules": [],
75 | "new-modules": [],
76 | "dep-dso": [],
77 | "BoardConfigVendor": [],
78 | "device-vendor": []
79 | },
80 | "full": {
81 | "overlays-dir": "",
82 | "system-bytecode": [],
83 | "system-other": [],
84 | "forced-modules": [],
85 | "new-modules": [],
86 | "dep-dso": [],
87 | "BoardConfigVendor": [],
88 | "device-vendor": []
89 | }
90 | }
91 | }
92 |
--------------------------------------------------------------------------------
/hostTools/Darwin/bin/dexrepair:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/anestisb/android-prepare-vendor/9dc54437d3152760c0aff2d2c309a474550e6cba/hostTools/Darwin/bin/dexrepair
--------------------------------------------------------------------------------
/hostTools/Darwin/bin/jq:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/anestisb/android-prepare-vendor/9dc54437d3152760c0aff2d2c309a474550e6cba/hostTools/Darwin/bin/jq
--------------------------------------------------------------------------------
/hostTools/Darwin/bin/simg2img:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/anestisb/android-prepare-vendor/9dc54437d3152760c0aff2d2c309a474550e6cba/hostTools/Darwin/bin/simg2img
--------------------------------------------------------------------------------
/hostTools/Java/baksmali.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/anestisb/android-prepare-vendor/9dc54437d3152760c0aff2d2c309a474550e6cba/hostTools/Java/baksmali.jar
--------------------------------------------------------------------------------
/hostTools/Java/oat2dex.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/anestisb/android-prepare-vendor/9dc54437d3152760c0aff2d2c309a474550e6cba/hostTools/Java/oat2dex.jar
--------------------------------------------------------------------------------
/hostTools/Java/smali.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/anestisb/android-prepare-vendor/9dc54437d3152760c0aff2d2c309a474550e6cba/hostTools/Java/smali.jar
--------------------------------------------------------------------------------
/hostTools/Linux/bin/dexrepair:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/anestisb/android-prepare-vendor/9dc54437d3152760c0aff2d2c309a474550e6cba/hostTools/Linux/bin/dexrepair
--------------------------------------------------------------------------------
/hostTools/Linux/bin/jq:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/anestisb/android-prepare-vendor/9dc54437d3152760c0aff2d2c309a474550e6cba/hostTools/Linux/bin/jq
--------------------------------------------------------------------------------
/hostTools/Linux/bin/simg2img:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/anestisb/android-prepare-vendor/9dc54437d3152760c0aff2d2c309a474550e6cba/hostTools/Linux/bin/simg2img
--------------------------------------------------------------------------------
/marlin/overlays-api26-full/packages/services/Telephony/res/values/config.xml:
--------------------------------------------------------------------------------
1 |
2 |
16 |
17 |
21 |
22 |
24 |
25 |
29 |
30 | false
31 |
32 |
40 |
41 | true
42 |
43 |
47 |
48 |
50 | 1
51 |
53 | 0
54 |
56 | 0
57 |
58 | 0
59 |
60 |
61 |
62 | false
63 |
64 |
70 |
71 | true
72 |
73 |
74 | false
75 |
76 |
77 |
78 | false
79 |
80 |
81 |
82 | false
83 |
84 |
86 |
87 | true
88 |
89 |
93 |
94 | true
95 |
96 |
99 | false
100 |
101 |
102 |
103 | false
104 |
105 |
116 |
117 | false
118 |
119 |
123 |
124 | false
125 |
126 |
127 |
128 | false
129 |
130 |
133 |
134 | true
135 |
136 | true
137 |
138 | true
139 |
140 | false
141 |
142 | false
143 |
144 |
145 |
146 |
147 |
148 | false
149 |
150 |
151 | com.android.dialer
152 |
153 |
154 | com.android.dialer.DialtactsActivity
155 |
156 |
157 | com.android.phone
158 |
159 | com.android.phone.NetworkSetting
160 |
161 |
162 |
163 | false
164 |
165 |
168 |
169 | false
170 |
171 |
172 |
173 | false
174 |
175 |
176 |
177 |
178 |
179 |
180 | true
181 |
182 |
183 |
184 | false
185 |
186 |
187 | true
188 |
189 |
190 | true
191 |
192 |
194 | false
195 |
196 |
198 | false
199 |
200 |
201 | false
202 |
203 | @null
204 |
205 | @null
206 |
207 |
208 | true
209 |
210 |
212 |
213 |
214 |
215 | true
216 |
217 |
218 | true
219 |
220 |
221 | false
222 |
223 |
224 | true
225 |
226 |
227 | com.android.carrierconfig
228 |
229 |
--------------------------------------------------------------------------------
/marlin/overlays-api26-naked/packages/apps/CarrierConfig/res/xml/vendor.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
--------------------------------------------------------------------------------
/marlin/overlays-api26-naked/packages/services/Telephony/res/values/config.xml:
--------------------------------------------------------------------------------
1 |
2 |
16 |
17 |
21 |
22 |
24 |
25 |
29 |
30 | false
31 |
32 |
40 |
41 | true
42 |
43 |
47 |
48 |
50 | 1
51 |
53 | 0
54 |
56 | 0
57 |
58 | 0
59 |
60 |
61 |
62 | false
63 |
64 |
70 |
71 | true
72 |
73 |
74 | false
75 |
76 |
77 |
78 | false
79 |
80 |
81 |
82 | false
83 |
84 |
86 |
87 | true
88 |
89 |
93 |
94 | true
95 |
96 |
99 | false
100 |
101 |
102 |
103 | false
104 |
105 |
116 |
117 | false
118 |
119 |
123 |
124 | false
125 |
126 |
127 |
128 | false
129 |
130 |
133 |
134 | true
135 |
136 | true
137 |
138 | true
139 |
140 | false
141 |
142 | false
143 |
144 |
145 |
146 |
147 |
148 | false
149 |
150 |
151 | com.android.dialer
152 |
153 |
154 | com.android.dialer.DialtactsActivity
155 |
156 |
157 | com.android.phone
158 |
159 | com.android.phone.NetworkSetting
160 |
161 |
162 |
163 | false
164 |
165 |
168 |
169 | false
170 |
171 |
172 |
173 | false
174 |
175 |
176 |
177 |
178 |
179 |
180 | true
181 |
182 |
183 |
184 | false
185 |
186 |
187 | true
188 |
189 |
190 | true
191 |
192 |
194 | false
195 |
196 |
198 | false
199 |
200 |
201 | false
202 |
203 | @null
204 |
205 | @null
206 |
207 |
208 | true
209 |
210 |
212 |
213 |
214 |
215 | true
216 |
217 |
218 | true
219 |
220 |
221 | false
222 |
223 |
224 | true
225 |
226 |
227 | com.android.carrierconfig
228 |
229 |
--------------------------------------------------------------------------------
/sailfish/overlays-api26-full/packages/services/Telephony/res/values/config.xml:
--------------------------------------------------------------------------------
1 |
2 |
16 |
17 |
21 |
22 |
24 |
25 |
29 |
30 | false
31 |
32 |
40 |
41 | true
42 |
43 |
47 |
48 |
50 | 1
51 |
53 | 0
54 |
56 | 0
57 |
58 | 0
59 |
60 |
61 |
62 | false
63 |
64 |
70 |
71 | true
72 |
73 |
74 | false
75 |
76 |
77 |
78 | false
79 |
80 |
81 |
82 | false
83 |
84 |
86 |
87 | true
88 |
89 |
93 |
94 | true
95 |
96 |
99 | false
100 |
101 |
102 |
103 | false
104 |
105 |
116 |
117 | false
118 |
119 |
123 |
124 | false
125 |
126 |
127 |
128 | false
129 |
130 |
133 |
134 | true
135 |
136 | true
137 |
138 | true
139 |
140 | false
141 |
142 | false
143 |
144 |
145 |
146 |
147 |
148 | false
149 |
150 |
151 | com.android.dialer
152 |
153 |
154 | com.android.dialer.DialtactsActivity
155 |
156 |
157 | com.android.phone
158 |
159 | com.android.phone.NetworkSetting
160 |
161 |
162 |
163 | false
164 |
165 |
168 |
169 | false
170 |
171 |
172 |
173 | false
174 |
175 |
176 |
177 |
178 |
179 |
180 | true
181 |
182 |
183 |
184 | false
185 |
186 |
187 | true
188 |
189 |
190 | true
191 |
192 |
194 | false
195 |
196 |
198 | false
199 |
200 |
201 | false
202 |
203 | @null
204 |
205 | @null
206 |
207 |
208 | true
209 |
210 |
212 |
213 |
214 |
215 | true
216 |
217 |
218 | true
219 |
220 |
221 | false
222 |
223 |
224 | true
225 |
226 |
227 | com.android.carrierconfig
228 |
229 |
--------------------------------------------------------------------------------
/sailfish/overlays-api26-naked/packages/apps/CarrierConfig/res/xml/vendor.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
--------------------------------------------------------------------------------
/sailfish/overlays-api26-naked/packages/services/Telephony/res/values/config.xml:
--------------------------------------------------------------------------------
1 |
2 |
16 |
17 |
21 |
22 |
24 |
25 |
29 |
30 | false
31 |
32 |
40 |
41 | true
42 |
43 |
47 |
48 |
50 | 1
51 |
53 | 0
54 |
56 | 0
57 |
58 | 0
59 |
60 |
61 |
62 | false
63 |
64 |
70 |
71 | true
72 |
73 |
74 | false
75 |
76 |
77 |
78 | false
79 |
80 |
81 |
82 | false
83 |
84 |
86 |
87 | true
88 |
89 |
93 |
94 | true
95 |
96 |
99 | false
100 |
101 |
102 |
103 | false
104 |
105 |
116 |
117 | false
118 |
119 |
123 |
124 | false
125 |
126 |
127 |
128 | false
129 |
130 |
133 |
134 | true
135 |
136 | true
137 |
138 | true
139 |
140 | false
141 |
142 | false
143 |
144 |
145 |
146 |
147 |
148 | false
149 |
150 |
151 | com.android.dialer
152 |
153 |
154 | com.android.dialer.DialtactsActivity
155 |
156 |
157 | com.android.phone
158 |
159 | com.android.phone.NetworkSetting
160 |
161 |
162 |
163 | false
164 |
165 |
168 |
169 | false
170 |
171 |
172 |
173 | false
174 |
175 |
176 |
177 |
178 |
179 |
180 | true
181 |
182 |
183 |
184 | false
185 |
186 |
187 | true
188 |
189 |
190 | true
191 |
192 |
194 | false
195 |
196 |
198 | false
199 |
200 |
201 | false
202 |
203 | @null
204 |
205 | @null
206 |
207 |
208 | true
209 |
210 |
212 |
213 |
214 |
215 | true
216 |
217 |
218 | true
219 |
220 |
221 | false
222 |
223 |
224 | true
225 |
226 |
227 | com.android.carrierconfig
228 |
229 |
--------------------------------------------------------------------------------
/sargo/config.json:
--------------------------------------------------------------------------------
1 | {
2 | "device-name": "pixel3a",
3 | "device-model": "sargo",
4 | "device-aliases": [],
5 | "vendor": "google",
6 | "aosp-vendor-dir": "google_devices",
7 | "device-family": "bonito",
8 | "supported-apis": ["api-28"],
9 | "extra-partitions": [
10 | "abl",
11 | "aop",
12 | "cmnlib",
13 | "cmnlib64",
14 | "devcfg",
15 | "hyp",
16 | "keymaster",
17 | "modem",
18 | "qupfw",
19 | "tz",
20 | "xbl",
21 | "xbl_config"
22 | ],
23 | "AndroidMk": "sargo/Android.mk",
24 | "BoardConfigVendorMk": "sargo/BoardConfigVendorPartial.mk",
25 | "DeviceVendorMk": "bonito/proprietary/device-vendor.mk",
26 | "api-28": {
27 | "naked": {
28 | "overlays-dir": "",
29 | "system-bytecode": [
30 | "system/app/QAS_DVC_MSP/QAS_DVC_MSP.apk",
31 | "system/app/QtiTelephonyService/QtiTelephonyService.apk",
32 | "system/app/datastatusnotification/datastatusnotification.apk",
33 | "system/app/embms/embms.apk",
34 | "system/app/ims/ims.apk",
35 | "system/app/remotesimlockservice/remotesimlockservice.apk",
36 | "system/app/smcinvokepkgmgr/smcinvokepkgmgr.apk",
37 | "system/app/uceShimService/uceShimService.apk",
38 | "system/app/uimlpaservice/uimlpaservice.apk",
39 | "system/framework/QtiTelephonyServicelibrary.jar",
40 | "system/framework/com.qualcomm.qti.uceservice-V2.0-java.jar",
41 | "system/framework/embmslibrary.jar",
42 | "system/framework/qcrilhook.jar",
43 | "system/framework/uimlpalibrary.jar",
44 | "system/framework/uimremotesimlocklibrary.jar",
45 | "system/framework/vendor.qti.hardware.alarm-V1.0-java.jar",
46 | "system/framework/vendor.qti.hardware.data.latency-V1.0-java.jar",
47 | "system/framework/vendor.qti.hardware.fingerprint-V1.0-java.jar",
48 | "system/framework/vendor.qti.hardware.soter-V1.0-java.jar",
49 | "system/framework/vendor.qti.hardware.wigig.netperftuner-V1.0-java.jar",
50 | "system/framework/vendor.qti.hardware.wigig.supptunnel-V1.0-java.jar",
51 | "system/framework/vendor.qti.ims.callinfo-V1.0-java.jar",
52 | "system/framework/vendor.qti.voiceprint-V1.0-java.jar",
53 | "system/priv-app/CNEService/CNEService.apk",
54 | "system/priv-app/ModemService/ModemService.apk",
55 | "system/priv-app/grilservice/grilservice.apk",
56 | "system/priv-app/qcrilmsgtunnel/qcrilmsgtunnel.apk",
57 | "system/product/app/SSRestartDetector/SSRestartDetector.apk",
58 | "system/product/app/com.qualcomm.qti.services.secureui/com.qualcomm.qti.services.secureui.apk"
59 | ],
60 | "system-other": [
61 | "system/bin/icm",
62 | "system/bin/move_time_data.sh",
63 | "system/bin/pktlogconf",
64 | "system/bin/smcinvoked",
65 | "system/bin/vendor_cmd_tool",
66 | "system/etc/cne/andsfCne.xml",
67 | "system/etc/firmware/music_detector.descriptor",
68 | "system/etc/firmware/music_detector.sound_model",
69 | "system/etc/permissions/LteDirectDiscovery.xml",
70 | "system/etc/permissions/RemoteSimlock.xml",
71 | "system/etc/permissions/UimService.xml",
72 | "system/etc/permissions/cneapiclient.xml",
73 | "system/etc/permissions/com.google.modemservice.xml",
74 | "system/etc/permissions/com.qualcomm.qti.imscmservice.xml",
75 | "system/etc/permissions/com.quicinc.cne.xml",
76 | "system/etc/permissions/embms.xml",
77 | "system/etc/permissions/lpa.xml",
78 | "system/etc/permissions/privapp-permissions-bonito.xml",
79 | "system/etc/permissions/qcrilhook.xml",
80 | "system/etc/permissions/telephonyservice.xml",
81 | "system/lib/com.qualcomm.qti.ant@1.0.so",
82 | "system/lib/com.qualcomm.qti.imscmservice@1.0.so",
83 | "system/lib/com.qualcomm.qti.uceservice@2.0.so",
84 | "system/lib/com.quicinc.cne.server@1.0.so",
85 | "system/lib/lib-imsvideocodec.so",
86 | "system/lib/lib-imsvt.so",
87 | "system/lib/lib-imsvtextutils.so",
88 | "system/lib/lib-imsvtutils.so",
89 | "system/lib/libFidoCrypto_system.so",
90 | "system/lib/libGPQTEEC_system.so",
91 | "system/lib/libGPTEE_system.so",
92 | "system/lib/libOpenCL_system.so",
93 | "system/lib/libQTEEConnector_system.so",
94 | "system/lib/libadsprpc_system.so",
95 | "system/lib/libcdsprpc_system.so",
96 | "system/lib/libdiag_system.so",
97 | "system/lib/libdisplayconfig.so",
98 | "system/lib/libimscamera_jni.so",
99 | "system/lib/libimsmedia_jni.so",
100 | "system/lib/liblistenjni.so",
101 | "system/lib/liblistensoundmodel2.so",
102 | "system/lib/libmdsprpc_system.so",
103 | "system/lib/libqcbor_system.so",
104 | "system/lib/libqct_resampler.so",
105 | "system/lib/libqsap_sdk.so",
106 | "system/lib/librcc.so",
107 | "system/lib/libsdm-disp-apis.so",
108 | "system/lib/libsdsprpc_system.so",
109 | "system/lib/libseccam.so",
110 | "system/lib/libsecureui_svcsock_system.so",
111 | "system/lib/libsensorslog.so",
112 | "system/lib/libsmcinvokecred.so",
113 | "system/lib/libsns_device_mode_stub.so",
114 | "system/lib/libsns_fastRPC_util.so",
115 | "system/lib/libsns_low_lat_stream_stub.so",
116 | "system/lib/libtzcom.so",
117 | "system/lib/rfsa/adsp/libsns_device_mode_skel.so",
118 | "system/lib/rfsa/adsp/libsns_low_lat_stream_skel.so",
119 | "system/lib/vendor.display.color@1.0.so",
120 | "system/lib/vendor.display.color@1.1.so",
121 | "system/lib/vendor.display.color@1.2.so",
122 | "system/lib/vendor.display.config@1.0.so",
123 | "system/lib/vendor.display.config@1.1.so",
124 | "system/lib/vendor.display.config@1.2.so",
125 | "system/lib/vendor.display.config@1.3.so",
126 | "system/lib/vendor.display.config@1.4.so",
127 | "system/lib/vendor.display.config@1.5.so",
128 | "system/lib/vendor.display.postproc@1.0.so",
129 | "system/lib/vendor.qti.esepowermanager@1.0.so",
130 | "system/lib/vendor.qti.hardware.alarm@1.0.so",
131 | "system/lib/vendor.qti.hardware.biometrics.face@1.0-adapter-helper.so",
132 | "system/lib/vendor.qti.hardware.biometrics.face@1.0.so",
133 | "system/lib/vendor.qti.hardware.data.latency@1.0.so",
134 | "system/lib/vendor.qti.hardware.fingerprint@1.0.so",
135 | "system/lib/vendor.qti.hardware.iop@1.0.so",
136 | "system/lib/vendor.qti.hardware.iop@2.0.so",
137 | "system/lib/vendor.qti.hardware.perf@1.0.so",
138 | "system/lib/vendor.qti.hardware.qdutils_disp@1.0.so",
139 | "system/lib/vendor.qti.hardware.qteeconnector@1.0.so",
140 | "system/lib/vendor.qti.hardware.radio.am@1.0.so",
141 | "system/lib/vendor.qti.hardware.radio.ims@1.0.so",
142 | "system/lib/vendor.qti.hardware.radio.ims@1.1.so",
143 | "system/lib/vendor.qti.hardware.radio.ims@1.2.so",
144 | "system/lib/vendor.qti.hardware.radio.ims@1.3.so",
145 | "system/lib/vendor.qti.hardware.radio.ims@1.4.so",
146 | "system/lib/vendor.qti.hardware.radio.lpa@1.0.so",
147 | "system/lib/vendor.qti.hardware.radio.qcrilhook@1.0.so",
148 | "system/lib/vendor.qti.hardware.radio.qtiradio@1.0.so",
149 | "system/lib/vendor.qti.hardware.radio.qtiradio@2.0.so",
150 | "system/lib/vendor.qti.hardware.radio.uim@1.0.so",
151 | "system/lib/vendor.qti.hardware.radio.uim@1.1.so",
152 | "system/lib/vendor.qti.hardware.radio.uim_remote_client@1.0.so",
153 | "system/lib/vendor.qti.hardware.radio.uim_remote_server@1.0.so",
154 | "system/lib/vendor.qti.hardware.scve.objecttracker@1.0-adapter-helper.so",
155 | "system/lib/vendor.qti.hardware.scve.objecttracker@1.0.so",
156 | "system/lib/vendor.qti.hardware.scve.panorama@1.0-adapter-helper.so",
157 | "system/lib/vendor.qti.hardware.scve.panorama@1.0.so",
158 | "system/lib/vendor.qti.hardware.seccam@1.0.so",
159 | "system/lib/vendor.qti.hardware.soter@1.0.so",
160 | "system/lib/vendor.qti.hardware.tui_comm@1.0.so",
161 | "system/lib/vendor.qti.hardware.vpp@1.1.so",
162 | "system/lib/vendor.qti.hardware.vpp@1.2.so",
163 | "system/lib/vendor.qti.hardware.wigig.netperftuner@1.0.so",
164 | "system/lib/vendor.qti.hardware.wigig.supptunnel@1.0.so",
165 | "system/lib/vendor.qti.ims.callinfo@1.0.so",
166 | "system/lib/vendor.qti.imsrtpservice@1.0.so",
167 | "system/lib/vendor.qti.voiceprint@1.0.so",
168 | "system/lib64/com.qualcomm.qti.ant@1.0.so",
169 | "system/lib64/com.qualcomm.qti.imscmservice@1.0.so",
170 | "system/lib64/com.qualcomm.qti.uceservice@2.0.so",
171 | "system/lib64/com.quicinc.cne.server@1.0.so",
172 | "system/lib64/lib-imsvideocodec.so",
173 | "system/lib64/lib-imsvt.so",
174 | "system/lib64/lib-imsvtextutils.so",
175 | "system/lib64/lib-imsvtutils.so",
176 | "system/lib64/libFidoCrypto_system.so",
177 | "system/lib64/libGPQTEEC_system.so",
178 | "system/lib64/libGPTEE_system.so",
179 | "system/lib64/libOpenCL_system.so",
180 | "system/lib64/libQTEEConnector_system.so",
181 | "system/lib64/libadsprpc_system.so",
182 | "system/lib64/libaptXHD_encoder.so",
183 | "system/lib64/libaptX_encoder.so",
184 | "system/lib64/libbarhopper.so",
185 | "system/lib64/libcdsprpc_system.so",
186 | "system/lib64/libdiag_system.so",
187 | "system/lib64/libdisplayconfig.so",
188 | "system/lib64/liblistenjni.so",
189 | "system/lib64/liblistensoundmodel2.so",
190 | "system/lib64/liblpmdeviceutils.so",
191 | "system/lib64/libmdsprpc_system.so",
192 | "system/lib64/libqcbor_system.so",
193 | "system/lib64/libqsap_sdk.so",
194 | "system/lib64/librcc.so",
195 | "system/lib64/libsdm-disp-apis.so",
196 | "system/lib64/libsdsprpc_system.so",
197 | "system/lib64/libseccam.so",
198 | "system/lib64/libsecureui_svcsock_system.so",
199 | "system/lib64/libsensorslog.so",
200 | "system/lib64/libsmcinvokecred.so",
201 | "system/lib64/libsns_device_mode_stub.so",
202 | "system/lib64/libsns_fastRPC_util.so",
203 | "system/lib64/libsns_low_lat_stream_stub.so",
204 | "system/lib64/libtzcom.so",
205 | "system/lib64/vendor.display.color@1.0.so",
206 | "system/lib64/vendor.display.color@1.1.so",
207 | "system/lib64/vendor.display.color@1.2.so",
208 | "system/lib64/vendor.display.config@1.0.so",
209 | "system/lib64/vendor.display.config@1.1.so",
210 | "system/lib64/vendor.display.config@1.2.so",
211 | "system/lib64/vendor.display.config@1.3.so",
212 | "system/lib64/vendor.display.config@1.4.so",
213 | "system/lib64/vendor.display.config@1.5.so",
214 | "system/lib64/vendor.display.postproc@1.0.so",
215 | "system/lib64/vendor.qti.esepowermanager@1.0.so",
216 | "system/lib64/vendor.qti.hardware.alarm@1.0.so",
217 | "system/lib64/vendor.qti.hardware.biometrics.face@1.0-adapter-helper.so",
218 | "system/lib64/vendor.qti.hardware.biometrics.face@1.0.so",
219 | "system/lib64/vendor.qti.hardware.data.latency@1.0.so",
220 | "system/lib64/vendor.qti.hardware.fingerprint@1.0.so",
221 | "system/lib64/vendor.qti.hardware.iop@1.0.so",
222 | "system/lib64/vendor.qti.hardware.iop@2.0.so",
223 | "system/lib64/vendor.qti.hardware.perf@1.0.so",
224 | "system/lib64/vendor.qti.hardware.qdutils_disp@1.0.so",
225 | "system/lib64/vendor.qti.hardware.qteeconnector@1.0.so",
226 | "system/lib64/vendor.qti.hardware.radio.am@1.0.so",
227 | "system/lib64/vendor.qti.hardware.radio.ims@1.0.so",
228 | "system/lib64/vendor.qti.hardware.radio.ims@1.1.so",
229 | "system/lib64/vendor.qti.hardware.radio.ims@1.2.so",
230 | "system/lib64/vendor.qti.hardware.radio.ims@1.3.so",
231 | "system/lib64/vendor.qti.hardware.radio.ims@1.4.so",
232 | "system/lib64/vendor.qti.hardware.radio.lpa@1.0.so",
233 | "system/lib64/vendor.qti.hardware.radio.qcrilhook@1.0.so",
234 | "system/lib64/vendor.qti.hardware.radio.qtiradio@1.0.so",
235 | "system/lib64/vendor.qti.hardware.radio.qtiradio@2.0.so",
236 | "system/lib64/vendor.qti.hardware.radio.uim@1.0.so",
237 | "system/lib64/vendor.qti.hardware.radio.uim@1.1.so",
238 | "system/lib64/vendor.qti.hardware.radio.uim_remote_client@1.0.so",
239 | "system/lib64/vendor.qti.hardware.radio.uim_remote_server@1.0.so",
240 | "system/lib64/vendor.qti.hardware.scve.objecttracker@1.0-adapter-helper.so",
241 | "system/lib64/vendor.qti.hardware.scve.objecttracker@1.0.so",
242 | "system/lib64/vendor.qti.hardware.scve.panorama@1.0-adapter-helper.so",
243 | "system/lib64/vendor.qti.hardware.scve.panorama@1.0.so",
244 | "system/lib64/vendor.qti.hardware.seccam@1.0.so",
245 | "system/lib64/vendor.qti.hardware.soter@1.0.so",
246 | "system/lib64/vendor.qti.hardware.tui_comm@1.0.so",
247 | "system/lib64/vendor.qti.hardware.vpp@1.1.so",
248 | "system/lib64/vendor.qti.hardware.vpp@1.2.so",
249 | "system/lib64/vendor.qti.hardware.wigig.netperftuner@1.0.so",
250 | "system/lib64/vendor.qti.hardware.wigig.supptunnel@1.0.so",
251 | "system/lib64/vendor.qti.ims.callinfo@1.0.so",
252 | "system/lib64/vendor.qti.imsrtpservice@1.0.so",
253 | "system/lib64/vendor.qti.voiceprint@1.0.so",
254 | "system/product/etc/permissions/com.qti.snapdragon.sdk.display.xml",
255 | "system/product/lib/libsecureuisvc_jni.so",
256 | "system/product/lib64/libsecureuisvc_jni.so"
257 | ],
258 | "forced-modules": [
259 | "RcsService",
260 | "android.hardware.biometrics.fingerprint@2.1",
261 | "android.hardware.radio.config@1.0",
262 | "android.hardware.radio.deprecated@1.0",
263 | "android.hardware.radio@1.0",
264 | "android.hardware.radio@1.1",
265 | "android.hardware.radio@1.2",
266 | "android.hardware.secure_element@1.0",
267 | "com.android.ims.rcsmanager",
268 | "libminui",
269 | "libprotobuf-cpp-full",
270 | "libprotobuf-cpp-full-rtti"
271 | ],
272 | "new-modules": [],
273 | "dep-dso": [],
274 | "BoardConfigVendor": [],
275 | "device-vendor": []
276 | },
277 | "full": {
278 | "overlays-dir": "",
279 | "system-bytecode": [
280 | "system/app/DiagnosticsToolPrebuilt/DiagnosticsToolPrebuilt.apk::PRESIGNED",
281 | "system/app/EaselServicePrebuilt/EaselServicePrebuilt.apk::PRESIGNED",
282 | "system/app/QAS_DVC_MSP_VZW/QAS_DVC_MSP_VZW.apk",
283 | "system/app/VZWAPNLib/VZWAPNLib.apk",
284 | "system/app/vzw_msdc_api/vzw_msdc_api.apk",
285 | "system/framework/LowPowerMonitorDeviceInterface.jar",
286 | "system/framework/LowPowerMonitorDeviceRpm.jar",
287 | "system/framework/PowerAnomalyDataModemInterface.jar",
288 | "system/framework/PowerAnomalyQcril.jar",
289 | "system/framework/VerizonUnifiedSettings.jar",
290 | "system/priv-app/AmbientSensePrebuilt/AmbientSensePrebuilt.apk::PRESIGNED",
291 | "system/priv-app/AppDirectedSMSService/AppDirectedSMSService.apk",
292 | "system/priv-app/ConnMO/ConnMO.apk",
293 | "system/priv-app/DCMO/DCMO.apk",
294 | "system/priv-app/DiagMon/DiagMon.apk",
295 | "system/priv-app/EuiccGoogle/EuiccGoogle.apk::PRESIGNED",
296 | "system/priv-app/HotwordEnrollmentOKGoogleRT5514/HotwordEnrollmentOKGoogleRT5514.apk::PRESIGNED",
297 | "system/priv-app/HotwordEnrollmentXGoogleRT5514/HotwordEnrollmentXGoogleRT5514.apk::PRESIGNED",
298 | "system/priv-app/LLKAgent/LLKAgent.apk",
299 | "system/priv-app/MyVerizonServices/MyVerizonServices.apk",
300 | "system/priv-app/OBDM_Permissions/OBDM_Permissions.apk",
301 | "system/priv-app/OemDmTrigger/OemDmTrigger.apk",
302 | "system/priv-app/Showcase/Showcase.apk",
303 | "system/priv-app/SprintDM/SprintDM.apk",
304 | "system/priv-app/SprintHM/SprintHM.apk",
305 | "system/priv-app/VerizonAuthDialog/VerizonAuthDialog.apk",
306 | "system/priv-app/VzwOmaTrigger/VzwOmaTrigger.apk",
307 | "system/priv-app/obdm_stub/obdm_stub.apk"
308 | ],
309 | "system-other": [
310 | "system/etc/ambient/matcher_tah.leveldb",
311 | "system/etc/permissions/android.hardware.telephony.euicc.xml",
312 | "system/etc/permissions/com.android.omadm.service.xml",
313 | "system/etc/permissions/com.android.sdm.plugins.connmo.xml",
314 | "system/etc/permissions/com.android.sdm.plugins.sprintdm.xml",
315 | "system/etc/permissions/com.android.vzwomatrigger.xml",
316 | "system/etc/permissions/com.customermobile.preload.vzw.xml",
317 | "system/etc/permissions/com.google.omadm.trigger.xml",
318 | "system/etc/permissions/com.verizon.apn.xml",
319 | "system/etc/permissions/com.verizon.embms.xml",
320 | "system/etc/permissions/com.verizon.llkagent.xml",
321 | "system/etc/permissions/com.verizon.provider.xml",
322 | "system/etc/permissions/com.verizon.services.xml",
323 | "system/etc/permissions/features-verizon.xml",
324 | "system/etc/permissions/obdm_permissions.xml",
325 | "system/etc/permissions/privapp-permissions-google.xml",
326 | "system/etc/permissions/vzw_mvs_permissions.xml",
327 | "system/etc/scone/country_border.leveldb",
328 | "system/etc/sysconfig/google-hiddenapi-package-whitelist.xml",
329 | "system/etc/sysconfig/google.xml",
330 | "system/etc/sysconfig/google_build.xml",
331 | "system/etc/sysconfig/nexus.xml",
332 | "system/etc/sysconfig/pixel_2019_midyear_exclusive.xml",
333 | "system/etc/sysconfig/pixel_experience_2017.xml",
334 | "system/etc/sysconfig/pixel_experience_2018.xml",
335 | "system/etc/sysconfig/pixel_experience_2019_midyear.xml",
336 | "system/etc/sysconfig/whitelist_com.android.omadm.service.xml",
337 | "system/lib64/libsketchology_native.so",
338 | "system/priv-app/EuiccGoogle/esim-full-v0.img",
339 | "system/priv-app/EuiccGoogle/esim-v1.img"
340 | ],
341 | "forced-modules": [],
342 | "new-modules": [],
343 | "dep-dso": [],
344 | "BoardConfigVendor": [],
345 | "device-vendor": []
346 | }
347 | }
348 | }
349 |
--------------------------------------------------------------------------------
/scripts/common.sh:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bash
2 |
3 | [[ "${BASH_SOURCE[0]}" == "${0}" ]] && exit 1
4 |
5 | command_exists() {
6 | type "$1" &> /dev/null
7 | }
8 |
9 | check_dir() {
10 | local dirPath="$1"
11 | local dirDesc="$2"
12 |
13 | if [[ "$dirPath" == "" || ! -d "$dirPath" ]]; then
14 | echo "[-] $dirDesc directory not found"
15 | usage
16 | fi
17 | }
18 |
19 | check_file() {
20 | local filePath="$1"
21 | local fileDesc="$2"
22 |
23 | if [[ "$filePath" == "" || ! -f "$filePath" ]]; then
24 | echo "[-] $fileDesc file not found"
25 | usage
26 | fi
27 | }
28 |
29 | check_opt_file() {
30 | local filePath="$1"
31 | local fileDesc="$2"
32 |
33 | if [[ "$filePath" != "" && ! -f "$filePath" ]]; then
34 | echo "[-] '$fileDesc' file not found"
35 | usage
36 | fi
37 | }
38 |
39 | array_contains() {
40 | local element
41 | for element in "${@:2}"; do [[ "$element" == "$1" ]] && return 0; done
42 | return 1
43 | }
44 |
45 | array_contains_rel() {
46 | local element
47 | for element in "${@:2}"; do [[ "$element" =~ $1 ]] && return 0; done
48 | return 1
49 | }
50 |
51 | isValidApiLevel() {
52 | local apiLevel="$1"
53 | if [[ ! "$apiLevel" = *[[:digit:]]* ]]; then
54 | echo "[-] Invalid API level '$apiLevel'"
55 | abort 1
56 | fi
57 | }
58 |
59 | isValidConfigType() {
60 | local confType="$1"
61 | if [[ "$confType" != "naked" && "$confType" != "full" ]]; then
62 | echo "[-] Invalid config type '$confType'"
63 | abort 1
64 | fi
65 | }
66 |
67 | jqRawStrTop() {
68 | local query="$1"
69 | local conf_file="$2"
70 |
71 | jq -r ".\"$query\"" "$conf_file" || {
72 | echo "[-] json raw top string parse failed" >&2
73 | abort 1
74 | }
75 | }
76 |
77 | jqIncRawArrayTop() {
78 | local query="$1"
79 | local conf_file="$2"
80 |
81 | jq -r ".\"$query\"[]" "$conf_file" || {
82 | echo "[-] json top raw string string parse failed" >&2
83 | abort 1
84 | }
85 | }
86 |
87 | jqRawStr() {
88 | local api="api-$1"
89 | local conf="$2"
90 | local query="$3"
91 | local conf_file="$4"
92 |
93 | jq -r ".\"$api\".\"$conf\".\"$query\"" "$conf_file" || {
94 | echo "[-] json raw string parse failed" >&2
95 | abort 1
96 | }
97 | }
98 |
99 | jqIncRawArray() {
100 | local api="api-$1"
101 | local conf="$2"
102 | local query="$3"
103 | local conf_file="$4"
104 |
105 | jq -r ".\"$api\".naked.\"$query\"[]" "$conf_file" || {
106 | echo "[-] json raw string array parse failed" >&2
107 | abort 1
108 | }
109 |
110 | if [[ "$conf" == "naked" ]]; then
111 | return
112 | fi
113 |
114 | jq -r ".\"$api\".full.\"$query\"[]" "$conf_file" || {
115 | echo "[-] json raw string array parse failed" >&2
116 | abort 1
117 | }
118 |
119 | }
120 |
--------------------------------------------------------------------------------
/scripts/constants.sh:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bash
2 |
3 | [[ "${BASH_SOURCE[0]}" == "${0}" ]] && exit 1
4 |
5 | # List of supported devices
6 | declare -ra SUPPORTED_DEVICES=(
7 | "bullhead" # Nexus 5x
8 | "flounder" # Nexus 9
9 | "angler" # Nexus 6p
10 | "sailfish" # Pixel
11 | "marlin" # Pixel XL
12 | "walleye" # Pixel 2
13 | "taimen" # Pixel 2 XL
14 | "blueline" # Pixel 3
15 | "crosshatch" # Pixel 3 XL
16 | "sargo" # Pixel 3a
17 | "bonito" # Pixel 3a XL
18 | )
19 |
20 | # URLs to download factory images from
21 | readonly NID_URL="https://google.com"
22 | readonly GURL="https://developers.google.com/android/nexus/images"
23 |
24 | # oatdump dependencies URLs as compiled from AOSP matching API levels
25 | readonly L_OATDUMP_URL_API23='https://onedrive.live.com/download?cid=D1FAC8CC6BE2C2B0&resid=D1FAC8CC6BE2C2B0%21490&authkey=ACA4f4Zvs3Tb_SY'
26 | readonly D_OATDUMP_URL_API23='https://onedrive.live.com/download?cid=D1FAC8CC6BE2C2B0&resid=D1FAC8CC6BE2C2B0%21493&authkey=AJ0rWu5Ci8tQNLY'
27 | readonly L_OATDUMP_URL_API24='https://onedrive.live.com/download?cid=D1FAC8CC6BE2C2B0&resid=D1FAC8CC6BE2C2B0%21492&authkey=AE4uqwH-THvvkSQ'
28 | readonly D_OATDUMP_URL_API24='https://onedrive.live.com/download?cid=D1FAC8CC6BE2C2B0&resid=D1FAC8CC6BE2C2B0%21491&authkey=AHvCaYwFBPYD4Fs'
29 | readonly L_OATDUMP_URL_API25='https://onedrive.live.com/download?cid=D1FAC8CC6BE2C2B0&resid=D1FAC8CC6BE2C2B0%21503&authkey=AKDpBAzhzum6d7w'
30 | readonly D_OATDUMP_URL_API25='https://onedrive.live.com/download?cid=D1FAC8CC6BE2C2B0&resid=D1FAC8CC6BE2C2B0%21504&authkey=AC5YFNSAZ31-W3o'
31 | readonly L_OATDUMP_URL_API26='https://onedrive.live.com/download?cid=D1FAC8CC6BE2C2B0&resid=D1FAC8CC6BE2C2B0%21557&authkey=AG47qhXu164sYwc'
32 | readonly D_OATDUMP_URL_API26='https://onedrive.live.com/download?cid=D1FAC8CC6BE2C2B0&resid=D1FAC8CC6BE2C2B0%21561&authkey=ABu-oqJbQDwQ-ZQ'
33 | readonly L_OATDUMP_URL_API26_2='https://onedrive.live.com/download?cid=D1FAC8CC6BE2C2B0&resid=D1FAC8CC6BE2C2B0%21569&authkey=AG5PlexJR0YMLr0'
34 | readonly D_OATDUMP_URL_API26_2='https://onedrive.live.com/download?cid=D1FAC8CC6BE2C2B0&resid=D1FAC8CC6BE2C2B0%21570&authkey=AJrlrh0v2GUvxow'
35 | readonly L_OATDUMP_URL_API27='https://onedrive.live.com/download?cid=D1FAC8CC6BE2C2B0&resid=D1FAC8CC6BE2C2B0%21566&authkey=AKWYYxBfd7NMW_k'
36 | readonly D_OATDUMP_URL_API27='https://onedrive.live.com/download?cid=D1FAC8CC6BE2C2B0&resid=D1FAC8CC6BE2C2B0%21567&authkey=AF-cDubRkZdjRxY'
37 | readonly L_OATDUMP_URL_API28='https://onedrive.live.com/download?cid=D1FAC8CC6BE2C2B0&resid=D1FAC8CC6BE2C2B0%21574&authkey=ADSQA_DtfAmmk2c'
38 | readonly D_OATDUMP_URL_API28='https://onedrive.live.com/download?cid=D1FAC8CC6BE2C2B0&resid=D1FAC8CC6BE2C2B0%21582&authkey=ABMMORAJ-GGjs2k'
39 |
40 |
41 | readonly L_OATDUMP_API23_SIG='688f1c1f97e3b9eb32702c60ca05abbf313bc98a25334aa3ed4a108095162244'
42 | readonly D_OATDUMP_API23_SIG='688f1c1f97e3b9eb32702c60ca05abbf313bc98a25334aa3ed4a108095162244'
43 | readonly L_OATDUMP_API24_SIG='1f99e7d0f2894cfe52fb7f2a24d5076f217977cbb1a46fafdf5ea38b0a11adce'
44 | readonly D_OATDUMP_API24_SIG='4a7f5614eb04d9bea85bfa05853523843f9cc80a64eab4c98efed2f70ed3d90e'
45 | readonly L_OATDUMP_API25_SIG='8b8cd18f08afd00fc6bf33d5b7f5be4faab9f39849b258bade5d15c3e5f33ce8'
46 | readonly D_OATDUMP_API25_SIG='97f26b40cdc1fb2b5e5babe7ff8c63b70e7d3a3ab8dee19b035bbb0fdfa5477e'
47 | readonly L_OATDUMP_API26_SIG='d8c08fe0de637412086f8433b41808d7b58e92e7b7341fb9b4da44868d4b311b'
48 | readonly D_OATDUMP_API26_SIG='6fd75110e85f0cc0316c5e7345ea4271d527aae2570552dc3c565177a4d6b743'
49 | readonly L_OATDUMP_API26_2_SIG='22ab2469d32fbb1a4010528695c0c71ed1a3f7f5e956971b7f933e2df9b4f44a'
50 | readonly D_OATDUMP_API26_2_SIG='03b603c09c1dfbdffa0518d39f5d7e5fcf04eac2e8b11bec27f2e4c36b162689'
51 | readonly L_OATDUMP_API27_SIG='e8363ecbd6bc6bd4d3e86e5a59adfa77f62c3f765f4bb8d32706a538831357ac'
52 | readonly D_OATDUMP_API27_SIG='2aaab14d1178845bf9d08b06b7afd3dfd845e882c9bf2c403593940a39ff3449'
53 | readonly L_OATDUMP_API28_SIG='394a47491de4def3b825b22713f5ecfd8f16e00497f35213ffd83c2cc709384e'
54 | readonly D_OATDUMP_API28_SIG='95ce6c296c5115861db3c876eb5bfd11cdc34deebace18462275368492c6ea87'
55 |
56 | # sub-directories that contain bytecode archives
57 | declare -ra SUBDIRS_WITH_BC=("app" "framework" "priv-app" "overlay" "product")
58 |
59 | # ART runtime files
60 | declare -ra ART_FILE_EXTS=("odex" "oat" "art" "vdex")
61 |
62 | # Files to skip from vendor partition when parsing factory images (for all configs)
63 | declare -ra VENDOR_SKIP_FILES=(
64 | "build.prop"
65 | "compatibility_matrix.xml"
66 | "default.prop"
67 | "etc/NOTICE.xml.gz"
68 | "etc/wifi/wpa_supplicant.conf"
69 | "manifest.xml"
70 | "bin/toybox_vendor"
71 | "bin/toolbox"
72 | "bin/grep"
73 | "overlay/DisplayCutoutEmulationCorner/DisplayCutoutEmulationCornerOverlay.apk"
74 | "overlay/DisplayCutoutEmulationDouble/DisplayCutoutEmulationDoubleOverlay.apk"
75 | "overlay/DisplayCutoutEmulationTall/DisplayCutoutEmulationTallOverlay.apk"
76 | "overlay/DisplayCutoutNoCutout/NoCutoutOverlay.apk"
77 | "overlay/framework-res__auto_generated_rro.apk"
78 | "overlay/SysuiDarkTheme/SysuiDarkThemeOverlay.apk"
79 | )
80 |
81 | # Files to skip from vendor partition when parsing factory images (for naked config only)
82 | declare -ra VENDOR_SKIP_FILES_NAKED=(
83 | "etc/selinux/nonplat_file_contexts"
84 | "etc/selinux/nonplat_hwservice_contexts"
85 | "etc/selinux/nonplat_mac_permissions.xml"
86 | "etc/selinux/nonplat_property_contexts"
87 | "etc/selinux/nonplat_seapp_contexts"
88 | "etc/selinux/nonplat_sepolicy.cil"
89 | "etc/selinux/nonplat_service_contexts"
90 | "etc/selinux/plat_sepolicy_vers.txt"
91 | "etc/selinux/precompiled_sepolicy"
92 | "etc/selinux/precompiled_sepolicy.plat_and_mapping.sha256"
93 | "etc/selinux/vndservice_contexts"
94 | )
95 |
--------------------------------------------------------------------------------
/scripts/download-nexus-image.sh:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bash
2 | #
3 | # Download factory image for the provided device & build id
4 | #
5 |
6 | set -e # fail on unhandled error
7 | set -u # fail on undefined variable
8 | #set -x # debug
9 |
10 | readonly SCRIPTS_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
11 | readonly CONSTS_SCRIPT="$SCRIPTS_DIR/constants.sh"
12 | readonly COMMON_SCRIPT="$SCRIPTS_DIR/common.sh"
13 | readonly TMP_WORK_DIR=$(mktemp -d "${TMPDIR:-/tmp}"/android_img_download.XXXXXX) || exit 1
14 | declare -a SYS_TOOLS=("curl" "wget")
15 |
16 | abort() {
17 | exit "$1"
18 | }
19 |
20 | usage() {
21 | cat <<_EOF
22 | Usage: $(basename "$0") [options]
23 | OPTIONS:
24 | -d|--device : Device AOSP codename (angler, bullhead, etc.)
25 | -a|--alias : Device alias at Google Dev website (e.g. volantis vs flounder)
26 | -b|--buildID : BuildID string (e.g. MMB29P)
27 | -o|--output : Path to save images archived
28 | -y|--yes : Default accept Google ToS
29 | _EOF
30 | abort 1
31 | }
32 |
33 | accept_tos() {
34 | local userRes userResFmt
35 |
36 | # Message based on 'October 3, 2016' update
37 | cat << EOF
38 |
39 | --{ Google Terms and Conditions [1]
40 | Downloading of the system image and use of the device software is subject to the
41 | Google Terms of Service [2]. By continuing, you agree to the Google Terms of
42 | Service [2] and Privacy Policy [3]. Your downloading of the system image and use
43 | of the device software may also be subject to certain third-party terms of
44 | service, which can be found in Settings > About phone > Legal information, or as
45 | otherwise provided.
46 |
47 | [1] https://developers.google.com/android/images#legal
48 | [2] https://www.google.com/intl/en/policies/terms/
49 | [3] https://www.google.com/intl/en/policies/privacy/
50 |
51 | EOF
52 |
53 | echo -n "[?] I have read and agree with the above terms and conditions - ACKNOWLEDGE [y|n]: "
54 | if [ "$AUTO_TOS_ACCEPT" = true ]; then
55 | echo "yes"
56 | userRes="yes"
57 | else
58 | read userRes
59 | fi
60 |
61 | userResFmt=$(echo "$userRes" | tr '[:upper:]' '[:lower:]')
62 | if [[ "$userResFmt" != "yes" && "$userResFmt" != "y" ]]; then
63 | echo "[!] Cannot continue downloading without agreeing"
64 | abort 1
65 | fi
66 | }
67 |
68 | trap "abort 1" SIGINT SIGTERM
69 | . "$CONSTS_SCRIPT"
70 | . "$COMMON_SCRIPT"
71 |
72 | # Check that system tools exist
73 | for i in "${SYS_TOOLS[@]}"
74 | do
75 | if ! command_exists "$i"; then
76 | echo "[-] '$i' command not found"
77 | abort 1
78 | fi
79 | done
80 |
81 | DEVICE=""
82 | DEV_ALIAS=""
83 | BUILDID=""
84 | OUTPUT_DIR=""
85 | AUTO_TOS_ACCEPT=false
86 |
87 | while [[ $# -gt 0 ]]
88 | do
89 | arg="$1"
90 | case $arg in
91 | -o|--output)
92 | OUTPUT_DIR=$(echo "$2" | sed 's:/*$::')
93 | shift
94 | ;;
95 | -d|--device)
96 | DEVICE=$(echo "$2" | tr '[:upper:]' '[:lower:]')
97 | shift
98 | ;;
99 | -a|--alias)
100 | DEV_ALIAS=$(echo "$2" | tr '[:upper:]' '[:lower:]')
101 | shift
102 | ;;
103 | -b|--buildID)
104 | BUILDID=$(echo "$2" | tr '[:upper:]' '[:lower:]')
105 | shift
106 | ;;
107 | -y|--yes)
108 | AUTO_TOS_ACCEPT=true
109 | ;;
110 | *)
111 | echo "[-] Invalid argument '$1'"
112 | usage
113 | ;;
114 | esac
115 | shift
116 | done
117 |
118 | if [[ "$DEVICE" == "" ]]; then
119 | echo "[-] device codename cannot be empty"
120 | usage
121 | fi
122 | if [[ "$BUILDID" == "" ]]; then
123 | echo "[-] buildID cannot be empty"
124 | usage
125 | fi
126 | if [[ "$OUTPUT_DIR" == "" || ! -d "$OUTPUT_DIR" ]]; then
127 | echo "[-] Output directory not found"
128 | usage
129 | fi
130 |
131 | # If alias not provided assume same as device codename for simplicity.
132 | # If wrong choice, later scripts will fail to find blobs list file.
133 | if [[ "$DEV_ALIAS" == "" ]]; then
134 | DEV_ALIAS="$DEVICE"
135 | fi
136 |
137 | # Since ToS is bind with NID cookie, first get one
138 | COOKIE_FILE="$TMP_WORK_DIR/g_cookies.txt"
139 | curl --silent -c "$COOKIE_FILE" -L "$NID_URL" &>/dev/null
140 |
141 | # Change cookie scope back to google.com since we might have
142 | # a location based redirect to different domain (e.g. google.gr)
143 | grep -io "google.[[:alpha:]]\+[[:blank:]]" "$COOKIE_FILE" | \
144 | sed -e "s/[[:space:]]\+//g" | sort -u | \
145 | while read -r domain
146 | do
147 | sed -i.bak "s/$domain/google.com/g" "$COOKIE_FILE"
148 | done
149 |
150 | # Accept news ToS page
151 | accept_tos
152 |
153 | # Then retrieve the index page
154 | url=$(curl -L -b "$COOKIE_FILE" --silent "$GURL" | \
155 | grep -i "/dev/null | tr '\t' ' ' | cut -d' ' -f1)"
69 | if [[ "$size" == "" ]]; then
70 | echo "[!] Failed to extract vendor partition size from '$vendor_img_raw'"
71 | abort 1
72 | fi
73 |
74 | # Write to file so that 'generate-vendor.sh' can pick the value
75 | # for BoardConfigVendor makefile generation
76 | echo "$size" > "$out_file"
77 | }
78 |
79 | mount_darwin() {
80 | local imgFile="$1"
81 | local mountPoint="$2"
82 | local mount_log="$TMP_WORK_DIR/mount.log"
83 | local -a osxfuse_ver
84 | local os_major_ver
85 |
86 | os_major_ver="$(sw_vers -productVersion | cut -d '.' -f2)"
87 | if [ "$os_major_ver" -ge 12 ]; then
88 | # If Sierra and above, check that latest supported (3.5.4) osxfuse version is installed
89 | local osxfuse_plist="/Library/Filesystems/osxfuse.fs/Contents/version.plist"
90 | IFS='.' read -r -a osxfuse_ver <<< "$(grep 'CFBundleVersion' -A1 "$osxfuse_plist" | \
91 | grep -o '.*' | cut -d '>' -f2 | cut -d '<' -f1)"
92 |
93 | if [[ ("${osxfuse_ver[0]}" -lt 3 ) || \
94 | ("${osxfuse_ver[0]}" -eq 3 && "${osxfuse_ver[1]}" -lt 5) || \
95 | ("${osxfuse_ver[0]}" -eq 3 && "${osxfuse_ver[1]}" -eq 5 && "${osxfuse_ver[2]}" -lt 4) ]]; then
96 | echo "[!] Detected osxfuse version is '$(echo "${osxfuse_ver[@]}" | tr ' ' '.')'"
97 | echo "[-] Update to latest or disable the check if you know that you're doing"
98 | abort 1
99 | fi
100 | fi
101 |
102 | ext4fuse -o logfile=/dev/stdout,uid=$EUID,ro "$imgFile" "$mountPoint" &>"$mount_log" || {
103 | echo "[-] '$imgFile' mount failed"
104 | cat "$mount_log"
105 | abort 1
106 | }
107 | }
108 |
109 | mount_linux() {
110 | local imgFile="$1"
111 | local mountPoint="$2"
112 | local mount_log="$TMP_WORK_DIR/mount.log"
113 | local mount_cmd
114 |
115 | if [ "$RUNS_WITH_ROOT" = true ]; then
116 | mount_cmd="mount -t ext4 -o loop,ro"
117 | elif [ "$USE_FUSEEXT2" = true ]; then
118 | mount_cmd="fuse-ext2 -o uid=$EUID,ro"
119 | else
120 | mount_cmd="ext4fuse -o logfile=/dev/stdout,uid=$EUID,ro"
121 | fi
122 |
123 | $mount_cmd "$imgFile" "$mountPoint" &>"$mount_log" || {
124 | echo "[-] '$imgFile' mount failed"
125 | cat "$mount_log"
126 | abort 1
127 | }
128 | }
129 |
130 | extract_img_data() {
131 | local image_file="$1"
132 | local out_dir="$2"
133 | local logFile="$TMP_WORK_DIR/debugfs.log"
134 |
135 | if [ ! -d "$out_dir" ]; then
136 | mkdir -p "$out_dir"
137 | fi
138 |
139 | if [[ "$HOST_OS" == "Darwin" ]]; then
140 | debugfs -R "rdump / \"$out_dir\"" "$image_file" &> "$logFile" || {
141 | echo "[-] Failed to extract data from '$image_file'"
142 | abort 1
143 | }
144 | else
145 | debugfs -R 'ls -p' "$image_file" 2>/dev/null | cut -d '/' -f6 | while read -r entry
146 | do
147 | debugfs -R "rdump \"$entry\" \"$out_dir\"" "$image_file" >> "$logFile" 2>&1 || {
148 | echo "[-] Failed to extract data from '$image_file'"
149 | abort 1
150 | }
151 | done
152 | fi
153 |
154 | local symlink_err="rdump: Attempt to read block from filesystem resulted in short read while reading symlink"
155 | if grep -Fq "$symlink_err" "$logFile"; then
156 | echo "[-] Symlinks have not been properly processed from $image_file"
157 | echo "[!] If you don't have a compatible debugfs version, modify 'execute-all.sh' to disable 'USE_DEBUGFS' flag"
158 | abort 1
159 | fi
160 | }
161 |
162 | mount_img() {
163 | local image_file="$1"
164 | local mount_dir="$2"
165 |
166 | if [ ! -d "$mount_dir" ]; then
167 | mkdir -p "$mount_dir"
168 | fi
169 |
170 | if [[ "$HOST_OS" == "Darwin" ]]; then
171 | mount_darwin "$image_file" "$mount_dir"
172 | else
173 | mount_linux "$image_file" "$mount_dir"
174 | fi
175 |
176 | if ! mount | grep -qs "$mount_dir"; then
177 | echo "[-] '$image_file' mount point missing indicates fuse mount error"
178 | abort 1
179 | fi
180 | }
181 |
182 | trap "abort 1" SIGINT SIGTERM
183 | . "$CONSTS_SCRIPT"
184 | . "$COMMON_SCRIPT"
185 |
186 | INPUT_ARCHIVE=""
187 | OUTPUT_DIR=""
188 | CONFIG_FILE=""
189 | USE_DEBUGFS=false
190 | USE_FUSEEXT2=false
191 | RUNS_WITH_ROOT=false
192 |
193 | # Compatibility
194 | HOST_OS=$(uname)
195 | if [[ "$HOST_OS" != "Linux" && "$HOST_OS" != "Darwin" ]]; then
196 | echo "[-] '$HOST_OS' OS is not supported"
197 | abort 1
198 | fi
199 |
200 | while [[ $# -gt 0 ]]
201 | do
202 | arg="$1"
203 | case $arg in
204 | -o|--output)
205 | OUTPUT_DIR=$(echo "$2" | sed 's:/*$::')
206 | shift
207 | ;;
208 | -i|--input)
209 | INPUT_ARCHIVE=$2
210 | shift
211 | ;;
212 | --conf-file)
213 | CONFIG_FILE="$2"
214 | shift
215 | ;;
216 | --debugfs)
217 | USE_DEBUGFS=true
218 | ;;
219 | --fuse-ext2)
220 | USE_FUSEEXT2=true
221 | ;;
222 | *)
223 | echo "[-] Invalid argument '$1'"
224 | usage
225 | ;;
226 | esac
227 | shift
228 | done
229 |
230 | # Check if script is running as root to directly use loopback instead of fuses
231 | if [ "$EUID" -eq 0 ]; then
232 | RUNS_WITH_ROOT=true
233 | echo "[*] Running as root - using loopback for image mounts"
234 | else
235 | if [ "$USE_FUSEEXT2" = true ]; then
236 | echo "[*] Using fuse-ext2 for image mounts"
237 | elif [ "$USE_DEBUGFS" = true ]; then
238 | echo "[*] Using debugfs for image mounts"
239 | else
240 | echo "[*] Using ext4fuse for image mounts"
241 | fi
242 | fi
243 |
244 | # Additional tools based on chosen image files data extraction method
245 | if [ "$RUNS_WITH_ROOT" = true ]; then
246 | SYS_TOOLS+=("mount")
247 | elif [ "$USE_DEBUGFS" = true ]; then
248 | SYS_TOOLS+=("debugfs")
249 | elif [ "$USE_FUSEEXT2" = true ]; then
250 | SYS_TOOLS+=("fuse-ext2")
251 | else
252 | SYS_TOOLS+=("ext4fuse")
253 | # Platform specific commands
254 | if [[ "$HOST_OS" == "Darwin" ]]; then
255 | SYS_TOOLS+=("sw_vers")
256 | fi
257 | fi
258 |
259 | # Check that system tools exist
260 | for i in "${SYS_TOOLS[@]}"
261 | do
262 | if ! command_exists "$i"; then
263 | echo "[-] '$i' command not found"
264 | abort 1
265 | fi
266 | done
267 |
268 | # Input args check
269 | check_dir "$OUTPUT_DIR" "Output"
270 | check_file "$INPUT_ARCHIVE" "Input archive"
271 | check_file "$CONFIG_FILE" "Device Config File"
272 |
273 | # Fetch required values from config
274 | readonly VENDOR="$(jqRawStrTop "vendor" "$CONFIG_FILE")"
275 | readonly EXTRA_IMGS_LIST="$(jqIncRawArrayTop "extra-partitions" "$CONFIG_FILE")"
276 | if [[ "$EXTRA_IMGS_LIST" != "" ]]; then
277 | readarray -t EXTRA_IMGS < <(echo "$EXTRA_IMGS_LIST")
278 | fi
279 |
280 | # Prepare output folders
281 | SYSTEM_DATA_OUT="$OUTPUT_DIR/system"
282 | if [ -d "$SYSTEM_DATA_OUT" ]; then
283 | rm -rf "${SYSTEM_DATA_OUT:?}"/*
284 | fi
285 |
286 | VENDOR_DATA_OUT="$OUTPUT_DIR/vendor"
287 | if [ -d "$VENDOR_DATA_OUT" ]; then
288 | rm -rf "${VENDOR_DATA_OUT:?}"/*
289 | fi
290 |
291 | RADIO_DATA_OUT="$OUTPUT_DIR/radio"
292 | if [ -d "$RADIO_DATA_OUT" ]; then
293 | rm -rf "${RADIO_DATA_OUT:?}"/*
294 | fi
295 | mkdir -p "$RADIO_DATA_OUT"
296 |
297 | archiveName="$(basename "$INPUT_ARCHIVE")"
298 | fileExt="${archiveName##*.}"
299 | archName="$(basename "$archiveName" ".$fileExt")"
300 | extractDir="$TMP_WORK_DIR/$archName"
301 | mkdir -p "$extractDir"
302 |
303 | # Extract archive
304 | extract_archive "$INPUT_ARCHIVE" "$extractDir"
305 |
306 | if [[ -f "$extractDir/system.img" && -f "$extractDir/vendor.img" ]]; then
307 | sysImg="$extractDir/system.img"
308 | vImg="$extractDir/vendor.img"
309 | else
310 | updateArch=$(find "$extractDir" -iname "image-*.zip" | head -n 1)
311 | echo "[*] Unzipping '$(basename "$updateArch")'"
312 | unzip -qq "$updateArch" -d "$extractDir/images" || {
313 | echo "[-] unzip failed"
314 | abort 1
315 | }
316 | sysImg="$extractDir/images/system.img"
317 | vImg="$extractDir/images/vendor.img"
318 | fi
319 |
320 | # Baseband image
321 | hasRadioImg=true
322 | radioImg=$(find "$extractDir" -iname "radio-*.img" | head -n 1)
323 | if [[ "$radioImg" == "" ]]; then
324 | echo "[!] No baseband firmware present - skipping"
325 | hasRadioImg=false
326 | fi
327 |
328 | # Bootloader image
329 | bootloaderImg=$(find "$extractDir" -iname "bootloader-*.img" | head -n 1)
330 | if [[ "$bootloaderImg" == "" ]]; then
331 | echo "[-] Failed to locate bootloader image"
332 | abort 1
333 | fi
334 |
335 | # Convert from sparse to raw
336 | rawSysImg="$extractDir/images/system.img.raw"
337 | rawVImg="$extractDir/images/vendor.img.raw"
338 |
339 | simg2img "$sysImg" "$rawSysImg" || {
340 | echo "[-] simg2img failed to convert system.img from sparse"
341 | abort 1
342 | }
343 | simg2img "$vImg" "$rawVImg" || {
344 | echo "[-] simg2img failed to convert vendor.img from sparse"
345 | abort 1
346 | }
347 |
348 | # Save raw vendor img partition size
349 | extract_vendor_partition_size "$rawVImg" "$OUTPUT_DIR"
350 |
351 | if [ "$USE_DEBUGFS" = true ]; then
352 | # Extract raw system and vendor images. Data will be processed later
353 | extract_img_data "$rawSysImg" "$SYSTEM_DATA_OUT"
354 | extract_img_data "$rawVImg" "$VENDOR_DATA_OUT"
355 | else
356 | # Mount raw system and vendor images. Data will be processed later
357 | mount_img "$rawSysImg" "$SYSTEM_DATA_OUT"
358 | mount_img "$rawVImg" "$VENDOR_DATA_OUT"
359 | fi
360 |
361 | # Copy bootloader & radio images
362 | if [ $hasRadioImg = true ]; then
363 | mv "$radioImg" "$RADIO_DATA_OUT/" || {
364 | echo "[-] Failed to copy radio image"
365 | abort 1
366 | }
367 | fi
368 | mv "$bootloaderImg" "$RADIO_DATA_OUT/" || {
369 | echo "[-] Failed to copy bootloader image"
370 | abort 1
371 | }
372 |
373 | # For Pixel devices with AB partitions layout, copy additional images required for OTA
374 | if [[ "$VENDOR" == "google" && "$EXTRA_IMGS_LIST" != "" ]]; then
375 | for img in "${EXTRA_IMGS[@]}"
376 | do
377 | if [ ! -f "$extractDir/images/$img.img" ]; then
378 | echo "[-] Failed to locate '$img.img' in factory image"
379 | abort 1
380 | fi
381 | mv "$extractDir/images/$img.img" "$RADIO_DATA_OUT/"
382 | done
383 | fi
384 |
385 | abort 0
386 |
--------------------------------------------------------------------------------
/scripts/gen-prop-blobs-list.sh:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bash
2 | #
3 | # Iterate vendor partition and extract the list of files to be copied from vendor blobs generator
4 | # script. The script combines vendor partition files and items included in the selected
5 | # configuration, into a unified file so that following scripts can pick-up the complete list.
6 | #
7 |
8 | set -e # fail on unhandled error
9 | set -u # fail on undefined variable
10 | #set -x # debug
11 |
12 | readonly SCRIPTS_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
13 | readonly CONSTS_SCRIPT="$SCRIPTS_DIR/constants.sh"
14 | readonly COMMON_SCRIPT="$SCRIPTS_DIR/common.sh"
15 | declare -a SYS_TOOLS=("find" "sed" "sort" "jq")
16 |
17 | abort() {
18 | exit "$1"
19 | }
20 |
21 | usage() {
22 | cat <<_EOF
23 | Usage: $(basename "$0") [options]
24 | OPTIONS:
25 | -i|--input : Root path of /vendor partition
26 | -o|--output : Path to save generated "proprietary-blobs.txt" file
27 | --conf-file : Device configuration file
28 | --conf-type : 'naked' or 'full' configuration profile
29 | --api : API level
30 | _EOF
31 | abort 1
32 | }
33 |
34 | verify_input() {
35 | if [[ ! -f "$1/build.prop" ]]; then
36 | echo "[-] Invalid input directory structure"
37 | usage
38 | fi
39 |
40 | # Also check that we don't have any pre-optimized apps in vendor image
41 | if [[ "$(find "$1" -name "*.odex" | wc -l | tr -d " ")" -ne 0 ]]; then
42 | echo "[!] Vendor partition contains pre-optimized bytecode - not supported yet"
43 | abort 1
44 | fi
45 | }
46 |
47 | trap "abort 1" SIGINT SIGTERM
48 | . "$CONSTS_SCRIPT"
49 | . "$COMMON_SCRIPT"
50 |
51 | # Check that system tools exist
52 | for i in "${SYS_TOOLS[@]}"
53 | do
54 | if ! command_exists "$i"; then
55 | echo "[-] '$i' command not found"
56 | abort 1
57 | fi
58 | done
59 |
60 | INPUT_DIR=""
61 | OUTPUT_DIR=""
62 | CONFIG_FILE=""
63 | CONFIG_TYPE="naked"
64 | API_LEVEL=""
65 |
66 | while [[ $# -gt 1 ]]
67 | do
68 | arg="$1"
69 | case $arg in
70 | -o|--output)
71 | OUTPUT_DIR="$(echo "$2" | sed 's:/*$::')"
72 | shift
73 | ;;
74 | -i|--input)
75 | INPUT_DIR="$(echo "$2" | sed 's:/*$::')"
76 | shift
77 | ;;
78 | --conf-file)
79 | CONFIG_FILE="$2"
80 | shift
81 | ;;
82 | --conf-type)
83 | CONFIG_TYPE="$2"
84 | shift
85 | ;;
86 | --api)
87 | API_LEVEL="$2"
88 | shift
89 | ;;
90 | *)
91 | echo "[-] Invalid argument '$1'"
92 | usage
93 | ;;
94 | esac
95 | shift
96 | done
97 |
98 | # Input args check
99 | check_dir "$INPUT_DIR" "Input"
100 | check_dir "$OUTPUT_DIR" "Output"
101 | check_file "$CONFIG_FILE" "Device Config File"
102 |
103 | # Check if valid config type & API level
104 | isValidConfigType "$CONFIG_TYPE"
105 | isValidApiLevel "$API_LEVEL"
106 |
107 | # Verify input directory structure
108 | verify_input "$INPUT_DIR"
109 |
110 | readonly OUT_BLOBS_FILE_TMP="$OUTPUT_DIR/_proprietary-blobs.txt"
111 | readonly OUT_BLOBS_FILE="$OUTPUT_DIR/proprietary-blobs.txt"
112 |
113 | # Clean copy from previous runs
114 | > "$OUT_BLOBS_FILE"
115 | > "$OUT_BLOBS_FILE_TMP"
116 |
117 | # First add all regular files or symbolic links from /vendor partition
118 | find "$INPUT_DIR" -not -type d | sed "s#^$INPUT_DIR/##" | while read -r FILE
119 | do
120 | # Skip VENDOR_SKIP_FILES since it will be re-generated at build time
121 | if array_contains "$FILE" "${VENDOR_SKIP_FILES[@]}"; then
122 | continue
123 | fi
124 |
125 | # Additional skips only for naked configs
126 | if [[ "$CONFIG_TYPE" == "naked" ]]; then
127 | if array_contains "$FILE" "${VENDOR_SKIP_FILES_NAKED[@]}"; then
128 | continue
129 | fi
130 | fi
131 |
132 | echo "vendor/$FILE" >> "$OUT_BLOBS_FILE_TMP"
133 | done
134 |
135 | {
136 | # Then append system-proprietary-blobs
137 | jqIncRawArray "$API_LEVEL" "$CONFIG_TYPE" "system-other" "$CONFIG_FILE" | grep -Ev '(^#|^$)' || true
138 |
139 | # Then append dep-dso-proprietary-blobs
140 | jqIncRawArray "$API_LEVEL" "$CONFIG_TYPE" "dep-dso" "$CONFIG_FILE" | grep -Ev '(^#|^$)' || true
141 |
142 | # Then append bytecode-proprietary
143 | jqIncRawArray "$API_LEVEL" "$CONFIG_TYPE" "system-bytecode" "$CONFIG_FILE" | grep -Ev '(^#|^$)' || true
144 | } >> "$OUT_BLOBS_FILE_TMP"
145 |
146 | # Sort merged file with all lists
147 | sort -u "$OUT_BLOBS_FILE_TMP" > "$OUT_BLOBS_FILE"
148 |
149 | # Clean-up
150 | rm -f "$OUT_BLOBS_FILE_TMP"
151 |
152 | abort 0
153 |
--------------------------------------------------------------------------------
/scripts/realpath.sh:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bash
2 | #
3 | # sh-realpath implementation from mkropat
4 | # https://github.com/mkropat/sh-realpath
5 | #
6 |
7 | set -e # fail on unhandled error
8 |
9 | _realpath() {
10 | _canonicalize_path "$(_resolve_symlinks "$1")"
11 | }
12 |
13 | _resolve_symlinks() {
14 | __resolve_symlinks "$1"
15 | }
16 |
17 | __resolve_symlinks() {
18 | __assert_no_path_cycles "$@" || return
19 |
20 | local dir_context path
21 | path=$(readlink -- "$1")
22 | if [ $? -eq 0 ]; then
23 | dir_context=$(dirname -- "$1")
24 | __resolve_symlinks "$(__prepend_dir_context_if_necessary "$dir_context" "$path")" "$@"
25 | else
26 | printf '%s\n' "$1"
27 | fi
28 | }
29 |
30 | __prepend_dir_context_if_necessary() {
31 | if [ "$1" = . ]; then
32 | printf '%s\n' "$2"
33 | else
34 | __prepend_path_if_relative "$1" "$2"
35 | fi
36 | }
37 |
38 | __prepend_path_if_relative() {
39 | case "$2" in
40 | /* ) printf '%s\n' "$2" ;;
41 | * ) printf '%s\n' "$1/$2" ;;
42 | esac
43 | }
44 |
45 | __assert_no_path_cycles() {
46 | local target path
47 |
48 | target=$1
49 | shift
50 |
51 | for path in "$@"; do
52 | if [ "$path" = "$target" ]; then
53 | return 1
54 | fi
55 | done
56 | }
57 |
58 | _canonicalize_path() {
59 | if [ -d "$1" ]; then
60 | __canonicalize_dir_path "$1"
61 | else
62 | __canonicalize_file_path "$1"
63 | fi
64 | }
65 |
66 | __canonicalize_dir_path() {
67 | (cd "$1" 2>/dev/null && pwd -P)
68 | }
69 |
70 | __canonicalize_file_path() {
71 | local dir file
72 | dir=$(dirname -- "$1")
73 | file=$(basename -- "$1")
74 | (cd "$dir" 2>/dev/null && printf '%s/%s\n' "$(pwd -P)" "$file")
75 | }
76 |
--------------------------------------------------------------------------------