soul-browser/sources/java/kotlin
KaKi87 550ddb0413
Decompile and recreate Soul Browser v1.4.85 with APK CI builds (#1)
* 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>
2026-08-10 16:07:14 +02:00
..
annotation Decompile and recreate Soul Browser v1.4.85 with APK CI builds (#1) 2026-08-10 16:07:14 +02:00
collections Decompile and recreate Soul Browser v1.4.85 with APK CI builds (#1) 2026-08-10 16:07:14 +02:00
comparisons Decompile and recreate Soul Browser v1.4.85 with APK CI builds (#1) 2026-08-10 16:07:14 +02:00
concurrent Decompile and recreate Soul Browser v1.4.85 with APK CI builds (#1) 2026-08-10 16:07:14 +02:00
contracts Decompile and recreate Soul Browser v1.4.85 with APK CI builds (#1) 2026-08-10 16:07:14 +02:00
coroutines Decompile and recreate Soul Browser v1.4.85 with APK CI builds (#1) 2026-08-10 16:07:14 +02:00
enums Decompile and recreate Soul Browser v1.4.85 with APK CI builds (#1) 2026-08-10 16:07:14 +02:00
experimental Decompile and recreate Soul Browser v1.4.85 with APK CI builds (#1) 2026-08-10 16:07:14 +02:00
internal Decompile and recreate Soul Browser v1.4.85 with APK CI builds (#1) 2026-08-10 16:07:14 +02:00
io Decompile and recreate Soul Browser v1.4.85 with APK CI builds (#1) 2026-08-10 16:07:14 +02:00
jdk7 Decompile and recreate Soul Browser v1.4.85 with APK CI builds (#1) 2026-08-10 16:07:14 +02:00
js Decompile and recreate Soul Browser v1.4.85 with APK CI builds (#1) 2026-08-10 16:07:14 +02:00
jvm Decompile and recreate Soul Browser v1.4.85 with APK CI builds (#1) 2026-08-10 16:07:14 +02:00
math Decompile and recreate Soul Browser v1.4.85 with APK CI builds (#1) 2026-08-10 16:07:14 +02:00
properties Decompile and recreate Soul Browser v1.4.85 with APK CI builds (#1) 2026-08-10 16:07:14 +02:00
random Decompile and recreate Soul Browser v1.4.85 with APK CI builds (#1) 2026-08-10 16:07:14 +02:00
ranges Decompile and recreate Soul Browser v1.4.85 with APK CI builds (#1) 2026-08-10 16:07:14 +02:00
reflect Decompile and recreate Soul Browser v1.4.85 with APK CI builds (#1) 2026-08-10 16:07:14 +02:00
sequences Decompile and recreate Soul Browser v1.4.85 with APK CI builds (#1) 2026-08-10 16:07:14 +02:00
streams/jdk8 Decompile and recreate Soul Browser v1.4.85 with APK CI builds (#1) 2026-08-10 16:07:14 +02:00
system Decompile and recreate Soul Browser v1.4.85 with APK CI builds (#1) 2026-08-10 16:07:14 +02:00
text Decompile and recreate Soul Browser v1.4.85 with APK CI builds (#1) 2026-08-10 16:07:14 +02:00
time Decompile and recreate Soul Browser v1.4.85 with APK CI builds (#1) 2026-08-10 16:07:14 +02:00
uuid Decompile and recreate Soul Browser v1.4.85 with APK CI builds (#1) 2026-08-10 16:07:14 +02:00
_Assertions.java Decompile and recreate Soul Browser v1.4.85 with APK CI builds (#1) 2026-08-10 16:07:14 +02:00
ArrayIntrinsicsKt.java Decompile and recreate Soul Browser v1.4.85 with APK CI builds (#1) 2026-08-10 16:07:14 +02:00
BuilderInference.java Decompile and recreate Soul Browser v1.4.85 with APK CI builds (#1) 2026-08-10 16:07:14 +02:00
CharCodeJVMKt.java Decompile and recreate Soul Browser v1.4.85 with APK CI builds (#1) 2026-08-10 16:07:14 +02:00
CharCodeKt.java Decompile and recreate Soul Browser v1.4.85 with APK CI builds (#1) 2026-08-10 16:07:14 +02:00
CompareToKt.java Decompile and recreate Soul Browser v1.4.85 with APK CI builds (#1) 2026-08-10 16:07:14 +02:00
ConsistentCopyVisibility.java Decompile and recreate Soul Browser v1.4.85 with APK CI builds (#1) 2026-08-10 16:07:14 +02:00
ContextFunctionTypeParams.java Decompile and recreate Soul Browser v1.4.85 with APK CI builds (#1) 2026-08-10 16:07:14 +02:00
ContextParametersKt.java Decompile and recreate Soul Browser v1.4.85 with APK CI builds (#1) 2026-08-10 16:07:14 +02:00
ContextParametersKt__ContextKt.java Decompile and recreate Soul Browser v1.4.85 with APK CI builds (#1) 2026-08-10 16:07:14 +02:00
ContextParametersKt__ContextOfKt.java Decompile and recreate Soul Browser v1.4.85 with APK CI builds (#1) 2026-08-10 16:07:14 +02:00
DeepRecursiveFunction.java Decompile and recreate Soul Browser v1.4.85 with APK CI builds (#1) 2026-08-10 16:07:14 +02:00
DeepRecursiveKt.java Decompile and recreate Soul Browser v1.4.85 with APK CI builds (#1) 2026-08-10 16:07:14 +02:00
DeepRecursiveScope.java Decompile and recreate Soul Browser v1.4.85 with APK CI builds (#1) 2026-08-10 16:07:14 +02:00
DeepRecursiveScopeImpl.java Decompile and recreate Soul Browser v1.4.85 with APK CI builds (#1) 2026-08-10 16:07:14 +02:00
Deprecated.java Decompile and recreate Soul Browser v1.4.85 with APK CI builds (#1) 2026-08-10 16:07:14 +02:00
DeprecatedSinceKotlin.java Decompile and recreate Soul Browser v1.4.85 with APK CI builds (#1) 2026-08-10 16:07:14 +02:00
DeprecationLevel.java Decompile and recreate Soul Browser v1.4.85 with APK CI builds (#1) 2026-08-10 16:07:14 +02:00
DslMarker.java Decompile and recreate Soul Browser v1.4.85 with APK CI builds (#1) 2026-08-10 16:07:14 +02:00
ExceptionsKt.java Decompile and recreate Soul Browser v1.4.85 with APK CI builds (#1) 2026-08-10 16:07:14 +02:00
ExceptionsKt__ExceptionsKt.java Decompile and recreate Soul Browser v1.4.85 with APK CI builds (#1) 2026-08-10 16:07:14 +02:00
ExperimentalContextParameters.java Decompile and recreate Soul Browser v1.4.85 with APK CI builds (#1) 2026-08-10 16:07:14 +02:00
ExperimentalMultiplatform.java Decompile and recreate Soul Browser v1.4.85 with APK CI builds (#1) 2026-08-10 16:07:14 +02:00
ExperimentalStdlibApi.java Decompile and recreate Soul Browser v1.4.85 with APK CI builds (#1) 2026-08-10 16:07:14 +02:00
ExperimentalSubclassOptIn.java Decompile and recreate Soul Browser v1.4.85 with APK CI builds (#1) 2026-08-10 16:07:14 +02:00
ExperimentalUnsignedTypes.java Decompile and recreate Soul Browser v1.4.85 with APK CI builds (#1) 2026-08-10 16:07:14 +02:00
ExposedCopyVisibility.java Decompile and recreate Soul Browser v1.4.85 with APK CI builds (#1) 2026-08-10 16:07:14 +02:00
ExtensionFunctionType.java Decompile and recreate Soul Browser v1.4.85 with APK CI builds (#1) 2026-08-10 16:07:14 +02:00
Function.java Decompile and recreate Soul Browser v1.4.85 with APK CI builds (#1) 2026-08-10 16:07:14 +02:00
HashCodeKt.java Decompile and recreate Soul Browser v1.4.85 with APK CI builds (#1) 2026-08-10 16:07:14 +02:00
IgnorableReturnValue.java Decompile and recreate Soul Browser v1.4.85 with APK CI builds (#1) 2026-08-10 16:07:14 +02:00
InitializedLazyImpl.java Decompile and recreate Soul Browser v1.4.85 with APK CI builds (#1) 2026-08-10 16:07:14 +02:00
KotlinNothingValueException.java Decompile and recreate Soul Browser v1.4.85 with APK CI builds (#1) 2026-08-10 16:07:14 +02:00
KotlinNullPointerException.java Decompile and recreate Soul Browser v1.4.85 with APK CI builds (#1) 2026-08-10 16:07:14 +02:00
KotlinVersion.java Decompile and recreate Soul Browser v1.4.85 with APK CI builds (#1) 2026-08-10 16:07:14 +02:00
KotlinVersionCurrentValue.java Decompile and recreate Soul Browser v1.4.85 with APK CI builds (#1) 2026-08-10 16:07:14 +02:00
LateinitKt.java Decompile and recreate Soul Browser v1.4.85 with APK CI builds (#1) 2026-08-10 16:07:14 +02:00
Lazy.java Decompile and recreate Soul Browser v1.4.85 with APK CI builds (#1) 2026-08-10 16:07:14 +02:00
LazyKt.java Decompile and recreate Soul Browser v1.4.85 with APK CI builds (#1) 2026-08-10 16:07:14 +02:00
LazyKt__LazyJVMKt.java Decompile and recreate Soul Browser v1.4.85 with APK CI builds (#1) 2026-08-10 16:07:14 +02:00
LazyKt__LazyKt.java Decompile and recreate Soul Browser v1.4.85 with APK CI builds (#1) 2026-08-10 16:07:14 +02:00
LazyThreadSafetyMode.java Decompile and recreate Soul Browser v1.4.85 with APK CI builds (#1) 2026-08-10 16:07:14 +02:00
Metadata.java Decompile and recreate Soul Browser v1.4.85 with APK CI builds (#1) 2026-08-10 16:07:14 +02:00
MustUseReturnValue.java Decompile and recreate Soul Browser v1.4.85 with APK CI builds (#1) 2026-08-10 16:07:14 +02:00
NotImplementedError.java Decompile and recreate Soul Browser v1.4.85 with APK CI builds (#1) 2026-08-10 16:07:14 +02:00
NoWhenBranchMatchedException.java Decompile and recreate Soul Browser v1.4.85 with APK CI builds (#1) 2026-08-10 16:07:14 +02:00
NumbersKt.java Decompile and recreate Soul Browser v1.4.85 with APK CI builds (#1) 2026-08-10 16:07:14 +02:00
NumbersKt__BigDecimalsKt.java Decompile and recreate Soul Browser v1.4.85 with APK CI builds (#1) 2026-08-10 16:07:14 +02:00
NumbersKt__BigIntegersKt.java Decompile and recreate Soul Browser v1.4.85 with APK CI builds (#1) 2026-08-10 16:07:14 +02:00
NumbersKt__FloorDivModKt.java Decompile and recreate Soul Browser v1.4.85 with APK CI builds (#1) 2026-08-10 16:07:14 +02:00
NumbersKt__NumbersJVMKt.java Decompile and recreate Soul Browser v1.4.85 with APK CI builds (#1) 2026-08-10 16:07:14 +02:00
NumbersKt__NumbersKt.java Decompile and recreate Soul Browser v1.4.85 with APK CI builds (#1) 2026-08-10 16:07:14 +02:00
OptIn.java Decompile and recreate Soul Browser v1.4.85 with APK CI builds (#1) 2026-08-10 16:07:14 +02:00
OptionalExpectation.java Decompile and recreate Soul Browser v1.4.85 with APK CI builds (#1) 2026-08-10 16:07:14 +02:00
OverloadResolutionByLambdaReturnType.java Decompile and recreate Soul Browser v1.4.85 with APK CI builds (#1) 2026-08-10 16:07:14 +02:00
Pair.java Decompile and recreate Soul Browser v1.4.85 with APK CI builds (#1) 2026-08-10 16:07:14 +02:00
ParameterName.java Decompile and recreate Soul Browser v1.4.85 with APK CI builds (#1) 2026-08-10 16:07:14 +02:00
PreconditionsKt.java Decompile and recreate Soul Browser v1.4.85 with APK CI builds (#1) 2026-08-10 16:07:14 +02:00
PreconditionsKt__AssertionsJVMKt.java Decompile and recreate Soul Browser v1.4.85 with APK CI builds (#1) 2026-08-10 16:07:14 +02:00
PreconditionsKt__PreconditionsKt.java Decompile and recreate Soul Browser v1.4.85 with APK CI builds (#1) 2026-08-10 16:07:14 +02:00
PropertyReferenceDelegatesKt.java Decompile and recreate Soul Browser v1.4.85 with APK CI builds (#1) 2026-08-10 16:07:14 +02:00
PublishedApi.java Decompile and recreate Soul Browser v1.4.85 with APK CI builds (#1) 2026-08-10 16:07:14 +02:00
ReplaceWith.java Decompile and recreate Soul Browser v1.4.85 with APK CI builds (#1) 2026-08-10 16:07:14 +02:00
RequiresOptIn.java Decompile and recreate Soul Browser v1.4.85 with APK CI builds (#1) 2026-08-10 16:07:14 +02:00
Result.java Decompile and recreate Soul Browser v1.4.85 with APK CI builds (#1) 2026-08-10 16:07:14 +02:00
ResultKt.java Decompile and recreate Soul Browser v1.4.85 with APK CI builds (#1) 2026-08-10 16:07:14 +02:00
SafePublicationLazyImpl.java Decompile and recreate Soul Browser v1.4.85 with APK CI builds (#1) 2026-08-10 16:07:14 +02:00
SinceKotlin.java Decompile and recreate Soul Browser v1.4.85 with APK CI builds (#1) 2026-08-10 16:07:14 +02:00
StandardKt.java Decompile and recreate Soul Browser v1.4.85 with APK CI builds (#1) 2026-08-10 16:07:14 +02:00
StandardKt__StandardKt.java Decompile and recreate Soul Browser v1.4.85 with APK CI builds (#1) 2026-08-10 16:07:14 +02:00
StandardKt__SynchronizedKt.java Decompile and recreate Soul Browser v1.4.85 with APK CI builds (#1) 2026-08-10 16:07:14 +02:00
SubclassOptInRequired.java Decompile and recreate Soul Browser v1.4.85 with APK CI builds (#1) 2026-08-10 16:07:14 +02:00
Suppress.java Decompile and recreate Soul Browser v1.4.85 with APK CI builds (#1) 2026-08-10 16:07:14 +02:00
SuspendKt.java Decompile and recreate Soul Browser v1.4.85 with APK CI builds (#1) 2026-08-10 16:07:14 +02:00
SynchronizedLazyImpl.java Decompile and recreate Soul Browser v1.4.85 with APK CI builds (#1) 2026-08-10 16:07:14 +02:00
ThrowsKt.java Decompile and recreate Soul Browser v1.4.85 with APK CI builds (#1) 2026-08-10 16:07:14 +02:00
Triple.java Decompile and recreate Soul Browser v1.4.85 with APK CI builds (#1) 2026-08-10 16:07:14 +02:00
TuplesKt.java Decompile and recreate Soul Browser v1.4.85 with APK CI builds (#1) 2026-08-10 16:07:14 +02:00
TypeAliasesKt.java Decompile and recreate Soul Browser v1.4.85 with APK CI builds (#1) 2026-08-10 16:07:14 +02:00
TypeCastException.java Decompile and recreate Soul Browser v1.4.85 with APK CI builds (#1) 2026-08-10 16:07:14 +02:00
UByte.java Decompile and recreate Soul Browser v1.4.85 with APK CI builds (#1) 2026-08-10 16:07:14 +02:00
UByteArray.java Decompile and recreate Soul Browser v1.4.85 with APK CI builds (#1) 2026-08-10 16:07:14 +02:00
UByteArrayKt.java Decompile and recreate Soul Browser v1.4.85 with APK CI builds (#1) 2026-08-10 16:07:14 +02:00
UByteKt.java Decompile and recreate Soul Browser v1.4.85 with APK CI builds (#1) 2026-08-10 16:07:14 +02:00
UInt.java Decompile and recreate Soul Browser v1.4.85 with APK CI builds (#1) 2026-08-10 16:07:14 +02:00
UIntArray.java Decompile and recreate Soul Browser v1.4.85 with APK CI builds (#1) 2026-08-10 16:07:14 +02:00
UIntArrayKt.java Decompile and recreate Soul Browser v1.4.85 with APK CI builds (#1) 2026-08-10 16:07:14 +02:00
UIntKt.java Decompile and recreate Soul Browser v1.4.85 with APK CI builds (#1) 2026-08-10 16:07:14 +02:00
ULong.java Decompile and recreate Soul Browser v1.4.85 with APK CI builds (#1) 2026-08-10 16:07:14 +02:00
ULongArray.java Decompile and recreate Soul Browser v1.4.85 with APK CI builds (#1) 2026-08-10 16:07:14 +02:00
ULongArrayKt.java Decompile and recreate Soul Browser v1.4.85 with APK CI builds (#1) 2026-08-10 16:07:14 +02:00
ULongKt.java Decompile and recreate Soul Browser v1.4.85 with APK CI builds (#1) 2026-08-10 16:07:14 +02:00
UNINITIALIZED_VALUE.java Decompile and recreate Soul Browser v1.4.85 with APK CI builds (#1) 2026-08-10 16:07:14 +02:00
UninitializedPropertyAccessException.java Decompile and recreate Soul Browser v1.4.85 with APK CI builds (#1) 2026-08-10 16:07:14 +02:00
Unit.java Decompile and recreate Soul Browser v1.4.85 with APK CI builds (#1) 2026-08-10 16:07:14 +02:00
UnsafeLazyImpl.java Decompile and recreate Soul Browser v1.4.85 with APK CI builds (#1) 2026-08-10 16:07:14 +02:00
UnsafeVariance.java Decompile and recreate Soul Browser v1.4.85 with APK CI builds (#1) 2026-08-10 16:07:14 +02:00
UnsignedKt.java Decompile and recreate Soul Browser v1.4.85 with APK CI builds (#1) 2026-08-10 16:07:14 +02:00
UNumbersKt.java Decompile and recreate Soul Browser v1.4.85 with APK CI builds (#1) 2026-08-10 16:07:14 +02:00
UShort.java Decompile and recreate Soul Browser v1.4.85 with APK CI builds (#1) 2026-08-10 16:07:14 +02:00
UShortArray.java Decompile and recreate Soul Browser v1.4.85 with APK CI builds (#1) 2026-08-10 16:07:14 +02:00
UShortArrayKt.java Decompile and recreate Soul Browser v1.4.85 with APK CI builds (#1) 2026-08-10 16:07:14 +02:00
UShortKt.java Decompile and recreate Soul Browser v1.4.85 with APK CI builds (#1) 2026-08-10 16:07:14 +02:00
WasExperimental.java Decompile and recreate Soul Browser v1.4.85 with APK CI builds (#1) 2026-08-10 16:07:14 +02:00