Repository navigation
Commit 8639c81
ADFA-4128: qb-10 review fixes - alias attributes, skipped launchers, universal APK
Applies the fix-now items from the 2026-08-31 review triage (items 1, 5, 6,
7, 8, 9, 10, 11, 12; 2 retracted, 3 is PR-body-only, 4 deferred to its own
ticket).
- The synthesized activity-alias copies its target's android:permission and
android:enabled beside android:exported, with the same raw copy-through
(any of them can be a resource reference). Both are alias-DECLARED
attributes, not inherited, so dropping them left an exported,
permission-guarded activity reachable unguarded under its real name.
- A skipped activity is recorded as ProxiedComponent(proxyClass = null)
instead of dropped, so a skipped LAUNCHER no longer misreports
entryActivity == null - it keeps its real manifest name and is launchable
as-is. The alias loop skips null-proxy entries; the skip path also
normalises the element's android:name to the FQN like the other
kept-under-real-name sites.
- The proxy-app report selects the built artifact with empty filters (the
universal APK) instead of firstOrNull(); an all-splits output fails with a
GradleException naming the enabled splits, since guessing a split fails
later, on device.
- QuickBuildPayloadTransformTask filters both copy loops (and the
retained-jar pass) on existence, matching the tolerance its own
walkTopDown path already had.
- ClassOpener passes the reader to ClassWriter, making its copy-through KDoc
true - in lockstep with qb-09's identical FinalStripper change.
- Three UNPROXIABLE_BY_NAME reasons rewritten to their real current effect
(kept out of the component list / deploy policy); the rename they argued
against no longer happens for services and receivers.
- Doc corrections: the jacoco block's comment no longer claims a coverage
gate nothing enforces, and the dex min-API KDoc states the payload floor
(d8 skips desugaring at 30) rather than a nonexistent device gate.
Tests verified RED first against the pre-fix code: the extended alias test,
both skipped-activity tests, the divert missing-input test, and both
universal-APK selection tests (the selection seam initially carried the old
first-element behavior). One pre-existing test pinning the old
drop-the-skipped-activity contract was updated. Full :gradle-plugin:test
green.
Triage item 13 (utils.kt indentation) is NOT here: the prescribed remedy,
spotlessApply, is a no-op on the file under this ktlint config.
Also: plain-language pass over the comments added by these fixes
Also: stop the build when a variant exposes no assets source set. A null variant.sources.assets used to skip wiring the payload dex and the baseline stamp, producing a proxy APK whose manifest names classes with no dex behind them; requireAssets fails the build with the variant name instead, matching requireRuntimeConfiguration, and a JVM test pins it (Akash's 08-31 MINOR on QuickBuildPlugin.kt:248, #1722).
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01STCsdMzx9daNBcqMN424Ci1 parent 0f10b49 commit 8639c81
11 files changed
Lines changed: 439 additions & 45 deletions
File tree
- gradle-plugin
- src
- main/java/com/itsaky/androidide/gradle
- quickbuild
- test/java/com/itsaky/androidide/gradle
- quickbuild
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
163 | 163 | | |
164 | 164 | | |
165 | 165 | | |
166 | | - | |
167 | | - | |
168 | | - | |
169 | | - | |
170 | | - | |
| 166 | + | |
| 167 | + | |
| 168 | + | |
| 169 | + | |
| 170 | + | |
| 171 | + | |
| 172 | + | |
171 | 173 | | |
172 | 174 | | |
173 | 175 | | |
| |||
Lines changed: 23 additions & 4 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
6 | 6 | | |
7 | 7 | | |
8 | 8 | | |
| 9 | + | |
9 | 10 | | |
10 | 11 | | |
11 | 12 | | |
| |||
107 | 108 | | |
108 | 109 | | |
109 | 110 | | |
| 111 | + | |
| 112 | + | |
| 113 | + | |
| 114 | + | |
| 115 | + | |
| 116 | + | |
| 117 | + | |
| 118 | + | |
| 119 | + | |
| 120 | + | |
| 121 | + | |
| 122 | + | |
| 123 | + | |
| 124 | + | |
| 125 | + | |
| 126 | + | |
| 127 | + | |
| 128 | + | |
110 | 129 | | |
111 | 130 | | |
112 | 131 | | |
| |||
244 | 263 | | |
245 | 264 | | |
246 | 265 | | |
247 | | - | |
248 | | - | |
| 266 | + | |
| 267 | + | |
249 | 268 | | |
250 | 269 | | |
251 | 270 | | |
| |||
262 | 281 | | |
263 | 282 | | |
264 | 283 | | |
265 | | - | |
266 | | - | |
| 284 | + | |
| 285 | + | |
267 | 286 | | |
268 | 287 | | |
269 | 288 | | |
| |||
Lines changed: 4 additions & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
33 | 33 | | |
34 | 34 | | |
35 | 35 | | |
36 | | - | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
37 | 40 | | |
38 | 41 | | |
39 | 42 | | |
| |||
Lines changed: 6 additions & 3 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
103 | 103 | | |
104 | 104 | | |
105 | 105 | | |
106 | | - | |
| 106 | + | |
| 107 | + | |
107 | 108 | | |
108 | | - | |
| 109 | + | |
| 110 | + | |
109 | 111 | | |
110 | | - | |
| 112 | + | |
| 113 | + | |
111 | 114 | | |
112 | 115 | | |
113 | 116 | | |
| |||
Lines changed: 55 additions & 16 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
34 | 34 | | |
35 | 35 | | |
36 | 36 | | |
37 | | - | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
38 | 40 | | |
39 | 41 | | |
40 | 42 | | |
41 | 43 | | |
42 | | - | |
| 44 | + | |
43 | 45 | | |
44 | 46 | | |
45 | 47 | | |
| |||
66 | 68 | | |
67 | 69 | | |
68 | 70 | | |
69 | | - | |
| 71 | + | |
| 72 | + | |
70 | 73 | | |
71 | 74 | | |
72 | 75 | | |
73 | 76 | | |
74 | 77 | | |
75 | 78 | | |
76 | 79 | | |
77 | | - | |
| 80 | + | |
78 | 81 | | |
79 | 82 | | |
80 | 83 | | |
81 | | - | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
82 | 88 | | |
83 | 89 | | |
84 | 90 | | |
| |||
201 | 207 | | |
202 | 208 | | |
203 | 209 | | |
204 | | - | |
| 210 | + | |
| 211 | + | |
205 | 212 | | |
206 | 213 | | |
207 | 214 | | |
208 | 215 | | |
209 | 216 | | |
210 | 217 | | |
211 | 218 | | |
212 | | - | |
213 | | - | |
214 | | - | |
215 | | - | |
| 219 | + | |
| 220 | + | |
| 221 | + | |
| 222 | + | |
216 | 223 | | |
217 | | - | |
| 224 | + | |
218 | 225 | | |
219 | 226 | | |
220 | 227 | | |
221 | 228 | | |
222 | | - | |
| 229 | + | |
223 | 230 | | |
224 | 231 | | |
| 232 | + | |
| 233 | + | |
| 234 | + | |
| 235 | + | |
| 236 | + | |
| 237 | + | |
| 238 | + | |
| 239 | + | |
| 240 | + | |
| 241 | + | |
| 242 | + | |
| 243 | + | |
| 244 | + | |
| 245 | + | |
| 246 | + | |
225 | 247 | | |
226 | 248 | | |
227 | 249 | | |
228 | 250 | | |
229 | | - | |
| 251 | + | |
| 252 | + | |
| 253 | + | |
| 254 | + | |
230 | 255 | | |
231 | 256 | | |
232 | 257 | | |
| |||
260 | 285 | | |
261 | 286 | | |
262 | 287 | | |
263 | | - | |
| 288 | + | |
| 289 | + | |
| 290 | + | |
| 291 | + | |
264 | 292 | | |
265 | 293 | | |
| 294 | + | |
| 295 | + | |
| 296 | + | |
| 297 | + | |
266 | 298 | | |
267 | 299 | | |
268 | | - | |
| 300 | + | |
269 | 301 | | |
270 | 302 | | |
271 | 303 | | |
272 | 304 | | |
273 | 305 | | |
274 | | - | |
| 306 | + | |
275 | 307 | | |
| 308 | + | |
| 309 | + | |
| 310 | + | |
| 311 | + | |
| 312 | + | |
| 313 | + | |
| 314 | + | |
276 | 315 | | |
277 | 316 | | |
278 | 317 | | |
| |||
Lines changed: 56 additions & 10 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
| 3 | + | |
3 | 4 | | |
4 | 5 | | |
5 | 6 | | |
| |||
177 | 178 | | |
178 | 179 | | |
179 | 180 | | |
180 | | - | |
| 181 | + | |
| 182 | + | |
| 183 | + | |
| 184 | + | |
| 185 | + | |
| 186 | + | |
181 | 187 | | |
182 | 188 | | |
183 | | - | |
| 189 | + | |
184 | 190 | | |
185 | 191 | | |
186 | 192 | | |
187 | | - | |
| 193 | + | |
188 | 194 | | |
189 | 195 | | |
190 | 196 | | |
| |||
199 | 205 | | |
200 | 206 | | |
201 | 207 | | |
202 | | - | |
203 | | - | |
| 208 | + | |
| 209 | + | |
| 210 | + | |
| 211 | + | |
| 212 | + | |
204 | 213 | | |
205 | 214 | | |
206 | 215 | | |
207 | 216 | | |
208 | 217 | | |
209 | 218 | | |
210 | | - | |
| 219 | + | |
211 | 220 | | |
212 | 221 | | |
213 | 222 | | |
| |||
217 | 226 | | |
218 | 227 | | |
219 | 228 | | |
220 | | - | |
| 229 | + | |
221 | 230 | | |
222 | 231 | | |
223 | 232 | | |
| |||
273 | 282 | | |
274 | 283 | | |
275 | 284 | | |
276 | | - | |
| 285 | + | |
| 286 | + | |
| 287 | + | |
| 288 | + | |
| 289 | + | |
277 | 290 | | |
278 | 291 | | |
279 | 292 | | |
| |||
643 | 656 | | |
644 | 657 | | |
645 | 658 | | |
646 | | - | |
647 | | - | |
| 659 | + | |
| 660 | + | |
648 | 661 | | |
649 | 662 | | |
650 | 663 | | |
| |||
734 | 747 | | |
735 | 748 | | |
736 | 749 | | |
| 750 | + | |
| 751 | + | |
| 752 | + | |
| 753 | + | |
| 754 | + | |
| 755 | + | |
| 756 | + | |
| 757 | + | |
| 758 | + | |
| 759 | + | |
| 760 | + | |
| 761 | + | |
| 762 | + | |
| 763 | + | |
| 764 | + | |
| 765 | + | |
| 766 | + | |
| 767 | + | |
| 768 | + | |
| 769 | + | |
| 770 | + | |
| 771 | + | |
| 772 | + | |
| 773 | + | |
| 774 | + | |
| 775 | + | |
| 776 | + | |
| 777 | + | |
| 778 | + | |
| 779 | + | |
| 780 | + | |
| 781 | + | |
| 782 | + | |
737 | 783 | | |
738 | 784 | | |
739 | 785 | | |
| |||
0 commit comments