為 NPatch 引入了原生的 MicroG 整合支援,允許修補後的 Google 應用程式(例如 YouTube)在依賴 Google Play 服務的環境下,透過社群版 MicroG(如 ReVanced GmsCore)正常運作。
詳細改動範圍包含:
* ** UI Manager **
- 於 `NewPatchScreen` 的修補選項清單中,新增「啟用 MicroG 支援」核取方塊與相容性說明。
- 更新 `NewPatchViewModel`,透過 `Patcher.kt` 將使用者的 `useMicroG` 選擇狀態以 `--useMicroG` 指令列參數的形式,傳遞給底層修補引擎。
* ** Patcher **
- 於 `NPatch.java` 中新增對 `--useMicroG` 參數的解析邏輯。
- 擴充 `modifyManifestFile` 邏輯:當啟用 MicroG 支援時,自動讀取目標應用的原始簽名並轉碼為 Hex 格式。
- 於 `AndroidManifest.xml` 中動態注入 `fake-signature` 的 `<meta-data>` 節點與 `android.permission.FAKE_PACKAGE_SIGNATURE` 權限,以滿足 MicroG 進行簽名欺騙(Signature Spoofing)時的驗證需求。
* ** Patch Loader **
- 實作 `GmsRedirector.java` 類別,負責在應用程式執行期間動態攔截並重導向 IPC 通訊:
1. 掛鉤 `Intent.setPackage`、`Intent.setComponent` 與建構子,將所有指向 `com.google.android.gms` 與 GSF 的意圖,強制導向至設備上已安裝的社群版 MicroG 套件(優先支援 `app.revanced.android.gms` 與 `org.microg.gms`)。
2. 掛鉤 `ContentResolver`,替換帶有 GMS Authority 的 URI。針對真實 GMS 拋出的 `SecurityException`(憑證拒絕存取)實作了智慧攔截與重試機制。
3. 掛鉤 `PackageManager.getPackageInfo` 實現動態簽名偽裝,使修補後的應用程式將 MicroG 視為官方正版 GMS。
- 於 `LSPApplication.java` 的 `onLoad` 階段,依據 `PatchConfig` 設定檔動態喚醒並初始化 `GmsRedirector`。
* ** Share **
- 更新 `PatchConfig.java` 以儲存與傳遞 `useMicroG` 布林值狀態。
- 於 `Constants.java` 中定義 `REAL_GMS_PACKAGE_NAME` 常數,供各模組統一呼叫。
Co-Authored-By: MrZhongzq <108169409+MrZhongzq@users.noreply.github.com>
|
||
|---|---|---|
| .github | ||
| apkzlib | ||
| core@62ea99fa35 | ||
| gradle | ||
| jar | ||
| manager | ||
| meta-loader | ||
| patch | ||
| patch-loader | ||
| share | ||
| .gitattributes | ||
| .gitignore | ||
| .gitmodules | ||
| LICENSE | ||
| README.md | ||
| build.gradle.kts | ||
| crowdin.yml | ||
| gradle.properties | ||
| gradlew | ||
| gradlew.bat | ||
| settings.gradle.kts | ||
README.md
Neo LSPatch Framework
Introduction
Rootless implementation of LSPosed framework, integrating Xposed API by inserting dex and so into the target APK.
We sincerely invite you to join our Telegram group to get more information and updates about NPatch.
Supported Versions
- Min: Android 8.1
- Max: In theory, same with JingMatrix/LSPosed
Download
For stable releases, please go to Github Releases page For canary build, please check Github Actions Note: debug builds are only available in Github Actions
Usage
- Through jar
- Download
npatch.jar - Run
java -jar npatch.jar
- Through manager
- Download and install
manager.apkon an Android device - Follow the instructions of the manager app
Star Number
Translation Contributing
You can contribute translation here.
Credits
License
NPatch is licensed under the GNU General Public License v3 (GPL-3) (http://www.gnu.org/copyleft/gpl.html).