Skip to content

Commit 5597c7d

Browse files
committed
fix: prioritize variantId=2 over variantId=1 for APK downloads
- Try variantId=2 first since variantId=1 consistently returns 404 - Use variantId=3 as secondary option - Keep variantId=1 as last resort for debugging - Add better logging for all base APK candidates
1 parent 38a66f9 commit 5597c7d

File tree

1 file changed

+20
-17
lines changed

1 file changed

+20
-17
lines changed

.github/workflows/release.yml

Lines changed: 20 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)