Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Android: Don't set android:debuggable="true" #9692

Merged
merged 1 commit into from May 6, 2021

Conversation

JosJuice
Copy link
Member

@JosJuice JosJuice commented May 6, 2021

In PR #9654, I explicitly set android:debuggable="true" for Dolphin. (By default, it's set for debug builds but not release builds.) The reason I made the change is because debuggable must be set to true in order to allow adb backup to be used with apps which target Android 12. We have no reason to want to stop users from debugging Dolphin and certainly no reason to stop users from using adb backup (especially not after scoped storage is going to force us to store the User folder in app-specific external storage!), but, it turns out that setting debuggable to true is forbidden by Google Play "for security reasons". Go figure. The beta build which was tagged earlier today was rejected because of this.

In 5a1a642, I explicitly set android:debuggable="true" for Dolphin.
(By default, it's set for debug builds but not release builds.)
The reason I made the change is because debuggable must be set to
true in order to allow adb backup to be used with apps which target
Android 12. We have no reason to want to stop users from debugging
Dolphin and certainly no reason to stop users from using adb backup
(especially not after forced storage is going to force us to store
the User folder in app-specific external storage!), but,
it turns out that setting debuggable to true is forbidden by
Google Play "for security reasons". Go figure. The beta build
which was tagged earlier today was rejected because of this.
@Rumi-Larry

This comment has been minimized.

@JosJuice
Copy link
Member Author

JosJuice commented May 6, 2021

What is the share of users for Android anyway?

Relatively large. I don't have the exact numbers, though.

Most Android devices aren't powerful enough for a consistent decent performance in the most popular games.

There is a good number of them that are powerful enough nowadays, and it will only get better in the future.

In any case, I assume that making the user set the app to be debuggable isn't straight foward.

I don't believe it's possible to do so after the app that has been built. But not being able to use adb backup is really a minor thing, especially compared to scoped storage as a whole.

It may be wise to gauge the community opinion about removing Android support ahead of time, because it seems like something that will eventually you'll be forced to do.

I have no plans to remove Android support and I don't think others on the team are expressing any desire to remove it either.

Copy link
Member

@leoetlino leoetlino left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Unfortunate, but I guess we don't really have a choice

@leoetlino leoetlino merged commit 19580c3 into dolphin-emu:master May 6, 2021
10 checks passed
@JosJuice JosJuice deleted the android-not-debuggable branch May 6, 2021 20:18
@JosJuice
Copy link
Member Author

JosJuice commented May 6, 2021

This also fixed a crash that a user was getting with the development builds. So I suppose that even if were to set up making different builds for Google Play and for dolphin-emu.org, it's best to not enable this.

@mbc07
Copy link
Contributor

mbc07 commented May 6, 2021

AFAIK the property that dictates if adb backup is allowed or not is android:allowBackup, which is currently set to false. Any particular reason to not have it set to true?

@JosJuice
Copy link
Member Author

JosJuice commented May 6, 2021

I believe someone set it to false because Dolphin can do weird stuff if you back up the internal app-specific storage but not the User folder, like Wii controls not working until you use Change Controller. I'm planning to change it to true when I enable using the external app-specific storage as the User folder.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
4 participants