* 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>
193 lines
18 KiB
XML
193 lines
18 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<resources>
|
|
<style name="Base.TextAppearance.AppCompat.Widget.Button.Borderless.Colored" parent="@android:style/TextAppearance.Material.Widget.Button.Borderless.Colored" />
|
|
<style name="Base.TextAppearance.AppCompat.Widget.Button.Colored" parent="@android:style/TextAppearance.Material.Widget.Button.Colored" />
|
|
<style name="Base.V14.Theme.MaterialComponents" parent="@style/Base.V14.Theme.MaterialComponents.Bridge">
|
|
<item name="android:colorBackground">@color/design_dark_default_color_background</item>
|
|
<item name="android:buttonBarButtonStyle">?buttonBarButtonStyle</item>
|
|
<item name="android:timePickerDialogTheme">@style/ThemeOverlay.MaterialComponents.Dialog</item>
|
|
<item name="android:datePickerDialogTheme">@style/ThemeOverlay.MaterialComponents.Dialog</item>
|
|
<item name="android:contextPopupMenuStyle">@style/Widget.MaterialComponents.PopupMenu.ContextMenu</item>
|
|
<item name="actionBarPopupTheme">@style/ThemeOverlay.MaterialComponents.Dark</item>
|
|
<item name="actionBarSize">@dimen/mtrl_toolbar_default_height</item>
|
|
<item name="actionBarStyle">@style/Widget.MaterialComponents.ActionBar.Surface</item>
|
|
<item name="actionBarTheme">@style/ThemeOverlay.MaterialComponents.ActionBar.Surface</item>
|
|
<item name="actionModeStyle">@style/Widget.MaterialComponents.ActionMode</item>
|
|
<item name="actionOverflowMenuStyle">@style/Widget.MaterialComponents.PopupMenu.Overflow</item>
|
|
<item name="alertDialogTheme">@style/ThemeOverlay.MaterialComponents.Dialog.Alert</item>
|
|
<item name="appBarLayoutStyle">@style/Widget.MaterialComponents.AppBarLayout.Surface</item>
|
|
<item name="borderlessButtonStyle">@style/Widget.MaterialComponents.Button.TextButton</item>
|
|
<item name="bottomNavigationStyle">@style/Widget.MaterialComponents.BottomNavigationView</item>
|
|
<item name="bottomSheetDialogTheme">@style/ThemeOverlay.MaterialComponents.BottomSheetDialog</item>
|
|
<item name="buttonBarButtonStyle">@style/Widget.MaterialComponents.Button.TextButton</item>
|
|
<item name="checkboxStyle">@style/Widget.MaterialComponents.CompoundButton.CheckBox</item>
|
|
<item name="colorAccent">?colorSecondary</item>
|
|
<item name="colorError">@color/design_dark_default_color_error</item>
|
|
<item name="colorPrimary">@color/design_dark_default_color_primary</item>
|
|
<item name="colorPrimaryDark">@color/design_dark_default_color_primary_dark</item>
|
|
<item name="floatingActionButtonStyle">@style/Widget.MaterialComponents.FloatingActionButton</item>
|
|
<item name="listPopupWindowStyle">@style/Widget.MaterialComponents.PopupMenu.ListPopupWindow</item>
|
|
<item name="materialAlertDialogTheme">@style/ThemeOverlay.MaterialComponents.MaterialAlertDialog</item>
|
|
<item name="materialCalendarFullscreenTheme">@style/ThemeOverlay.MaterialComponents.MaterialCalendar.Fullscreen</item>
|
|
<item name="materialCalendarStyle">@style/Widget.MaterialComponents.MaterialCalendar</item>
|
|
<item name="materialCalendarTheme">@style/ThemeOverlay.MaterialComponents.MaterialCalendar</item>
|
|
<item name="materialTimePickerTheme">@style/ThemeOverlay.MaterialComponents.TimePicker</item>
|
|
<item name="navigationViewStyle">@style/Widget.MaterialComponents.NavigationView</item>
|
|
<item name="popupMenuStyle">@style/Widget.MaterialComponents.PopupMenu</item>
|
|
<item name="radioButtonStyle">@style/Widget.MaterialComponents.CompoundButton.RadioButton</item>
|
|
<item name="snackbarButtonStyle">@style/Widget.MaterialComponents.Button.TextButton.Snackbar</item>
|
|
<item name="snackbarStyle">@style/Widget.MaterialComponents.Snackbar</item>
|
|
<item name="snackbarTextViewStyle">@style/Widget.MaterialComponents.Snackbar.TextView</item>
|
|
<item name="switchStyle">@style/Widget.MaterialComponents.CompoundButton.Switch</item>
|
|
<item name="tabStyle">@style/Widget.MaterialComponents.TabLayout</item>
|
|
<item name="textAppearanceLargePopupMenu">?textAppearanceSubtitle1</item>
|
|
<item name="textAppearanceSmallPopupMenu">?textAppearanceSubtitle1</item>
|
|
<item name="textInputFilledDenseStyle">@style/Widget.MaterialComponents.TextInputLayout.FilledBox.Dense</item>
|
|
<item name="textInputFilledExposedDropdownMenuStyle">@style/Widget.MaterialComponents.TextInputLayout.FilledBox.ExposedDropdownMenu</item>
|
|
<item name="textInputFilledStyle">@style/Widget.MaterialComponents.TextInputLayout.FilledBox</item>
|
|
<item name="textInputOutlinedDenseStyle">@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox.Dense</item>
|
|
<item name="textInputOutlinedExposedDropdownMenuStyle">@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox.ExposedDropdownMenu</item>
|
|
<item name="textInputOutlinedStyle">@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox</item>
|
|
<item name="textInputStyle">@style/Widget.MaterialComponents.TextInputLayout.FilledBox</item>
|
|
<item name="toolbarStyle">@style/Widget.MaterialComponents.Toolbar</item>
|
|
<item name="viewInflaterClass">com.google.android.material.theme.MaterialComponentsViewInflater</item>
|
|
</style>
|
|
<style name="Base.V14.Theme.MaterialComponents.Dialog" parent="@style/Base.V14.Theme.MaterialComponents.Dialog.Bridge">
|
|
<item name="android:colorBackground">@color/design_dark_default_color_background</item>
|
|
<item name="android:contextPopupMenuStyle">@style/Widget.MaterialComponents.PopupMenu.ContextMenu</item>
|
|
<item name="actionBarPopupTheme">@style/ThemeOverlay.MaterialComponents.Dark</item>
|
|
<item name="actionBarSize">@dimen/mtrl_toolbar_default_height</item>
|
|
<item name="actionBarStyle">@style/Widget.MaterialComponents.ActionBar.Surface</item>
|
|
<item name="actionBarTheme">@style/ThemeOverlay.MaterialComponents.ActionBar.Surface</item>
|
|
<item name="actionModeStyle">@style/Widget.MaterialComponents.ActionMode</item>
|
|
<item name="actionOverflowMenuStyle">@style/Widget.MaterialComponents.PopupMenu.Overflow</item>
|
|
<item name="alertDialogTheme">@style/ThemeOverlay.MaterialComponents.Dialog.Alert</item>
|
|
<item name="appBarLayoutStyle">@style/Widget.MaterialComponents.AppBarLayout.Surface</item>
|
|
<item name="borderlessButtonStyle">@style/Widget.MaterialComponents.Button.TextButton</item>
|
|
<item name="bottomNavigationStyle">@style/Widget.MaterialComponents.BottomNavigationView</item>
|
|
<item name="buttonBarButtonStyle">@style/Widget.MaterialComponents.Button.TextButton.Dialog.Flush</item>
|
|
<item name="checkboxStyle">@style/Widget.MaterialComponents.CompoundButton.CheckBox</item>
|
|
<item name="colorAccent">?colorSecondary</item>
|
|
<item name="colorError">@color/design_dark_default_color_error</item>
|
|
<item name="colorPrimary">@color/design_dark_default_color_primary</item>
|
|
<item name="colorPrimaryDark">@color/design_dark_default_color_primary_dark</item>
|
|
<item name="colorSecondary">@color/design_dark_default_color_secondary</item>
|
|
<item name="floatingActionButtonStyle">@style/Widget.MaterialComponents.FloatingActionButton</item>
|
|
<item name="listPopupWindowStyle">@style/Widget.MaterialComponents.PopupMenu.ListPopupWindow</item>
|
|
<item name="materialAlertDialogTheme">@style/ThemeOverlay.MaterialComponents.MaterialAlertDialog</item>
|
|
<item name="navigationViewStyle">@style/Widget.MaterialComponents.NavigationView</item>
|
|
<item name="popupMenuStyle">@style/Widget.MaterialComponents.PopupMenu</item>
|
|
<item name="radioButtonStyle">@style/Widget.MaterialComponents.CompoundButton.RadioButton</item>
|
|
<item name="snackbarButtonStyle">@style/Widget.MaterialComponents.Button.TextButton.Snackbar</item>
|
|
<item name="snackbarStyle">@style/Widget.MaterialComponents.Snackbar</item>
|
|
<item name="snackbarTextViewStyle">@style/Widget.MaterialComponents.Snackbar.TextView</item>
|
|
<item name="switchStyle">@style/Widget.MaterialComponents.CompoundButton.Switch</item>
|
|
<item name="tabStyle">@style/Widget.MaterialComponents.TabLayout</item>
|
|
<item name="textAppearanceLargePopupMenu">?textAppearanceSubtitle1</item>
|
|
<item name="textAppearanceSmallPopupMenu">?textAppearanceSubtitle1</item>
|
|
<item name="textInputFilledDenseStyle">@style/Widget.MaterialComponents.TextInputLayout.FilledBox.Dense</item>
|
|
<item name="textInputFilledExposedDropdownMenuStyle">@style/Widget.MaterialComponents.TextInputLayout.FilledBox.ExposedDropdownMenu</item>
|
|
<item name="textInputFilledStyle">@style/Widget.MaterialComponents.TextInputLayout.FilledBox</item>
|
|
<item name="textInputOutlinedDenseStyle">@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox.Dense</item>
|
|
<item name="textInputOutlinedExposedDropdownMenuStyle">@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox.ExposedDropdownMenu</item>
|
|
<item name="textInputOutlinedStyle">@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox</item>
|
|
<item name="textInputStyle">@style/Widget.MaterialComponents.TextInputLayout.FilledBox</item>
|
|
<item name="toolbarStyle">@style/Widget.MaterialComponents.Toolbar</item>
|
|
<item name="viewInflaterClass">com.google.android.material.theme.MaterialComponentsViewInflater</item>
|
|
</style>
|
|
<style name="Base.V14.Theme.MaterialComponents.Light" parent="@style/Base.V14.Theme.MaterialComponents.Light.Bridge">
|
|
<item name="android:colorBackground">@color/design_default_color_background</item>
|
|
<item name="android:buttonBarButtonStyle">?buttonBarButtonStyle</item>
|
|
<item name="android:timePickerDialogTheme">@style/ThemeOverlay.MaterialComponents.Dialog</item>
|
|
<item name="android:datePickerDialogTheme">@style/ThemeOverlay.MaterialComponents.Dialog</item>
|
|
<item name="android:contextPopupMenuStyle">@style/Widget.MaterialComponents.PopupMenu.ContextMenu</item>
|
|
<item name="actionBarPopupTheme">@style/ThemeOverlay.MaterialComponents.Light</item>
|
|
<item name="actionBarSize">@dimen/mtrl_toolbar_default_height</item>
|
|
<item name="actionBarStyle">@style/Widget.MaterialComponents.Light.ActionBar.Solid</item>
|
|
<item name="actionModeStyle">@style/Widget.MaterialComponents.ActionMode</item>
|
|
<item name="actionOverflowMenuStyle">@style/Widget.MaterialComponents.PopupMenu.Overflow</item>
|
|
<item name="alertDialogTheme">@style/ThemeOverlay.MaterialComponents.Dialog.Alert</item>
|
|
<item name="appBarLayoutStyle">@style/Widget.MaterialComponents.AppBarLayout.Primary</item>
|
|
<item name="borderlessButtonStyle">@style/Widget.MaterialComponents.Button.TextButton</item>
|
|
<item name="bottomNavigationStyle">@style/Widget.MaterialComponents.BottomNavigationView</item>
|
|
<item name="bottomSheetDialogTheme">@style/ThemeOverlay.MaterialComponents.BottomSheetDialog</item>
|
|
<item name="buttonBarButtonStyle">@style/Widget.MaterialComponents.Button.TextButton</item>
|
|
<item name="checkboxStyle">@style/Widget.MaterialComponents.CompoundButton.CheckBox</item>
|
|
<item name="colorAccent">?colorSecondary</item>
|
|
<item name="colorError">@color/design_default_color_error</item>
|
|
<item name="colorPrimary">@color/design_default_color_primary</item>
|
|
<item name="colorPrimaryDark">@color/design_default_color_primary_dark</item>
|
|
<item name="floatingActionButtonStyle">@style/Widget.MaterialComponents.FloatingActionButton</item>
|
|
<item name="listPopupWindowStyle">@style/Widget.MaterialComponents.PopupMenu.ListPopupWindow</item>
|
|
<item name="materialAlertDialogTheme">@style/ThemeOverlay.MaterialComponents.MaterialAlertDialog</item>
|
|
<item name="materialCalendarFullscreenTheme">@style/ThemeOverlay.MaterialComponents.MaterialCalendar.Fullscreen</item>
|
|
<item name="materialCalendarStyle">@style/Widget.MaterialComponents.MaterialCalendar</item>
|
|
<item name="materialCalendarTheme">@style/ThemeOverlay.MaterialComponents.MaterialCalendar</item>
|
|
<item name="materialTimePickerTheme">@style/ThemeOverlay.MaterialComponents.TimePicker</item>
|
|
<item name="navigationViewStyle">@style/Widget.MaterialComponents.NavigationView</item>
|
|
<item name="popupMenuStyle">@style/Widget.MaterialComponents.PopupMenu</item>
|
|
<item name="radioButtonStyle">@style/Widget.MaterialComponents.CompoundButton.RadioButton</item>
|
|
<item name="snackbarButtonStyle">@style/Widget.MaterialComponents.Button.TextButton.Snackbar</item>
|
|
<item name="snackbarStyle">@style/Widget.MaterialComponents.Snackbar</item>
|
|
<item name="snackbarTextViewStyle">@style/Widget.MaterialComponents.Snackbar.TextView</item>
|
|
<item name="switchStyle">@style/Widget.MaterialComponents.CompoundButton.Switch</item>
|
|
<item name="tabStyle">@style/Widget.MaterialComponents.TabLayout</item>
|
|
<item name="textAppearanceLargePopupMenu">?textAppearanceSubtitle1</item>
|
|
<item name="textAppearanceSmallPopupMenu">?textAppearanceSubtitle1</item>
|
|
<item name="textInputFilledDenseStyle">@style/Widget.MaterialComponents.TextInputLayout.FilledBox.Dense</item>
|
|
<item name="textInputFilledExposedDropdownMenuStyle">@style/Widget.MaterialComponents.TextInputLayout.FilledBox.ExposedDropdownMenu</item>
|
|
<item name="textInputFilledStyle">@style/Widget.MaterialComponents.TextInputLayout.FilledBox</item>
|
|
<item name="textInputOutlinedDenseStyle">@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox.Dense</item>
|
|
<item name="textInputOutlinedExposedDropdownMenuStyle">@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox.ExposedDropdownMenu</item>
|
|
<item name="textInputOutlinedStyle">@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox</item>
|
|
<item name="textInputStyle">@style/Widget.MaterialComponents.TextInputLayout.FilledBox</item>
|
|
<item name="toolbarStyle">@style/Widget.MaterialComponents.Toolbar</item>
|
|
<item name="viewInflaterClass">com.google.android.material.theme.MaterialComponentsViewInflater</item>
|
|
</style>
|
|
<style name="Base.V14.Theme.MaterialComponents.Light.Dialog" parent="@style/Base.V14.Theme.MaterialComponents.Light.Dialog.Bridge">
|
|
<item name="android:colorBackground">@color/design_default_color_background</item>
|
|
<item name="android:contextPopupMenuStyle">@style/Widget.MaterialComponents.PopupMenu.ContextMenu</item>
|
|
<item name="actionBarPopupTheme">@style/ThemeOverlay.MaterialComponents.Light</item>
|
|
<item name="actionBarSize">@dimen/mtrl_toolbar_default_height</item>
|
|
<item name="actionBarStyle">@style/Widget.MaterialComponents.Light.ActionBar.Solid</item>
|
|
<item name="actionModeStyle">@style/Widget.MaterialComponents.ActionMode</item>
|
|
<item name="actionOverflowMenuStyle">@style/Widget.MaterialComponents.PopupMenu.Overflow</item>
|
|
<item name="alertDialogTheme">@style/ThemeOverlay.MaterialComponents.Dialog.Alert</item>
|
|
<item name="appBarLayoutStyle">@style/Widget.MaterialComponents.AppBarLayout.Primary</item>
|
|
<item name="borderlessButtonStyle">@style/Widget.MaterialComponents.Button.TextButton</item>
|
|
<item name="bottomNavigationStyle">@style/Widget.MaterialComponents.BottomNavigationView</item>
|
|
<item name="buttonBarButtonStyle">@style/Widget.MaterialComponents.Button.TextButton.Dialog.Flush</item>
|
|
<item name="checkboxStyle">@style/Widget.MaterialComponents.CompoundButton.CheckBox</item>
|
|
<item name="colorAccent">?colorSecondary</item>
|
|
<item name="colorError">@color/design_default_color_error</item>
|
|
<item name="colorPrimary">@color/design_default_color_primary</item>
|
|
<item name="colorPrimaryDark">@color/design_default_color_primary_dark</item>
|
|
<item name="colorSecondary">@color/design_default_color_secondary</item>
|
|
<item name="floatingActionButtonStyle">@style/Widget.MaterialComponents.FloatingActionButton</item>
|
|
<item name="listPopupWindowStyle">@style/Widget.MaterialComponents.PopupMenu.ListPopupWindow</item>
|
|
<item name="materialAlertDialogTheme">@style/ThemeOverlay.MaterialComponents.MaterialAlertDialog</item>
|
|
<item name="navigationViewStyle">@style/Widget.MaterialComponents.NavigationView</item>
|
|
<item name="popupMenuStyle">@style/Widget.MaterialComponents.PopupMenu</item>
|
|
<item name="radioButtonStyle">@style/Widget.MaterialComponents.CompoundButton.RadioButton</item>
|
|
<item name="snackbarButtonStyle">@style/Widget.MaterialComponents.Button.TextButton.Snackbar</item>
|
|
<item name="snackbarStyle">@style/Widget.MaterialComponents.Snackbar</item>
|
|
<item name="snackbarTextViewStyle">@style/Widget.MaterialComponents.Snackbar.TextView</item>
|
|
<item name="switchStyle">@style/Widget.MaterialComponents.CompoundButton.Switch</item>
|
|
<item name="tabStyle">@style/Widget.MaterialComponents.TabLayout</item>
|
|
<item name="textAppearanceLargePopupMenu">?textAppearanceSubtitle1</item>
|
|
<item name="textAppearanceSmallPopupMenu">?textAppearanceSubtitle1</item>
|
|
<item name="textInputFilledDenseStyle">@style/Widget.MaterialComponents.TextInputLayout.FilledBox.Dense</item>
|
|
<item name="textInputFilledExposedDropdownMenuStyle">@style/Widget.MaterialComponents.TextInputLayout.FilledBox.ExposedDropdownMenu</item>
|
|
<item name="textInputFilledStyle">@style/Widget.MaterialComponents.TextInputLayout.FilledBox</item>
|
|
<item name="textInputOutlinedDenseStyle">@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox.Dense</item>
|
|
<item name="textInputOutlinedExposedDropdownMenuStyle">@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox.ExposedDropdownMenu</item>
|
|
<item name="textInputOutlinedStyle">@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox</item>
|
|
<item name="textInputStyle">@style/Widget.MaterialComponents.TextInputLayout.FilledBox</item>
|
|
<item name="toolbarStyle">@style/Widget.MaterialComponents.Toolbar</item>
|
|
<item name="viewInflaterClass">com.google.android.material.theme.MaterialComponentsViewInflater</item>
|
|
</style>
|
|
<style name="TextAppearance.Compat.Notification.Info.Media" parent="@style/TextAppearance.Compat.Notification.Info" />
|
|
<style name="TextAppearance.Compat.Notification.Media" parent="@style/TextAppearance.Compat.Notification" />
|
|
<style name="TextAppearance.Compat.Notification.Time.Media" parent="@style/TextAppearance.Compat.Notification.Time" />
|
|
<style name="TextAppearance.Compat.Notification.Title.Media" parent="@style/TextAppearance.Compat.Notification.Title" />
|
|
</resources>
|