In people's impression, Android system has always been the representative of openness and freedom. Compared with its competitor iOS, Android system not only open-sources a large part of the source code, but also has much fewer restrictions on the use of the system. You can freely install apps in Android, freely upgrade and downgrade the system version, and freely call various APIs to realize a large number of magical functions... These experiences have created the unique charm of Android. However, what many people don’t know is that the situation is gradually changing. Perhaps the freedom of Android is so strong that it is out of Google’s control. In the past two years, Google has begun to add more and more shackles to Android, so much so that some people complain that this system is becoming more and more like iOS. So what restrictions have been added to the latest versions of Android? Will it really become a closed system like iOS? Let's take a look. Limit system downgrade Speaking of dissatisfaction with iOS, I believe many users will vote for the point that "the system cannot be freely downgraded." It is well known that Apple will turn off the verification of the old version of the system after pushing the new version of iOS. Even if the new system has problems such as frequency locking, lag, and power consumption, users have to grit their teeth and endure it. Compared with iOS, Android is difficult to upgrade, but downgrading is much easier. Many machines can be easily downgraded through Recovery or Bootloader. However, the situation is changing, and Android's style in system upgrades is becoming more and more like iOS. In Android 8.0, Google added a security feature called Rollback Protection to the system, which prevents the device from rolling back to an older version of the firmware. Google believes that this can improve security. Compared with the new system, the old system has more vulnerabilities and may lead to user data leakage. Therefore, it is necessary to restrict users from downgrading to the old system. Android is becoming more and more strict about system verification, and Android 8.0 will also restrict system rollback Google's statement is quite similar to Apple's philosophy. But in fact, users don't care too much about security issues that seem to have nothing to do with them. Whether the system is smooth or not is more important. The "rollback protection" newly added to Android 8.0 restricts system downgrades and has been criticized, but fortunately Google did not do it as drastically as Apple. The "rollback protection" introduced in Android 8.0 is not a fixed function. Like Android's Bootloader, it can be activated or not. In other words, if the manufacturer wishes, it can also be turned off. However, just like unlocking the Bootloader, turning off the "rollback protection" will also cause a lot of warnings when the system starts. From this perspective, using "rollback protection" to limit system downgrades will not bring about any substantial changes - before, manufacturers could also limit the flashing of old systems through the Bootloader. Now it is just one more means, and what should be opened or closed will remain the same. Limit background running of apps Compared with iOS, Android's "true background operation" is another unique advantage. We know that Android apps can continue to run in the background, which can achieve multitasking, such as surfing the Internet while downloading with Thunder in the background and decompressing, etc. However, in the new version of the Android system, the background operation of apps has encountered unprecedented restrictions. In previous Android systems, apps could keep services in the background and use broadcasts to activate some tasks (such as self-starting). However, in Android 8.0, Google has restricted both background services and broadcasts. If you develop an app using a Target SDK above API level 26 in Android 8.0, the system will strictly restrict background services and broadcasts by default, and the background will be stopped within a few minutes; if the app does not use such a high API, you can also manually set background restrictions in the system. Android official website's description of background restrictions: Android is no longer so "real background" The restrictions on background activities in Android 8.0 are undoubtedly much stricter than those in previous systems. For example, many apps previously used Wakelock to wake up the system. Even in Android 6.0/7.0, which introduced the Doze sleep mechanism, the Wakelock of the app was only cut off after the screen was turned off for a period of time. In Android 8.0, as long as the background activities are stopped, the Wakelock will be cut off immediately, and the app will not be able to wake up the phone and waste power. There is no doubt that the background mechanism of Android 8.0 has a little bit of iOS. Of course, compared with iOS, apps still have some ways to break through the background restrictions in Android 8.0, but the general trend of Android's background restrictions becoming increasingly strict is obvious. Android restricts free installation of apps/background functions? Restrict free installation of apps One of the main manifestations of Android's freedom is that users can freely install various apps without having to go to a specific app store to download apps. This gives users more choices, but it also gives malicious code an opportunity to invade. In recent years, Google has also begun to think about whether this strategy is really necessary. In previous Android systems, you can enable the installation of third-party apps from unknown sources in the system settings, and users can freely install APK files. Although this is very convenient, if you are lured into installing malware, installing apps from 'unknown sources' may cause potential harm. After Android 8.0, Google removed the switch for "Allow apps from unknown sources" that was easily abused. If you still want to install an app from a developer you trust, you need to manually grant permission to "install unknown apps" for each source of the app. For example, if you use a browser to download APK, you must grant the browser permission to install unknown applications; if you use a third-party store, you must also grant the store relevant permission. Android 8.0 has stricter restrictions on the installation of third-party apps. It is no longer a one-time solution to just check a switch in the system. Although Google has not completely restricted users from installing apps, it is adding more restrictions. In the future, Android may require entering a password or verifying a fingerprint to install apps from other sources. I hope Google will never block this routine and let Android lose its unique charm. Limiting Applications to Use APIs Having said the many restrictions of Android 8.0, let's talk about Android 9.0. Compared with Android 8.0, Android 9.0 has even more restrictions. For example, Android 9.0 may adopt stricter API access rights, restricting applications from accessing APIs that are not documented in the Android SDK. Android 9.0 has not been officially released yet, but some developers have obtained some information from the report. It shows that Google will lock the APIs that apps can access. Some system APIs will no longer be provided to apps, and apps will find it difficult to use uncertified APIs. What will be the result? It will directly cause the push and share functions of many apps to fail. The reason why some apps can implement the push function is that they use some third-party push platforms and need to access relevant APIs. In Android 9.0, this path may not be feasible. Unofficial public APIs may not be used in Android 9.0 There are both advantages and disadvantages to restricting apps from calling random APIs. As mentioned before, the disadvantages will limit the implementation of push sharing and other functions to a certain extent. So what are the advantages of restricting APIs? Many apps now access the API of third-party push platforms to implement push functions. In addition to providing push services, these push platforms also take on the annoying problems of apps waking up each other and staying in the background. After all, if you want to receive push notifications all the time, the background of the app cannot be killed at will. Therefore, in Android 9.0, some methods of apps staying in the background will be invalid, which should be considered a good thing. Limit background functions of apps In addition to limiting APIs, Android 9.0 also began to restrict certain behaviors of apps in the background. In the past, Android apps could do many things quietly even in the background, such as recording audio and video, and many sneak photography apps used this feature to implement related functions. However, in Android 9.0, apps can no longer do whatever they want, and many functions in the background can no longer be implemented. Apps can no longer call the camera in the background For example, in Android 9.0, apps can no longer access camera permissions in the background, making it impossible to secretly take photos or videos. In fact, in Android 8.0, if an app accesses the camera in the background, the system will display a warning message in the notification bar. In Android 9.0, Google has finally done something extreme, completely blocking apps from secretly taking photos in the background. In addition to prohibiting the use of the camera in the background, Android 9.0 will also interfere with the background call recording, and will automatically add a reminder tone with a frequency of 1400Hz and repeated every 15 seconds to the call, so that the other party will know that the call is being recorded. In addition, the geolocation function of the App in the background has also been restricted. The App can no longer request positioning all the time, but can only send a positioning request once at a certain interval. Android 9.0's restrictions and interference with background functions are actually beneficial to protecting privacy, but this also makes the system functions lack some freedom, and some practical apps are no longer effective - for example, when some anti-theft apps detect that a phone has been stolen, they will automatically take a photo and send it to the owner, which cannot be done in the new system. Android's approach is undoubtedly moving closer to iOS. Of course, it is not yet like iOS, which limits apps to only playing music, downloading, and other limited tasks in the background. Summarize Although Android is still the representative of freedom in the mobile market, it has actually been constantly adding various restrictions, such as stripping more and more code from the open source AOSP to the closed-source GMS, adding an App permission management system, restricting App from writing data to the storage directory, and so on. Each new generation of Android is basically the most restrictive one. Following this trend, will Android end up being the same as iOS? What kind of experience will Android 9.0 bring? Let's look forward to the Google I/O Developer Conference in May. |
<<: The first version of 5G international standards will be completed in June: China takes the lead
>>: 10 common problems faced by programmers
Today is the Lantern Festival. Are you ready to e...
Bloggers are one of the important groups on Xiaoh...
On May 16, TAGE Intelligent Driving brought its l...
background In the Android system, processes are i...
No matter what kind of market it is, as long as y...
On the morning of January 9, the 2019 WeChat Open...
Activities are a very important way to quickly at...
In this article, the author will start with Pindu...
The official said that Xiaomi 8 has the best came...
If we were to rank the useless organs in the huma...
Technology has almost become a synonym for Honda,...
Audit expert: Jin Tao Chief Physician of Hematolo...
People of different eras created big brands that ...
Even the new graduates I teach know the AARRR mod...