@@ -471,44 +471,47 @@ jobs:
471471 split_apks = apk['generatedSplitApks']
472472 print(f"Found {len(split_apks)} split APKs")
473473
474- # Look for the base/universal APK - try different strategies
475- # Strategy 1: Base module without splitId
474+ # Look for the base/universal APK - try variantId=2 first since variantId=1 consistently fails
475+ # Print all base modules for debugging
476476 base_candidates = []
477477 for split_apk in split_apks:
478- print(f"Split APK: variantId={split_apk.get('variantId')}, moduleName={split_apk.get('moduleName')}, splitId={split_apk.get('splitId', 'None')}")
479478 if split_apk.get('moduleName') == 'base':
480479 base_candidates.append(split_apk)
481- if 'splitId' not in split_apk:
482- download_id = split_apk.get('downloadId')
483- universal_apk = split_apk
484- print(f"Found universal APK (no splitId): {universal_apk}")
485- break
480+ print(f"Base APK: variantId={split_apk.get('variantId')}, splitId={split_apk.get('splitId', 'None')}")
481+
482+ # Strategy 1: Try variantId=2 first (most likely to work based on observations)
483+ for split_apk in split_apks:
484+ if (split_apk.get('moduleName') == 'base' and
485+ split_apk.get('variantId') == 2 and
486+ 'splitId' not in split_apk):
487+ download_id = split_apk.get('downloadId')
488+ universal_apk = split_apk
489+ print(f"Found universal APK (variantId=2): {universal_apk}")
490+ break
486491
487- # Strategy 2: Try variantId=2 first (might be the actively available variant)
492+ # Strategy 2: If variantId=2 not found, try variantId=3
488493 if not download_id:
489- print(f"Trying variantId=2 base module...")
490494 for split_apk in split_apks:
491495 if (split_apk.get('moduleName') == 'base' and
492- split_apk.get('variantId') == 2 and
496+ split_apk.get('variantId') == 3 and
493497 'splitId' not in split_apk):
494498 download_id = split_apk.get('downloadId')
495499 universal_apk = split_apk
496- print(f"Found universal APK (variantId=2 ): {universal_apk}")
500+ print(f"Found universal APK (variantId=3 ): {universal_apk}")
497501 break
498502
499- # Strategy 3: Try variantId=3
503+ # Strategy 3: Try variantId=1 as last resort (known to fail)
500504 if not download_id:
501- print(f"Trying variantId=3 base module...")
502505 for split_apk in split_apks:
503506 if (split_apk.get('moduleName') == 'base' and
504- split_apk.get('variantId') == 3 and
507+ split_apk.get('variantId') == 1 and
505508 'splitId' not in split_apk):
506509 download_id = split_apk.get('downloadId')
507510 universal_apk = split_apk
508- print(f"Found universal APK (variantId=3 ): {universal_apk}")
511+ print(f"Found universal APK (variantId=1 - last resort ): {universal_apk}")
509512 break
510513
511- # Strategy 4: If still none, try the first base module even with splitId
514+ # Strategy 4: Fallback to first base module
512515 if not download_id and base_candidates:
513516 universal_apk = base_candidates[0]
514517 download_id = universal_apk.get('downloadId')
0 commit comments