''s
This commit is contained in:
98
README.md
98
README.md
@@ -1,48 +1,74 @@
|
||||
# redroid-android13
|
||||
|
||||
这个仓库只保留了 `5570` 那套优化过的 Android 13 redroid 最小集,不再带 `gapps/litegapps/ndk/widevine` 这些无关入口。
|
||||
This repo is the minimal Android 13 redroid bundle that matches the optimized `5570` instance.
|
||||
|
||||
目标很明确:
|
||||
It keeps only the parts that were actually used:
|
||||
|
||||
- 基于 `redroid/redroid:13.0.0`
|
||||
- 集成 `MindTheGapps`
|
||||
- 集成 `libhoudini`
|
||||
- 集成 `Kitsune Mask / Magisk Delta`
|
||||
- 启动后伪装成 `Pixel 7 Pro`
|
||||
- 修复 `Magisk Installed N/A` 和设置页不可用的问题
|
||||
- `redroid/redroid:13.0.0`
|
||||
- `MindTheGapps`
|
||||
- `libhoudini`
|
||||
- `Kitsune Mask / Magisk Delta`
|
||||
- `Pixel 7 Pro` device profile
|
||||
- the `post-fs-data` fix that keeps `Magisk Installed` and the settings page healthy
|
||||
|
||||
## 保留的文件
|
||||
## Included files
|
||||
|
||||
- `redroid.py`
|
||||
- `run_redroid.py`
|
||||
- `bootstrap_redroid.py`
|
||||
- `verify_offline_bundle.py`
|
||||
- `offline/README.md`
|
||||
- `offline/manifest.json`
|
||||
- `stuff/mindthegapps.py`
|
||||
- `stuff/houdini.py`
|
||||
- `stuff/houdini_hack.py`
|
||||
- `stuff/magisk.py`
|
||||
- `assets/redroid_extreme_post_fs_data.sh`
|
||||
- local `offline/downloads/`
|
||||
- local `offline/images/`
|
||||
|
||||
## 依赖
|
||||
## Offline archive
|
||||
|
||||
The repo tracks the offline bundle metadata under [offline](C:/Users/admin/Desktop/redroid-android13/offline). The large zip/apk/tar payloads are intentionally kept out of Git and should be stored locally under `offline/downloads/` and `offline/images/`.
|
||||
|
||||
Use [offline/manifest.json](C:/Users/admin/Desktop/redroid-android13/offline/manifest.json) for checksums and source metadata, and [offline/README.md](C:/Users/admin/Desktop/redroid-android13/offline/README.md) for the expected local layout.
|
||||
|
||||
Expected local files:
|
||||
|
||||
- `offline/downloads/mindthegapps.zip`
|
||||
- `offline/downloads/libhoudini.zip`
|
||||
- `offline/downloads/libhoudini_hack.zip`
|
||||
- `offline/downloads/magisk.apk`
|
||||
- `offline/downloads/magisk.version`
|
||||
- `offline/images/redroid-redroid-13.0.0-latest.tar`
|
||||
|
||||
`redroid.py` now auto-loads the base image tar when `redroid/redroid:13.0.0-latest` is not already present in the local container runtime.
|
||||
|
||||
## Dependencies
|
||||
|
||||
```bash
|
||||
python -m pip install -r requirements.txt
|
||||
```
|
||||
|
||||
容器侧默认按 `docker` 写,`podman` 也能用。
|
||||
## Verify the offline bundle
|
||||
|
||||
## 构建 5570 对应镜像
|
||||
```bash
|
||||
python verify_offline_bundle.py
|
||||
```
|
||||
|
||||
## Build the 5570 image
|
||||
|
||||
```bash
|
||||
python redroid.py -mtg -i -m
|
||||
```
|
||||
|
||||
这会生成并构建:
|
||||
Expected image tag:
|
||||
|
||||
```bash
|
||||
redroid/redroid:13.0.0_mindthegapps_houdini_magisk
|
||||
```
|
||||
|
||||
## 启动容器
|
||||
## Launch the container
|
||||
|
||||
```bash
|
||||
python run_redroid.py \
|
||||
@@ -54,7 +80,7 @@ python run_redroid.py \
|
||||
--replace
|
||||
```
|
||||
|
||||
## 启动后做 5570 硬化
|
||||
## Apply the 5570 hardening
|
||||
|
||||
```bash
|
||||
python bootstrap_redroid.py \
|
||||
@@ -64,39 +90,39 @@ python bootstrap_redroid.py \
|
||||
--install-extreme-script
|
||||
```
|
||||
|
||||
这一步会做 5 件事:
|
||||
This post-boot step:
|
||||
|
||||
- 跳过 SetupWizard
|
||||
- 标记系统已完成初始化
|
||||
- 开启高精度定位模式
|
||||
- 允许 `com.android.shell` 使用 mock location
|
||||
- 应用 `Pixel 7 Pro / user / release-keys / locked / green` 画像
|
||||
- disables SetupWizard
|
||||
- marks the device provisioned
|
||||
- enables high accuracy location mode
|
||||
- allows `com.android.shell` to use mock location
|
||||
- applies the `Pixel 7 Pro / user / release-keys / locked / green` identity
|
||||
|
||||
如果带上 `--install-extreme-script`,还会把 [`assets/redroid_extreme_post_fs_data.sh`](C:\Users\admin\Desktop\redroid-android13\assets\redroid_extreme_post_fs_data.sh) 安装到 `/data/adb/post-fs-data.d/20-redroid-extreme.sh`,让下面两件事在重启后继续成立:
|
||||
With `--install-extreme-script`, the validated script [assets/redroid_extreme_post_fs_data.sh](C:/Users/admin/Desktop/redroid-android13/assets/redroid_extreme_post_fs_data.sh) is copied to `/data/adb/post-fs-data.d/20-redroid-extreme.sh` so that:
|
||||
|
||||
- `vendor/bin/su` 指向 Magisk applet,应用命名空间可见
|
||||
- `Pixel 7 Pro` 属性在每次开机时重新注入
|
||||
- `vendor/bin/su` stays visible to app namespaces after reboot
|
||||
- `Pixel 7 Pro` properties are re-applied on every boot
|
||||
|
||||
## 已验证结果
|
||||
## Verified 5570 state
|
||||
|
||||
这套仓库对应的 `5570` 实例已经验证过:
|
||||
The matching `5570` instance was already validated with:
|
||||
|
||||
- `ro.product.model=Pixel 7 Pro`
|
||||
- `ro.build.type=user`
|
||||
- `ro.build.tags=release-keys`
|
||||
- `ro.boot.vbmeta.device_state=locked`
|
||||
- `ro.boot.verifiedbootstate=green`
|
||||
- 应用 UID 下 `su -V` 返回 `27001`
|
||||
- 应用 UID 下 `su -mm -c id` 能拿到 `uid=0(root)`
|
||||
- `Kitsune` 首页的 `Installed` 正常显示
|
||||
- `Kitsune` 设置页正常打开,`SuList / MagiskHide` 可配置
|
||||
- app UID `su -V = 27001`
|
||||
- app UID `su -mm -c id = uid=0(root)`
|
||||
- `Kitsune` home page shows a normal `Installed` state
|
||||
- `Kitsune` settings page opens normally and `SuList / MagiskHide` is configurable
|
||||
|
||||
## 当前范围
|
||||
## Current scope
|
||||
|
||||
这个仓库只负责把 `5570` 的系统环境复现出来,不包含:
|
||||
This repo only reproduces the system environment for the optimized `5570` build.
|
||||
|
||||
- 虚拟摄像头
|
||||
It does not yet include:
|
||||
|
||||
- virtual camera
|
||||
- camera HAL
|
||||
- TikTok Live 专用补丁
|
||||
|
||||
后续如果要继续推进直播链路,直接在这个仓库往上叠加即可。
|
||||
- TikTok Live specific patches
|
||||
|
||||
Reference in New Issue
Block a user