Skip to content

Repository files navigation

nekoStudio

System Support

  • Starting from version V4.1
  • Android 17 - Android 7.0
  • Android TV、Android

flash scheme

  • This project allows you to perform Fastboot flashing in a root-free environment and connect to adbd

Shell solution

  • For the Shell executor, we may need to migrate to the foreground service to fully use all the instructions that come with Android 14+. The background process daemon service solution may no longer be a recommended solution for Android 14+ systems.
  • For the existing local shell service, I would refactor it in V4.2

Shell

  • Starting from version V4.2
  • How to use shell script to call internal instructions of the application
  • For example, calling the root-free fastboot command implemented inside the application
#!/system/bin/sh

# The prerequisite for using the fastboot instruction is isFastbootMode = true
fastboot() {
#  am broadcast -a com.adb.kitty.MY_CMD --es "args" "$*" > /dev/null
    am broadcast -a com.adb.kitty.MY_CMD --es "cmd" "$*" > /dev/null
}

fastboot getvar unlocked
fastboot oem device-info

su

  • Support KernelSU、SukiSU、Magisk
  • Starting from version V4.2
# Flashing non-vab devices
$su -c cat /sdcard/boot.img > /dev/block/by-name/boot
$su -c cat /sdcard/init_boot.img > /dev/block/by-name/init_boot

# Adding the -M parameter and using global root permissions to flash can solve the problem of insufficient permissions on most devices.
$su -M -c cat /sdcard/boot.img > /dev/block/by-name/boot
$su -M -c cat /sdcard/init_boot.img > /dev/block/by-name/init_boot

# Query the currently active slot before flashing the vab device
$getprop ro.boot.slot_suffix

# Flash vab device partition _a
$su -c cat /sdcard/boot.img > /dev/block/by-name/boot_a
$su -c cat /sdcard/init_boot.img > /dev/block/by-name/init_boot_a

# Flash vab device partition _b
$su -c cat /sdcard/boot.img > /dev/block/by-name/boot_b
$su -c cat /sdcard/init_boot.img > /dev/block/by-name/init_boot_b

DocumentsProvider

  • You don't need to use MT Manager to inject a file provider for your APK to create the corresponding local storage directory
  • Starting from version V4.2

Signature

  • Now there are not only sample scripts in the project, but also built APKs, which use signature schemes v2, v3, v3.1, and v3.2 respectively.
  • Hope this sample script can help you

Verify signature

  • Verify v3.2 signature scheme using JDK 25
$ java --version
openjdk 25.0.4 2026-07-21
OpenJDK Runtime Environment (build 25.0.4)
OpenJDK 64-Bit Server VM (build 25.0.4, mixed mode)
  • Verify Release APK
$ ./apksigner verify -v --verbose app-release-sign.apk
Verifies
Verified using v1 scheme (JAR signing): false
Verified using v2 scheme (APK Signature Scheme v2): true
Verified using v3 scheme (APK Signature Scheme v3): true
Verified using v3.1 scheme (APK Signature Scheme v3.1): true
Verified using v3.2 scheme (APK Signature Scheme v3.2): true
Verified using v4 scheme (APK Signature Scheme v4): false
Verified for SourceStamp: false
Number of signers: 1
  • Verify Debug APK
$ ./apksigner verify -v --verbose app-debug-sign.apk
Verifies
Verified using v1 scheme (JAR signing): false
Verified using v2 scheme (APK Signature Scheme v2): true
Verified using v3 scheme (APK Signature Scheme v3): true
Verified using v3.1 scheme (APK Signature Scheme v3.1): true
Verified using v3.2 scheme (APK Signature Scheme v3.2): true
Verified using v4 scheme (APK Signature Scheme v4): false
Verified for SourceStamp: false
Number of signers: 1

Commercial

  • commercialization allowed
  • Allow transactional
  • Allow templating

Acknowledgements

About

Use Fastboot, ADB, and Shell without root.

Topics

Resources

Code of conduct

Contributing

Stars

31 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages