Restrictions are further tightened, Android 17 prohibits apps from detecting developer mode
Google has hidden a "killer feature" in Android 17. Recently, developers have discovered that Google has quietly blocked apps from accessing the status of Developer Options and USB Debugging in Android 17. No matter whether Developer Mode is enabled on the device or not, apps reading such information will always return 0 (meaning disabled) instead of 1 (meaning enabled).
In fact, a considerable number of apps will detect whether the user's device has enabled Developer Mode. Once it is enabled, the app will ask the user to turn it off, otherwise the app cannot be used. Google stated directly in the code commit notes that apps do not need to detect the status of Developer Mode, and relevant detection logic will cease to work in Android 17.
Then here comes the question: why do some apps want to know if your device has Developer Mode enabled, and why does Google determine that such information is not important for apps?
As a collection of debugging interfaces reserved by Android, Developer Mode enables communication between devices and development tools through the ADB (Android Debug Bridge) protocol. It is designed for Android developers, with core functions including performance monitoring, error tracking and hardware adaptation during the application development phase.
However, early versions of Android were not perfect. Users not only needed to enable USB Debugging in Developer Mode to download apps when connected to a computer, but even had to turn it on to back up contacts. Therefore, in practice, Android's Developer Mode not only serves developers, but is also frequently used by ordinary users.
As more ordinary users use it, problems have emerged. After enabling Developer Mode, the Android system will grant read and write permissions to the /system/app/ directory, lift the protection lock for system-level settings, expose not only underlying parameters such as visual debugging tools, open CPU scheduling policies, and memory allocation mechanisms, but also control interfaces for system services such as window management and animation rendering.
The "Select mock location app" permission in Developer Mode may be exploited by malicious apps to achieve location spoofing; USB Debugging mode will introduce man-in-the-middle attacks, where malicious programs can steal sensitive data such as contacts and SMS messages through ADB commands; the simulated click permission will be exploited by game cheats, and many so-called game assistants use Developer Mode to automatically fight monsters and complete tasks.
To protect users, a considerable number of apps will actively detect whether Developer Mode is enabled on the device, and terminate the process once it is detected. For example, mobile games, especially competitive games or games with player trading systems, will assume that Developer Mode may be used for cheating or modifying game data once detected, and directly prevent users from entering the game or prompt for exceptions.
Similarly, financial apps also strictly guard against Developer Mode. Apps like Alipay, UnionPay QuickPass, and banking apps may disable payment functions, prompt for a risky environment, or even refuse to run directly when Developer Mode is detected. In fact, not only third-party developers, but Google itself does not want ordinary users to use Developer Mode. Since Android version 4.2.1, Developer Options has been hidden, and users need to continuously tap the system version number to activate it.
However, the problem is that "the fundamental law cannot be changed". Freedom and openness are the cornerstone of Android, and the opening of Developer Mode to ordinary users is also regarded as a symbol of freedom by the Android community. Therefore, Google can only hide the switch of Developer Mode, but cannot directly tell users that it "does not want you to use it". As the value of the Android ecosystem continues to grow, the security risks it faces also rise synchronously, and Developer Mode has become a weak link in the Android security system.
In addition, Google is also worried that users will operate randomly in Developer Mode, modify parameters by mistake, cause system problems, and then OEM partners have to take the responsibility for troubleshooting. Since it cannot directly explicitly restrict users' rights, but needs to maintain the security and stability of the Android ecosystem, Google chooses not to be the "bad guy", but instead lets developers of banking, payment and game apps force users to turn off Developer Mode.
For developers of these apps, once Android 17 is rolled out on a large scale, they will no longer be able to easily complete device environment detection. To save trouble, they will directly ask users to permanently turn off Developer Mode, otherwise they will refuse to provide services. Given the current popularity of mobile payment and mobile games, it is believed that the vast majority of people will not consider the "freedom" represented by Developer Mode to be more important.
In this way, Google can persuade users to give up using Developer Mode without using drastic measures, so that the latter can return to its original intended use. After more than ten years of improvement, the current Android system is already mature enough, and users do not need to fiddle with it on their own.
This article is from the WeChat Official Account "San Yi Life" (ID: IT-3eLife), written by San Yijun, and published with authorization from 36Kr.