Skip to content

feat: Add manual JKS parser for keystore import without BC provider dependency#494

Merged
MarcaDian merged 3 commits into
devfrom
fix-jks-import
Apr 28, 2026
Merged

feat: Add manual JKS parser for keystore import without BC provider dependency#494
MarcaDian merged 3 commits into
devfrom
fix-jks-import

Conversation

@MarcaDian

Copy link
Copy Markdown
Contributor

No description provided.

@MarcaDian MarcaDian merged commit ccc99a2 into dev Apr 28, 2026
1 check passed
@MarcaDian MarcaDian deleted the fix-jks-import branch April 28, 2026 14:57
github-actions Bot pushed a commit that referenced this pull request Apr 28, 2026
# [1.16.0-dev.14](v1.16.0-dev.13...v1.16.0-dev.14) (2026-04-28)

### Bug Fixes

* File picker and export for Android TV ([#491](#491)) ([7c1cfba](7c1cfba))

### Features

* Add manual `JKS` parser for keystore import without BC provider dependency ([#494](#494)) ([ccc99a2](ccc99a2))
github-actions Bot pushed a commit that referenced this pull request May 4, 2026
# [1.16.0](v1.15.0...v1.16.0) (2026-05-04)

### Bug Fixes

* "SessionBasedInstallConfirmationActivity was finished by user" install error on some devices ([3e74857](3e74857))
* `Session is dead` error on Pixels devices when installing apps ([#458](#458)) ([ce1ce6e](ce1ce6e))
* Adapt accent color contrast for extreme black/white values in app info dialog ([c4f883f](c4f883f))
* Add logging and fix stale installer cache ([78b5aee](78b5aee))
* Always respect manager prerelease preference for update channel ([090ee0c](090ee0c))
* Apply locale via context wrap on Android < 13 ([ce193ee](ce193ee))
* Check primary ABI only in `isArmV7` to avoid false positives on `ArmV8` devices ([14729c2](14729c2))
* Eliminate background flash on `InstalledAppInfo` → patch flow transition ([b246a4b](b246a4b))
* Fall back to `Downloads` export on devices without `DocumentsUI` (Android TV) ([1e21c39](1e21c39))
* File picker and export for Android TV ([#491](#491)) ([7c1cfba](7c1cfba))
* Handle `InstallFailure` result when installing manager update ([a4d1eb8](a4d1eb8))
* Hoist install state reads to prevent recomposition on install ([9b82048](9b82048))
* Merge 'Filter split APKs' and `Remove unused native libraries` into 'Optimize for device architecture' setting ([2edb15f](2edb15f))
* Patch bundles do not load on Android 8.0 devices ([3116619](3116619))
* Prevent `InstalledAppInfoViewModel` collision on dialog reopen ([15ae79a](15ae79a))
* Replace `Ackpine` with native `SessionInstaller` ([#508](#508)) ([cf0f4db](cf0f4db))
* Replace `isLoaded` flag with `BundleState` sealed class and simplify `homeAppState` ([72976d3](72976d3))
* Resolve app icon from saved APK when app is not installed ([fe3ef6c](fe3ef6c))
* Resolve display name from bundle metadata over patched APK label ([6c6e065](6c6e065))
* Scope `InstalledAppInfoViewModel` to dialog instance via dialog token ([0cf2f6a](0cf2f6a))
* Shizuku installer couldn't update an already installed app ([#454](#454)) ([d4e74e3](d4e74e3))
* Show reinstall button and installer dialog for deleted apps ([472d046](472d046))
* Show SDK-incompatible versions as disabled, block patching when no versions are compatible with device SDK ([f90d5ba](f90d5ba))
* Show swipe gesture hint on every custom bundle addition ([0c66503](0c66503))
* System installer couldn't update an already installed app ([#455](#455)) ([adc93e4](adc93e4))
* Update home screen cards immediately after install/uninstall ([8f671bd](8f671bd))
* Use `SharedPreferences` as locale side-channel on Android < 13 ([a5f91bd](a5f91bd))
* When greeting message is disabled, show a small top spacer so the app cards don't sit flush against the top of the screen ([6900cc2](6900cc2))

### Features

* Adaptive two-column layout for `InstalledAppInfoDialog` on tablets ([40a29a9](40a29a9))
* Add `BundleAppMetadata` as a data source for `AppDataResolver` ([3bdc1f5](3bdc1f5))
* Add fast bytecode mode setting to expert mode ([#403](#403)) ([e73c63c](e73c63c))
* Add manual `JKS` parser for keystore import without BC provider dependency ([#494](#494)) ([ccc99a2](ccc99a2))
* Add random background mode with rotation interval ([2d12fbb](2d12fbb))
* Add swipe gestures and multi-select to app buttons on main screen ([#446](#446)) ([0330699](0330699))
* Add swipe gestures to hidden apps dialog and search results ([8cf1f13](8cf1f13))
* Add toggle to disable home screen patching phrases ([#443](#443)) ([f53ad64](f53ad64))
* Import keystore from `PKCS12`, `BKS` and `JKS` formats ([3f38387](3f38387))
* Improve patch visibility in bundle and app patch dialogs ([#457](#457)) ([1881991](1881991))
* Live patching progress in foreground notification ([c25af8f](c25af8f))
* Migrate to `Ackpine` for package installation/uninstallation ([#444](#444)) ([aa7207d](aa7207d))
* Open `.mpp` patch sources directly from file manager ([#483](#483)) ([f46a11f](f46a11f))
* Open patches dialog on hidden app tap in search ([1898e74](1898e74))
* Prompt bundle selection before APK selection in simple mode ([#511](#511)) ([8161d9b](8161d9b))
* Sort universal patches to bottom of each bundle in patches dialog ([eac672e](eac672e))
* Store merged APK from split archives as original for repatching ([#438](#438)) ([be0b868](be0b868))
LisoUseInAIKyrios pushed a commit that referenced this pull request May 17, 2026
# [1.16.0-dev.14](v1.16.0-dev.13...v1.16.0-dev.14) (2026-04-28)

### Bug Fixes

* File picker and export for Android TV ([#491](#491)) ([7cd5e1d](7cd5e1d))

### Features

* Add manual `JKS` parser for keystore import without BC provider dependency ([#494](#494)) ([4493265](4493265))
LisoUseInAIKyrios pushed a commit that referenced this pull request May 17, 2026
# [1.16.0](v1.15.0...v1.16.0) (2026-05-04)

### Bug Fixes

* "SessionBasedInstallConfirmationActivity was finished by user" install error on some devices ([4fdef34](4fdef34))
* `Session is dead` error on Pixels devices when installing apps ([#458](#458)) ([3b556cf](3b556cf))
* Adapt accent color contrast for extreme black/white values in app info dialog ([b34fd77](b34fd77))
* Add logging and fix stale installer cache ([fd1f97e](fd1f97e))
* Always respect manager prerelease preference for update channel ([6c90248](6c90248))
* Apply locale via context wrap on Android < 13 ([dc6536f](dc6536f))
* Check primary ABI only in `isArmV7` to avoid false positives on `ArmV8` devices ([71c6c6d](71c6c6d))
* Eliminate background flash on `InstalledAppInfo` → patch flow transition ([bf2865a](bf2865a))
* Fall back to `Downloads` export on devices without `DocumentsUI` (Android TV) ([afeff7e](afeff7e))
* File picker and export for Android TV ([#491](#491)) ([7cd5e1d](7cd5e1d))
* Handle `InstallFailure` result when installing manager update ([7df2907](7df2907))
* Hoist install state reads to prevent recomposition on install ([f184d4a](f184d4a))
* Merge 'Filter split APKs' and `Remove unused native libraries` into 'Optimize for device architecture' setting ([96d0c4c](96d0c4c))
* Patch bundles do not load on Android 8.0 devices ([48bb842](48bb842))
* Prevent `InstalledAppInfoViewModel` collision on dialog reopen ([0648062](0648062))
* Replace `Ackpine` with native `SessionInstaller` ([#508](#508)) ([2162f92](2162f92))
* Replace `isLoaded` flag with `BundleState` sealed class and simplify `homeAppState` ([d51d9df](d51d9df))
* Resolve app icon from saved APK when app is not installed ([ff15269](ff15269))
* Resolve display name from bundle metadata over patched APK label ([65500b6](65500b6))
* Scope `InstalledAppInfoViewModel` to dialog instance via dialog token ([88d7352](88d7352))
* Shizuku installer couldn't update an already installed app ([#454](#454)) ([8313342](8313342))
* Show reinstall button and installer dialog for deleted apps ([faa53ba](faa53ba))
* Show SDK-incompatible versions as disabled, block patching when no versions are compatible with device SDK ([f2176a1](f2176a1))
* Show swipe gesture hint on every custom bundle addition ([9c68eee](9c68eee))
* System installer couldn't update an already installed app ([#455](#455)) ([2d7f9d5](2d7f9d5))
* Update home screen cards immediately after install/uninstall ([6e58e51](6e58e51))
* Use `SharedPreferences` as locale side-channel on Android < 13 ([88dc77f](88dc77f))
* When greeting message is disabled, show a small top spacer so the app cards don't sit flush against the top of the screen ([14a5144](14a5144))

### Features

* Adaptive two-column layout for `InstalledAppInfoDialog` on tablets ([dd068c4](dd068c4))
* Add `BundleAppMetadata` as a data source for `AppDataResolver` ([d174ed4](d174ed4))
* Add fast bytecode mode setting to expert mode ([#403](#403)) ([70daa22](70daa22))
* Add manual `JKS` parser for keystore import without BC provider dependency ([#494](#494)) ([4493265](4493265))
* Add random background mode with rotation interval ([c0e3310](c0e3310))
* Add swipe gestures and multi-select to app buttons on main screen ([#446](#446)) ([1093c43](1093c43))
* Add swipe gestures to hidden apps dialog and search results ([a424a62](a424a62))
* Add toggle to disable home screen patching phrases ([#443](#443)) ([91a66e3](91a66e3))
* Import keystore from `PKCS12`, `BKS` and `JKS` formats ([eb5c9ab](eb5c9ab))
* Improve patch visibility in bundle and app patch dialogs ([#457](#457)) ([df53801](df53801))
* Live patching progress in foreground notification ([202dd76](202dd76))
* Migrate to `Ackpine` for package installation/uninstallation ([#444](#444)) ([574e404](574e404))
* Open `.mpp` patch sources directly from file manager ([#483](#483)) ([288868d](288868d))
* Open patches dialog on hidden app tap in search ([396e5cd](396e5cd))
* Prompt bundle selection before APK selection in simple mode ([#511](#511)) ([bbc9206](bbc9206))
* Sort universal patches to bottom of each bundle in patches dialog ([14e284e](14e284e))
* Store merged APK from split archives as original for repatching ([#438](#438)) ([71cc022](71cc022))
SA-SUJON pushed a commit to SA-SUJON/MorpheManager that referenced this pull request May 24, 2026
SA-SUJON pushed a commit to SA-SUJON/MorpheManager that referenced this pull request May 24, 2026
# [1.16.0-dev.14](MorpheApp/morphe-manager@v1.16.0-dev.13...v1.16.0-dev.14) (2026-04-28)

### Bug Fixes

* File picker and export for Android TV ([MorpheApp#491](MorpheApp#491)) ([a25d84f](MorpheApp@a25d84f))

### Features

* Add manual `JKS` parser for keystore import without BC provider dependency ([MorpheApp#494](MorpheApp#494)) ([fd8902b](MorpheApp@fd8902b))
SA-SUJON pushed a commit to SA-SUJON/MorpheManager that referenced this pull request May 24, 2026
# [1.16.0](MorpheApp/morphe-manager@v1.15.0...v1.16.0) (2026-05-04)

### Bug Fixes

* "SessionBasedInstallConfirmationActivity was finished by user" install error on some devices ([036efb0](MorpheApp@036efb0))
* `Session is dead` error on Pixels devices when installing apps ([MorpheApp#458](MorpheApp#458)) ([d1476a6](MorpheApp@d1476a6))
* Adapt accent color contrast for extreme black/white values in app info dialog ([c81b5f5](MorpheApp@c81b5f5))
* Add logging and fix stale installer cache ([fabe26d](MorpheApp@fabe26d))
* Always respect manager prerelease preference for update channel ([6fe4cb5](MorpheApp@6fe4cb5))
* Apply locale via context wrap on Android < 13 ([ece000c](MorpheApp@ece000c))
* Check primary ABI only in `isArmV7` to avoid false positives on `ArmV8` devices ([3fa61c1](MorpheApp@3fa61c1))
* Eliminate background flash on `InstalledAppInfo` → patch flow transition ([e59c7d5](MorpheApp@e59c7d5))
* Fall back to `Downloads` export on devices without `DocumentsUI` (Android TV) ([27b9b9c](MorpheApp@27b9b9c))
* File picker and export for Android TV ([MorpheApp#491](MorpheApp#491)) ([a25d84f](MorpheApp@a25d84f))
* Handle `InstallFailure` result when installing manager update ([8ac0c38](MorpheApp@8ac0c38))
* Hoist install state reads to prevent recomposition on install ([0c23b23](MorpheApp@0c23b23))
* Merge 'Filter split APKs' and `Remove unused native libraries` into 'Optimize for device architecture' setting ([006e1cc](MorpheApp@006e1cc))
* Patch bundles do not load on Android 8.0 devices ([793f591](MorpheApp@793f591))
* Prevent `InstalledAppInfoViewModel` collision on dialog reopen ([3ee12bc](MorpheApp@3ee12bc))
* Replace `Ackpine` with native `SessionInstaller` ([MorpheApp#508](MorpheApp#508)) ([633e4b3](MorpheApp@633e4b3))
* Replace `isLoaded` flag with `BundleState` sealed class and simplify `homeAppState` ([cf42e4f](MorpheApp@cf42e4f))
* Resolve app icon from saved APK when app is not installed ([d9c836a](MorpheApp@d9c836a))
* Resolve display name from bundle metadata over patched APK label ([1132abe](MorpheApp@1132abe))
* Scope `InstalledAppInfoViewModel` to dialog instance via dialog token ([3961404](MorpheApp@3961404))
* Shizuku installer couldn't update an already installed app ([MorpheApp#454](MorpheApp#454)) ([aaf237e](MorpheApp@aaf237e))
* Show reinstall button and installer dialog for deleted apps ([ec8599d](MorpheApp@ec8599d))
* Show SDK-incompatible versions as disabled, block patching when no versions are compatible with device SDK ([39f3bc7](MorpheApp@39f3bc7))
* Show swipe gesture hint on every custom bundle addition ([e66d598](MorpheApp@e66d598))
* System installer couldn't update an already installed app ([MorpheApp#455](MorpheApp#455)) ([e83af35](MorpheApp@e83af35))
* Update home screen cards immediately after install/uninstall ([4f3ab2b](MorpheApp@4f3ab2b))
* Use `SharedPreferences` as locale side-channel on Android < 13 ([4c32ac5](MorpheApp@4c32ac5))
* When greeting message is disabled, show a small top spacer so the app cards don't sit flush against the top of the screen ([ed22214](MorpheApp@ed22214))

### Features

* Adaptive two-column layout for `InstalledAppInfoDialog` on tablets ([bc4c3ae](MorpheApp@bc4c3ae))
* Add `BundleAppMetadata` as a data source for `AppDataResolver` ([f2097c6](MorpheApp@f2097c6))
* Add fast bytecode mode setting to expert mode ([MorpheApp#403](MorpheApp#403)) ([4bcd828](MorpheApp@4bcd828))
* Add manual `JKS` parser for keystore import without BC provider dependency ([MorpheApp#494](MorpheApp#494)) ([fd8902b](MorpheApp@fd8902b))
* Add random background mode with rotation interval ([6bacce3](MorpheApp@6bacce3))
* Add swipe gestures and multi-select to app buttons on main screen ([MorpheApp#446](MorpheApp#446)) ([822c23f](MorpheApp@822c23f))
* Add swipe gestures to hidden apps dialog and search results ([882a7d5](MorpheApp@882a7d5))
* Add toggle to disable home screen patching phrases ([MorpheApp#443](MorpheApp#443)) ([108e60b](MorpheApp@108e60b))
* Import keystore from `PKCS12`, `BKS` and `JKS` formats ([da3ec82](MorpheApp@da3ec82))
* Improve patch visibility in bundle and app patch dialogs ([MorpheApp#457](MorpheApp#457)) ([739cb32](MorpheApp@739cb32))
* Live patching progress in foreground notification ([fb9b6e7](MorpheApp@fb9b6e7))
* Migrate to `Ackpine` for package installation/uninstallation ([MorpheApp#444](MorpheApp#444)) ([316fecf](MorpheApp@316fecf))
* Open `.mpp` patch sources directly from file manager ([MorpheApp#483](MorpheApp#483)) ([8df6ed9](MorpheApp@8df6ed9))
* Open patches dialog on hidden app tap in search ([e538457](MorpheApp@e538457))
* Prompt bundle selection before APK selection in simple mode ([MorpheApp#511](MorpheApp#511)) ([650befe](MorpheApp@650befe))
* Sort universal patches to bottom of each bundle in patches dialog ([53f43d9](MorpheApp@53f43d9))
* Store merged APK from split archives as original for repatching ([MorpheApp#438](MorpheApp#438)) ([2bacd4c](MorpheApp@2bacd4c))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant