mrrfv / open-android-backup

Back up your device without vendor lock-ins, using insecure software or root. Supports encryption and compression out of the box. Works cross-platform.
http://openandroidbackup.me/
GNU General Public License v3.0
674 stars 37 forks source link

Enable GitHub discussions or wiki for device-specific instructions #34

Closed totoroot closed 1 year ago

totoroot commented 1 year ago

Thanks for creating and working on this project! :clap:

I just managed to back up my Xiaomi Redmi Note 7, but initially had some issues getting all required options enabled, since after just turning on ADB debugging and running the backup script some ADB permissions were still missing.

Error message after step "Granting required permissions to companion app." ``` Security exception: grantRuntimePermission: Neither user 2000 nor current process has android.permission.GRANT_RUNTIME_PERMISSIONS. java.lang.SecurityException: grantRuntimePermission: Neither user 2000 nor current process has android.permission.GRANT_RUNTIME_PERMISSIONS. at android.app.ContextImpl.enforce(ContextImpl.java:1906) at android.app.ContextImpl.enforceCallingOrSelfPermission(ContextImpl.java:1934) at com.android.server.pm.permission.PermissionManagerService.grantRuntimePermission(PermissionManagerService.java:2237) at com.android.server.pm.permission.PermissionManagerService.access$1100(PermissionManagerService.java:122) at com.android.server.pm.permission.PermissionManagerService$PermissionManagerServiceInternalImpl.grantRuntimePermission(PermissionManagerService.java:3255) at com.android.server.pm.PackageManagerService.grantRuntimePermission(PackageManagerService.java:5890) at com.android.server.pm.PackageManagerShellCommand.runGrantRevokePermission(PackageManagerShellCommand.java:1955) at com.android.server.pm.PackageManagerShellCommand.onCommand(PackageManagerShellCommand.java:230) at android.os.ShellCommand.exec(ShellCommand.java:111) at com.android.server.pm.PackageManagerService.onShellCommand(PackageManagerService.java:22484) at android.os.Binder.shellCommand(Binder.java:881) at android.os.Binder.onTransact(Binder.java:765) at android.content.pm.IPackageManager$Stub.onTransact(IPackageManager.java:4924) at com.android.server.pm.PackageManagerService.onTransact(PackageManagerService.java:4114) at android.os.Binder.execTransactInternal(Binder.java:1021) at android.os.Binder.execTransact(Binder.java:994) ```

I figured out that you had to toggle three individual settings related to USB debugging and ADB to get the necessary permissions needed by the backup utility. The last of the three settings could only be enabled after logging into a MIUI account on the device to confirm that you're a developer and know what you're doing 🙄

What I actually want to express is, that enabling GitHub discussions or creating a wiki for device-specific instructions might be a good idea. This could help less experienced users getting ADB properly enabled on their device and could reduce the number of issues in the long run.

What do you think? If you don't wish to create a wiki, perhaps a dedicated section in a README within subdirectories for device manufacturers like Xiaomi, Oppo etc. would be an option.

I, for one, would like to contribute some screenshots and instructions as a guide for less experienced Xiaomi users.

Cheers!

mrrfv commented 1 year ago

Done, thanks!