Setup for a Magcubic HY300PLUS (Allwinner H713, Android 11) that replaces the home screen with Projectivy Launcher and can open HDMI 1 on boot.
An agent should receive the prompt in PROMPT.md. A person turns on USB debugging and chooses one mode.
Only these are required. Java, Android Studio, apktool, and Gradle are not.
| Tool | Why |
|---|---|
adb |
Installs the apps and sets the Home screen. It comes from Android SDK Platform-Tools. |
curl |
Downloads Projectivy Launcher 4.72. |
shasum or sha256sum |
Checks that download. macOS already has shasum. |
# macOS
brew install android-platform-tools
# Debian or Ubuntu
sudo apt install adb curlOn Windows, install Android SDK Platform-Tools, put that folder on PATH, and run scripts/apply.sh from Git Bash or WSL.
adb version must succeed before connecting the projector. The projector port is USB-A, so the cable is USB-A male to USB-A male (the data cable often included with a USB 3.0 HDMI capture card). A phone charge cable will not plug in. See docs/developer-options.md.
| Mode | What happens at power on | How to open HDMI later |
|---|---|---|
launcher |
Projectivy stays on screen | Projectivy → TV Apps → HDMI 1 — Projector |
hdmi |
HDMI 1 opens by itself | Home returns to Projectivy; the same app opens HDMI again |
Details are in docs/modes.md. USB debugging is in docs/developer-options.md. Projectivy on-screen steps are in docs/projectivy-setup.md. Hotack proxy packages: docs/security-hotack.md and scripts/disable-hotack-proxy.sh.
Install adb, connect the projector, then:
scripts/apply.sh launcher
scripts/apply.sh hdmiapply.sh saves a local backup first (backup/latest/device-state.json). To undo the setup:
scripts/restore.sh
adb rebootSee docs/restore.md. To snapshot the projector without installing anything: scripts/backup-state.sh.
| Script | Purpose |
|---|---|
scripts/backup-state.sh |
Save OEM app on/off states before changes |
scripts/restore.sh |
Remove setup APKs, factory Home, restore OEM app states from backup |
The scripts warn, and continue, when the model is not HY300PLUS or the build is not projector.20251223.174657. They download Projectivy Launcher 4.72 from the developer’s GitHub release and check the file before installing it. The other two apps are already in apk/.
Finish the on-screen steps the script prints. Those settings live inside the apps and cannot be written over ADB.
| App | Package | Role |
|---|---|---|
| Projectivy Launcher 4.72 | com.spocky.projengmenu |
Home screen |
| HDMI 1 — Projector | cl.hy300.hdmi |
Opens HDMI from Projectivy |
| HDMI Switch, modified | it.mmessore.hdmiswitch |
Opens HDMI after boot in hdmi mode |
launcher mode disables the HDMI Switch package so it does not run on boot. The package and its setting remain, and hdmi mode enables it again.
The factory launcher com.htc.htclauncherhighenglishd08 stays enabled. Projectivy is only the selected Home activity.
One physical unit only:
- Product
HY300PLUS, ADB nameadt3 - Firmware
H713-android11-v1.2rc3 - Build
projector.20251223.174657(About device VersionUI_Veng.projector.20251223.174657)
The same name on the box is not enough. Another HY300PLUS, or a later firmware, can ship different system apps. apply.sh, restore.sh, and the other scripts print a warning and continue when the model or build does not match this unit. Read that warning before leaving the projector alone.
What was exercised on that unit: backup, launcher and hdmi apply, restore back to the factory home, Projectivy with the Inputs row removed, and disabling com.hotack.writesn when it is present. A cold boot that shows the HDMI picture with nobody touching the remote is still something you should confirm yourself; log lines are not that check.
This folder is written for that one HY300PLUS. It may fail on a Magcubic HY300, HY300 Pro, or another Allwinner H713 / Android 11 projector that looks the same in a listing. Those units often use different package names for Settings, the stock launcher, and the HDMI player (com.htc.htcsettings, com.htc.htclauncherhighenglishd08, com.softwinner.awlivetv on the tested unit). An agent adapting the scripts should follow Adapting to another model in PROMPT.md: read the current Home activity, find the real HDMI start (broadcast or activity) from logcat, and only then change FACTORY_LAUNCHER in scripts/_common.sh and the HDMI Switch target in docs/hdmi-switch.md. Do not disable the factory launcher to test the idea.
If you have a close unit and want to compare before changing anything, these properties are the useful report (no serial, no Wi-Fi name):
adb shell getprop ro.product.product.model
adb shell getprop ro.build.display.id
adb shell getprop ro.build.descriptionSearch terms this setup is aimed at: Magcubic HY300PLUS, HY300 Plus, HY300 Pro, Allwinner H713, Android 11 projector, Projectivy Launcher, HDMI boot, adt3, AWLiveTV.