OShin | O神「自动构建 CI Build」
1.5K subscribers
2 photos
771 files
678 links
OPPO/OneOlus 系统辅助应用

Channel/频道
@OPatchA
Chat/聊天
@OPatchB
Download Telegram
🚀 **OShin New CI Build!**

Feat(AppDetail): Add dynamic remove security check hook

This commit refactors the remove security check feature for the AppDetail (package installer) hook to be more resilient against code obfuscation.

Previously, the hook targeted a hardcoded class and method name (). This commit replaces the static reference with a dynamic search using DexKit. The new implementation scans the package for a specific public static method that returns a boolean, takes a Context parameter, and contains certain unique strings.

This dynamic approach ensures that the feature continues to work even if the class and method names change in future updates to the target application.
🔗 [查看本次提交](https://github.com/suqi8/OShin/commit/489f51088b87dd316d65e219586b0455e402ae22)
🚀 **OShin New CI Build!**

Feat(OTA): Add option to bypass pre-install checks

This commit introduces a new feature to the OTA (Over-The-Air) update module that allows bypassing several pre-installation checks.

A new hook has been added to target the method . It modifies the boolean field within the method's instance to after execution. This effectively disables multiple validations performed before an OTA installation, including file path validity, file integrity, version information, and a vendor disallow update flag.

### Key Changes:

* ** (Hook):**
* Added a new hook for the package.
* The hook dynamically resolves and modifies the method to disable installation checks when the feature is enabled.

* ** (UI):**
* Added a new Bypass pre-install checks switch to the OTA feature screen, allowing users to enable or disable this functionality.

* **:**
* Added new string resources for the title and a detailed summary of the new bypass feature.
🔗 [查看本次提交](https://github.com/suqi8/OShin/commit/c99a7c8e4f7b441900d908534c6a583d807a6cf6)
🚀 **OShin New CI Build!**

Fix(Android): Correct data type for multi-window preferences

This commit fixes a data type mismatch in the hook for the Android framework.

The preferences for customizing small window features (, , , ) are stored as floats in SharedPreferences but were being read as integers.

This change corrects the preference lookups to use instead of . The retrieved float value is then cast to an integer before being applied to the corresponding methods, ensuring the hook functions as intended.
🔗 [查看本次提交](https://github.com/suqi8/OShin/commit/a749d9cb1920d9d92838f650f2fc0d8cf0304866)
🚀 **OShin New CI Build!**

Feat(OTA): Add Force Show Local Install option

This commit introduces a new feature to the OTA (Over-The-Air) update module that forces the Local Install option to be visible in the system update settings.

This is achieved by hooking the method. When the system checks for the key, the hook intercepts the call and returns , effectively tricking the system into believing developer options are enabled, which in turn reveals the Local Install button.

### Key Changes:

* ** (Hook):**
* Added a new hook for .
* It spoofs the return value for the setting to .
* Cleaned up preference access by creating a local variable.

* ** (UI):**
* Added a new Force show local install to the OTA features screen.

* **:**
* Added the corresponding string resource for the new feature's title.
🔗 [查看本次提交](https://github.com/suqi8/OShin/commit/5f1122b5bed62de14058b7ec6dea135f5474dce1)
2
从此条消息开始,将仅支持安卓16系统
😭52👏11🤯5😁2
🚀 **OShin New CI Build!**

Refactor(CorePatch): Migrate PackageManager hooks to YukiHookAPI

This commit refactors the entire CorePatch module, which modifies the Android . The previous implementation, based on legacy Xposed API and spread across multiple version-specific Java files (, , , , , ), has been completely removed.

It is replaced by a single, modern hooker written in Kotlin using the YukiHookAPI. This new implementation is cleaner, more maintainable, and uses the library for safer reflection.

The functionality remains largely the same, but has been reorganized and given clearer naming conventions for preferences and UI elements.

### Key Changes:

* **Migration to YukiHookAPI:**
* All hooks are now consolidated into .
* Legacy Xposed API calls (, ) are replaced with YukiHookAPI's fluent DSL.
* Removed multiple Java files (, , ) in favor of a single Kotlin file.

* **Feature Reorganization & Renaming:**
* The user-facing settings in the UI have been regrouped into General, Verification Bypass, and Advanced sections.
* Preference keys and string resources have been updated to be more descriptive (e.g., is now ).

* **Code Improvements:**
* Implemented hooks for common package management bypasses, such as allowing downgrades, signature mismatches, and disabling various integrity checks (, , ).
* Added a debug command to inspect package and shared user signing details.
* The hook is now loaded cleanly via the main entry point.

* **Build Configuration:**
* The has been updated from 35 to 36 in to align with the new target API.
* The legacy Xposed entry point in for has been removed.
🔗 [查看本次提交](https://github.com/suqi8/OShin/commit/11b2c4ff358d735ae9cb5510c0c3b6340ab025f3)
👏1
🚀 **OShin New CI Build!**

fix(StatusBar): 修复指标容器添加位置错误,兼容包裹层结构变化

- 新增 clockWrapper 层级解析,防止 clockTextView 直接父级不是最终容器导致布局错位
- 调整容器插入逻辑,优先在 clockWrapper 之后插入,找不到则使用备用添加方案
- 优化资源清理与容器重建流程,防止重复附加或视图泄漏
🔗 [查看本次提交](https://github.com/suqi8/OShin/commit/0bc5e23d9591529223f4c4133344854938f78b08)
🚀 **OShin New CI Build!**

feat(weather): 新增天气应用去除二级页面广告功能

- 新增 hook.weather 包与 RemoveAds.kt 实现广告屏蔽逻辑
- 新增 features.weather 页面定义与对应开关项
- 在 HookEntry 中启用 weather hook
- 在 FeatureRegistry 注册 weather 模块
- 在 strings.xml 添加 “移除二级页面广告” 文本资源
- 在 array.xml 中添加 com.coloros.weather2 以启用天气模块
🔗 [查看本次提交](https://github.com/suqi8/OShin/commit/390390e110f3319ee30d4f74606d288af5b7fcb9)
🚀 **OShin New CI Build!**

feat(weather): 优化 RemoveAds 逻辑以确保彻底屏蔽二级页面广告

- 在 SecondaryPageUtil.newLink 中新增对 &isNotificationGranted= 的替换逻辑
- 在 LocalUtils.getH5StringBuffer 中确保插入 infoEnable=false 参数并追加 frontCode=2.0
- 修复部分页面未正确附加 infoEnable=false 导致广告残留的问题
🔗 [查看本次提交](https://github.com/suqi8/OShin/commit/74336f3f8455069ac56c2d7e6590ddd8baf444e4)
1
🚀 **OShin New CI Build!**

feat(weather): 移除二级页面广告 & 禁止跳转系统浏览器

- Hook ,根据设置修改 URL 移除广告
并可根据偏好重定向到外部浏览器。
- Hook ,同样修改 H5 URL
并独立处理浏览器跳转。
- 两个功能可单独开启或关闭。
🔗 [查看本次提交](https://github.com/suqi8/OShin/commit/65a75fe6ee418ce0ceb6b14ac44c9db95f346179)
🚀 **OShin New CI Build!**

Refactor(PMS): Change default values and add debug command

This commit refactors the PackageManagerServices hook and introduces a new debug command.

The default values for all existing hook preferences have been changed from to . This makes the features opt-in rather than opt-out, preventing unintended system modifications upon module installation. The affected hooks include allow downgrade, disable JAR verifier, allow signature mismatch, and others.

A new optional feature has been added to enable a debugging command via . When enabled, the command becomes available, allowing developers to inspect package and shared user signing information. The command is wrapped in a preference check and its implementation has been moved inside the function.

### Key Changes:

* **:**
* Changed the default value for all feature preferences from to .
* Moved the instance variable to be local within .
* Wrapped the logic in a new preference check for .
* Renamed the ADB command from to for clarity.

* ** (UI):**
* Added a new in the UI to enable or disable the feature.

* **:**
* Added new string resources for the title and a detailed summary of the new feature.
🔗 [查看本次提交](https://github.com/suqi8/OShin/commit/b0e8909cd34ded1fffccb3f7da6bf7dc106931b3)