* Decompile and recreate Soul Browser v1.4.85 with APK CI builds Co-authored-by: KaKi87 <KaKi87@pm.me> * Fix CI build: include bundled google.jks and remove PR trigger The apktool build failed in CI because app/unknown/.../google.jks was excluded by the *.jks gitignore rule. Whitelist app-bundled JKS files and commit the missing resource. Also remove the redundant pull_request workflow trigger. Co-authored-by: KaKi87 <KaKi87@pm.me> * Change package ID to com.github.kaki87.soulbrowser Rename the application ID so the rebuilt APK can be installed alongside the original Soul Browser from Google Play. - Update AndroidManifest package, permissions, providers, and actions - Update R class references in smali (com/github/kaki87/soulbrowser/R) - Update shortcuts.xml targetPackage - Rename app label to "Soul Rebuild" for easy identification Co-authored-by: KaKi87 <KaKi87@pm.me> * Fix install compatibility: remove split APK metadata and bundle native libs The rebuilt APK still declared requiredSplitTypes and Play Store split metadata, causing Android to reject standalone installs as incompatible. - Remove requiredSplitTypes and split-related manifest meta-data - Merge native libs from all ABI splits with uncompressed storage - Page-align before signing for extractNativeLibs=false - Add .so to apktool doNotCompress list Co-authored-by: KaKi87 <KaKi87@pm.me> * Fix install failure: use apksigner v2/v3 and bundle arm64 native libs Target SDK 36 requires APK Signature Scheme v2+, but jarsigner only produces v1 signatures, causing Android to reject the install. - Sign with apksigner (v1+v2+v3) instead of jarsigner - Add arm64-v8a native libraries from universal Soul Browser 1.4.79 - Set extractNativeLibs=true for reliable sideload installs - Commit stable debug keystore for consistent signatures across builds Co-authored-by: KaKi87 <KaKi87@pm.me> * Add committed debug keystore for consistent APK signatures Co-authored-by: KaKi87 <KaKi87@pm.me> * Fix startup crash: use original classes2.dex desugar libraries Apktool recompiles smali_classes2 into a broken classes2.dex, causing ClassNotFoundException for j$.com.android.tools.r8.a at ML Kit init. Inject the original classes2.dex (Java 8+ desugar libs) after apktool build instead of using the recompiled version. Co-authored-by: KaKi87 <KaKi87@pm.me> * Fix missing drawable resources from density split APKs The base APK is an app bundle module; density-specific drawables like seek_thumb_nor_b live in config.xhdpi.apk and were missing after rebuild, causing Resources$NotFoundException at runtime. - Merge non-9-patch resources from split APKs before apktool build - Sync public.xml IDs from R smali only when backing files exist - Add 713 density-specific resource IDs to public.xml Co-authored-by: KaKi87 <KaKi87@pm.me> --------- Co-authored-by: Cursor Agent <cursoragent@cursor.com>
103 lines
3.2 KiB
Java
103 lines
3.2 KiB
Java
package com.google.android.gms.internal.ads;
|
|
|
|
import com.google.android.gms.ads.RequestConfiguration;
|
|
import java.lang.reflect.Method;
|
|
import java.util.Arrays;
|
|
import java.util.Map;
|
|
|
|
/* loaded from: classes.dex */
|
|
final class zzgga extends zzgfz {
|
|
public final Map f;
|
|
public final zzgba g;
|
|
|
|
public zzgga(zzavs zzavsVar, zzgev zzgevVar, zzgba zzgbaVar, Map map, zzgnc zzgncVar) {
|
|
super("PL1+PnLeilPUwoW2fO9HYIrx4Gg09J/+FJQHQ2Jxmj5/l/Syl1OYiCh2G/imF0wq", "lSzEOSnnLGs69ZQnPGdq+hn/fw2CPePS7EJBVgPn7n4=", zzavsVar, zzgevVar, zzgncVar.a(122));
|
|
this.f = map;
|
|
this.g = zzgbaVar;
|
|
}
|
|
|
|
@Override // com.google.android.gms.internal.ads.zzgfz
|
|
public final void a(Method method, zzavs zzavsVar) {
|
|
Long[] lArr = new Long[9];
|
|
Arrays.fill((Object[]) lArr, (Object) (-1L));
|
|
Map map = this.f;
|
|
Long l = (Long) map.get("tcq");
|
|
if (l == null) {
|
|
l = -1L;
|
|
}
|
|
lArr[0] = l;
|
|
Long l2 = (Long) map.get("tpq");
|
|
if (l2 == null) {
|
|
l2 = -1L;
|
|
}
|
|
lArr[1] = l2;
|
|
Long l3 = (Long) map.get("tcv");
|
|
if (l3 == null) {
|
|
l3 = -1L;
|
|
}
|
|
lArr[2] = l3;
|
|
Long l4 = (Long) map.get("tpv");
|
|
if (l4 == null) {
|
|
l4 = -1L;
|
|
}
|
|
lArr[3] = l4;
|
|
Long l5 = (Long) map.get("tchv");
|
|
if (l5 == null) {
|
|
l5 = -1L;
|
|
}
|
|
lArr[4] = l5;
|
|
Long l6 = (Long) map.get("tphv");
|
|
if (l6 == null) {
|
|
l6 = -1L;
|
|
}
|
|
lArr[5] = l6;
|
|
Long l7 = (Long) map.get("tcc");
|
|
if (l7 == null) {
|
|
l7 = -1L;
|
|
}
|
|
lArr[6] = l7;
|
|
Long l8 = (Long) map.get("tpc");
|
|
if (l8 == null) {
|
|
l8 = -1L;
|
|
}
|
|
lArr[7] = l8;
|
|
Long l9 = (Long) map.get("tst");
|
|
if (l9 == null) {
|
|
l9 = -1L;
|
|
}
|
|
lArr[8] = l9;
|
|
for (int i = 0; i < 9; i++) {
|
|
if (lArr[i] == null) {
|
|
lArr[i] = -1L;
|
|
}
|
|
}
|
|
Long[] lArr2 = (Long[]) method.invoke(RequestConfiguration.MAX_AD_CONTENT_RATING_UNSPECIFIED, lArr, Integer.valueOf(this.g.ordinal()));
|
|
lArr2.getClass();
|
|
synchronized (zzavsVar) {
|
|
long longValue = lArr2[0].longValue();
|
|
zzavsVar.k();
|
|
((zzawp) zzavsVar.f).q0(longValue);
|
|
long longValue2 = lArr2[1].longValue();
|
|
zzavsVar.k();
|
|
((zzawp) zzavsVar.f).G(longValue2);
|
|
long longValue3 = lArr2[2].longValue();
|
|
zzavsVar.k();
|
|
((zzawp) zzavsVar.f).U0(longValue3);
|
|
long longValue4 = lArr2[3].longValue();
|
|
zzavsVar.k();
|
|
((zzawp) zzavsVar.f).R0(longValue4);
|
|
long longValue5 = lArr2[4].longValue();
|
|
zzavsVar.k();
|
|
((zzawp) zzavsVar.f).m0(longValue5);
|
|
long longValue6 = lArr2[5].longValue();
|
|
zzavsVar.k();
|
|
((zzawp) zzavsVar.f).n0(longValue6);
|
|
long longValue7 = lArr2[6].longValue();
|
|
zzavsVar.k();
|
|
((zzawp) zzavsVar.f).T(longValue7);
|
|
long longValue8 = lArr2[7].longValue();
|
|
zzavsVar.k();
|
|
((zzawp) zzavsVar.f).U(longValue8);
|
|
}
|
|
}
|
|
}
|