Skip to content

Latest commit

 

History

History
702 lines (583 loc) · 47 KB

README_eng.md

File metadata and controls

702 lines (583 loc) · 47 KB

中文文档

VA Product description & Development guidance

What is VA?

VirtualAPP (abbreviation: VA) is a sandbox product running on Android system, which can be understood as a lightweight "Android virtual machine". Its product form is a highly extensible, customizable, integrated SDK that allows you to develop a variety of seemingly impossible projects based on or using VA. Now, VA is widely used in many technology fields as following: mini game collection, blockchain, cloud control, silent hot fix and so on. On the one hand, you can realize cloud control mobile office security and achieve military and government data isolation with VA. On the other hand, you can implement script automation, device-info-mock, and plug-in development. Meanwhile, you can realize multi space and games booster. You can also rent the mobile game account and use the mobile controller without activation by VA.
The code on Github has stopped updating in December 2017. The code of business version is continuously being updated. If you need license to obtain the latest code, please contact WeChat: 10890.

Terminology in VA

Terminology Explanation
Host The APP that integrates the VirtualAPP SDK is called host.
Host Plug-in A host package is used to run another ABI on the same device. It also called plug-in package,extension package, host plug-in package, host extension package.
Virtual APP / VAPP App installed in the VA space
External APP App installed in the device

VA Technical architecture


VA technology involves the APP layer, Framework layer and Native layer of Android in total. App must be installed on the system before it can run. The APP installed inside the VA space is not actually installed into the system, so it cannot run. Then how to get it to run? Answer: The only way to do this is to "cheat" the system into thinking it has been installed. This "cheat" process is the core work of the VA Framework, and is also the core technical principle of the VA.

Here is the description of what did each layer do:

Layer Main work
VA Space An internal space is provided by the VA for the installation of the APP to be run inside it, and this space is system isolated.
VA Framework This layer is mainly a proxy for Android Framework and VAPP, which is the core of VA. And VA provides a set of VA Framework of its own, which is between Android Framework and VA APP.
1. For VAPP, all the system services it accesses have been proxied by VA Framework, which will modify the request parameters of VAPP and send all the parameters related to VAPP installation information to Android Framework after changing them to the parameters of the host (Some of the requests will be sent to their own VA Server to be processed directly, and no longer send to the Android system). This way Android Framework receives the VAPP request and checks the parameters, and it will think there is no problem.
2. When the Android system finishes processing the request and returns the result, the VA Framework will also intercept the return result and restore all the parameters that have been original modified to those that were sent during the VAPP request. This way the interaction between VAPP and Android system can work.
VA Native The main purpose of this layer is to accomplish 2 tasks: IO redirection and the request modification for VA APP to interact with Android system.
1. IO redirection is some APPs may be accessed through the hard code absolute path. But if the APP is not installed to the system, this path does not exist. Through IO redirection, it will be redirected to the path to install inside VA.
2. In addition, there are some jni functions that cannot be hooked in VA Framework, so they need to be hooked in the native layer.

In summary: As you can see from the above technical architecture, the internal VA APP actually runs on top of VA's own VA Framework. VA has intercepted all system requests from its internal APP, and through this technology it can also have full control over the APP, not just the multi space. And for the convenience of developers, VA also provides SDK and Hook SDK.

VA Process architecture#


There are five types of processes in the VA’s runtime: CHILD process, VA Host Main process, VA Host Plugin process, VAPP Client process, and VAServer process. To support both 32-bit and 64-bit APPs, VA needs to install two packages: a master package and a plug-in package ( In this document, the main package is 32 bits and the plug-in package is 64 bit ). Two packages are also necessary because a package can only run in one mode, either 32-bit or 64-bit. So for 32-bit APPs, VA uses the 32-bit main package to run, and for 64-bit APPs, VA uses the 64-bit plug-in package to run. The main package contains all the code of VA, and the plug-in package contains only one piece of code that loads the main package code for execution, no other code. So plug-in package rarely needs to be updated, just the main package. In addition, whether the main package is chosen to use 32-bit or 64-bit can be modified in the configuration file ( For example, for users who want to access GooglePlay, it will be modified to 64-bit for the main package and 32-bit for the plug-in package ).

The functions and explanations of the each type of process are as follows:

Process Type Function
CHILD Other processes integrated by VA Host, such as: keepalive process, push process, etc.
VA Host Main The process where the UI main interface of the VA main package is located. The default main package is 32-bit and the plug-in package is 64-bit, which can be modified and switched in the configuration file
VA Host Plugin The process that supports the plug-in package of 64-bit APP. The default main package is 32-bit and the plug-in package is 64-bit, which can be modified and switched in the configuration file.
VAPP Client The process generated by the APP installed into VA after it starts, it will modify io.busniess.va:pxxx process name to the real process name of VAPP when it runs.
VAServer The process where the VA Server is located, it is used to handle requests in VA that are not assigned to the system for processing, such as APP installation processing.

VA can satisfy almost all your needs

Through the above technical architecture, we can know that VA can fully control APP and provide Hook SDK, which can satisfy almost all your needs in various fields:

  1. Satisfy the need of dual/multi space
    VA allows you to install multiple WeChat/QQ/WhatsAPP/Facebook and other APPs on the same mobile phone, so you can have one phone with multiple accounts logged in at the same time.

  2. Satisfy the need of mobile security
    VA provides a set of internal and external isolation mechanisms, including but not limited to (file isolation / component isolation / process communication isolation). Simply speaking, VA internal is a "completely independent space". Through VA, work affairs and personal affairs can be safely separated without mutual interference. With a little customization, you can achieve mobile security-related needs such as application behavior audit, data encryption, data acquisition, data leakage prevention, anti-attack leaks and so on.
    2.1 Application behavior audit
    The HOOK capability provided by VA can realize real-time monitoring of user usage behavior and upload violation information to the server. And it's easy to implement things like Time Fence ( whether a feature of the APP can be used in a certain time ), Geo Fence ( whether a feature of the APP can be used in a certain area ), sensitive keyword filtering interception and other functional requirements.
    2.2 Data encryption
    The HOOK capability provided by VA can realize all data/file encryption of the application, ensuring data/file landing security.
    2.3 Data acquisition
    The HOOK capability provided by VA can realize the demand for real-time silent upload of application data, such as chat records and transfer records, preventing them from being deleted afterwards without traceability.
    2.4 Data leakage prevention
    The HOOK capability provided by VA can realize application anti-copy/paste, anti-screenshot/recording, anti-sharing/forwarding, watermark traceability and other requirements.
    2.5 Anti-attack leaks
    With the application control capability provided by VA, privacy-related behaviors such as SMS/ address book/call log/ background recording/background photo/ browsing history and location information can be completely controlled in sandbox, prevent Trojan horses/malicious APPs from acquiring users' real private data, causing serious consequences such as leakage of secrets.

  3. Satisfy the need of ROOT without HOOK
    VA provides Hook capability of Java and Native. With VA, you can easily achieve functions required by various scenarios, such as virtual positioning, changing device, APP monitoring and management, mobile security and so on.

  4. Satisfy the need of silent installation
    VA provides the ability to silently install, silently upgrade and silently uninstall APPs. For example, the application store or game center can be integrated with VA to avoid the need for users to manually click to confirm the installation operation, so that it can be installed into VA immediately after downloading, bringing users an experience like "small program" , completely avoiding the problem of applications not easily installed by users.

  5. Satisfy the need of APP controlled
    You can clearly grasp the system API, sensitive data, device information, etc. accessed by the APP through VA. For example, whether the APP accesses the contacts, photo albums, call log, whether it accesses the user's geographic location and other information. Of course, you can also control or construct custom messages to these APPs via VA, and not only that, you can also get access to the APP's private data, such as chat database and so on. In a word, through the application control capability provided by VA, you can easily control all the behaviors of the APP, even modify the content of the APP and server interaction and so on .

  6. Satisfy the need of overseas markets
    VA implements support for Google services to support overseas APPs running, such as Twitter, Messenger, WhatsAPP, Instagram, FaceBook, Youtube and so on.

  7. Satisfy the need of almost everything you can think of
    VA has complete oversight and control over the internal APP, and can meet almost any of your needs!

  8. VA is also the only commercially licensed product in this technology area
    Hundreds of licensed customers are currently paying to use the business version of VirtualAPP code, and the APP integrated with VirtualAPP code is launched more than 200 million times per day. Many Android engineers provide us with user feedback in different scenarios, and through our technical team's continuous optimization and iteration, we continue to improve product performance and compatibility.

VA Specialized capabilities

  • Cloning ability
    You can clone the APP already installed in the external system and run it internally without mutual interference. Typical application scenario is double space.

  • Without installation ability
    In addition to cloning already installed, VA can install (externally silent ) apk's directly internally and run them directly internally. Typical application scenarios are plug-in, standalone APP marketplace and so on.

  • Double space ability
    VA is not only "double space", but also has a unique multi-user mode that allows users to open the same APP internally for an unlimited number of times.

  • Internal and external isolation ability
    VA is a standard sandbox, or "virtual machine", that provides a set of internal and external isolation mechanisms, including but not limited to (file isolation/component isolation/process communication isolation). Simply put, the inside of a VA is a "completely separate space". Simply put, the inside of a VA is a "completely separate space". Based on it, you can realize a "virtual phone" on your cell phone with a little customization. Of course, you can also use your imagination to customize it for data encryption, data isolation, privacy protection, and enterprise management applications.

  • Full control over internal APPs ability
    VA has complete monitoring and control over the internal APP, which is absolutely impossible to achieve in an external environment without Root.

Details(Drop down to open) 1. Service request control. First, VA directly provides some service request interception, you can easily customize these service requests when integrating VA, including but far from limited to (APP request to install apk / APP request to open certain files / APP request for location data / APP request for phone information, etc.)

2. System API control. VA virtualizes and implements the entire Android system framework, which is the principle that VA can run apk internally without installation. And you can through modify the virtual framework's implementation to dynamically monitor and analyze the behavior of the app, etc. In addition, you can also mock some system behavior to achieve some needs that are difficult to achieve externally (e.g. game controller).

3. Memory read and write. VA can read and write the memory of internal APP processes without Root.

4. Root without debugging. VA can debug (ptrace) internal APP processes without Root, based on which you can also achieve Root-free process injection.

5. Load arbitrary "plug-in" and "behaviors". The APP process inside VA is derived from the Client side code of the VA framework, so you can insert any "load" and "control" logic into the entry code of the process. These are very simple to implement.

6. Hook. VA has a set of built-in Xposed framework and native hook framework running on all versions of Android (until AndroidQ), based on it, you can easily Hook any Java/Native of any internal APP.

7. File control. VA built in a complete file redirection, which allows easy control of reading and writing of files from internal apps. Based on it, you can realize many functions such as protection and encryption of files can be achieved.

8. Note: The above control capabilities are implemented with code or examples for reference.

VA Other features

  • High performance
    Process-level "virtual machine", VA's unique implementation model makes its performance almost the same as that of the native APP, and does not need a long startup of ordinary virtual machines.

  • Full version support
    Support 5.0-12.0, 32-bit/64-bit APP, ARM and X86 processor. And support Android version in the future which will be updated.

  • Easy Expansion and Integration
    The integration of VA is similar to the normal Android library, even if your APP has been online, you can conveniently integrate VA and enjoy the capability brought by VA.

  • Support Google services
    Provide support for Google services in order to support overseas APPs.

Comparison between VA and other technical solutions

When doing enterprise-level mobile security, it is often necessary to control the APP, and the following is a comparison of possible technical solutions listed:

Technical solution Principle introduction Comment Running performance Compatibility stability Project maintenance cost
Repackage Repackage the target APP by decompiling it and adding your own control code 1. Nowadays, almost all APPs have hardened or tamper-proof protection, and repackaging is already a very difficult task
2.The mobile phone system will also detect whether the APP is repackaged, if it is repackaged, it will directly prompt the user that there is a security risk, and even not allow the installation
3.For each APP, even each version to go deep to reverse analysis, time-consuming and difficult to maintain
Excellent Poor High
Custom ROM By customizing the system source code and compiling it to flash to the designated mobile phone Only for specified internal mobile phones, too limited to be extended Excellent Excellent High
ROOT the mobile phone By rooting the mobile phone,flashing a framework which is similar to Xposed 1.Now, root the mobile phone is an unlikely thing
2.In reality, it is difficult for users to root their own mobile phones
Excellent Poor High
VA Lightweight virtual machine with high speed and low device requirements No risk point mentioned above Excellent Excellent. Hundreds of companies testing feedback at the same time Low.
VA provides API and a professional technical team to ensure the stable operation of the project

As you can see from the above comparison, VA is an excellent product and can reduce your development and maintenance costs.

Integrating VA Steps

Step 1: Call the VA interfaceVirtualCore.get().startup()in your application to start the VA engine.
Step 2: Call VA interfaceVirtualCore.get().installPackageAsUser(userId, packageName)to install the target APP into VA. Step 3: Call VA interfaceVActivityManager.get().launchApp(userId, packageName)to start the APP.
With only the above 3 APIs to complete the basic use, VA has shielded the complex technical details and provided the interface API to make your development easy.

VA compatible stability

VA has been extensively tested by ** hundreds of **companies, including high standards of testing and feedback of dozens of listed companies, covering almost all types of equipment and scenarios at home and abroad, providing full protection for your stable operation!

Up to now, the supported system versions:

System version Whether to support
5.0 support
5.1 support
6.0 support
7.0 support
8.0 support
9.1 support
10.0 support
11.0 support
12.0 support

Supported App Types:

App Type Whether to support
32-bit APP support
64-bit APP support

Supported HOOK Types:

Hook Type Whether to support
Java Hook support
Native Hook support

Supported CPU Types:

Hook Type Whether to support
ARM 32 support
ARM 64 support

How to give feedback on problems encountered with integrated VA ?

After the purchase of the license we will establish a WeChat group, any problems can always feedback to us, and according to the priority in the first time to deal with.

VA Development document

Please refer to the VA development documentation:Development document

License Instructions

VirtualApp virtual machine technology belongs to: Jining Luohe Network Technology Co., LTD. It applied for several VirtualApp intellectual property rights from 2015 to 2021 and is protected by the Intellectual property Law of the People's Republic of China.When you need to use the code on Github, please purchase a business license,and receive the full source code of the latest VirtualApp business version.Hundreds of licensed customers are paying to use the business version of VirtualApp code, and the app integrated with VirtualApp code is launched more than 200 million times a day. Many Android engineers provided us with user feedback in different scenarios, and through our technical team's continuous optimization and iteration, VirtualApp Business Edition code has better performance and higher compatibility. The company of that year will become one of them after obtaining the license, and enjoy the technological achievements after the continuous iteration. And we can interact and collaborate with our licensed customers operationally, technically and commercially.


Person in charge: Mr. Zhang
Telephone: +86 130-321-77777
WeChat:10890

Serious statement

If you use VirtualApp for internal use, business profit or upload it to the application marketwithout licensing. We will take evidence and then report you to the police (for copyright infringement) or prosecute you. It will cause your company to undertake criminal liability and legal action, and affect your company's goodwill and investment.Purchasing a business license can save you a lot of time developing, testing and refining compatibility, leaving you more time for innovation and profitability.Luo He Technology has called to the police and sued a number of individuals and companies in 2020.

In response to the national call for the protection of intellectual property rights! Anyone who reports that his or her company or other companies are using VirtualApp code to develop products without licensing will be given a cash reward upon verification. We will keep the identity of the whistleblower confidential! Reporting WeChat: 10890.


Major updates of the business version

  1. Compatible with the latest Android S
  2. Not easily misreported by anti-virus software
  3. Framework optimization, performance greatly improved
  4. Mobile system and APP compatibility greatly improved
  5. Run Google services perfectly
  6. Supports running pure 64-bit Apps
  7. Built-in XPosed Hook framework
  8. Add positioning mock code
  9. Add code to change device
  10. Nearly 400 other fixes and improvements, please see the following table for detail

2017 - 2021 Business Edition Code Update Details

September 21, 2021 to October 27, 2021 Business Edition Code Updates

371、Fix the compatibility problem of Tik Tok Speed version
370、Fix readlinkat return value precision
369、Fix the problem of installing APP from outside, not referencing org.apache.http.legacy
368、Fix Huawei Nova 5i, 64-bit main package compatibility
367、Fix external storage redirection issue on 11.0
366、Fix the GMS login problem on 11.0
365、Fix 11.0 some APP read and write sdcard error problem
364、Fix the problem that APP may not open after the death of VA core process
363、Add the error log that can't start when no plug-in is installed

August 22, 2021 to September 20, 2021 Business Edition Code Updates

362、Horizontal screen re-adaptation
361、Fix the problem that some APPs cannot be opened after installation through file protocol
360、Fix the problem of Intent data loss in the Intent passed to JobIntentService
359、Fix the problem that the second call of JobIntentService does not work
358、Fix the problem of crashing some APPs on Huawei cell phones
357、Fix the game login problem on Xiaomi phone
356、Fix the problem that some applications cannot be opened after reinforcement
355、Add detection of associated start permission
354、targetSdk 30 adaptation
353、Fix the problem that some applications can't access the Internet when targetSdk is 30
352、Fix the problem that sdcard can't be accessed when targetSdk is 30
351、Use cmake to replace gradle task in compile script.
350、Remove obsolete documents

December 2017 to August 21, 2021 Business Edition code updates (Drop down to open)

August 7, 2021 to August 21, 2021 Business Edition code Updates

349、Tweak and optimize gradle script
348、hidedenApiBypass support for Android R+
347、targetSdk 30 support
346、Fixthe bug that VIVO system service
345、Fix the bug that VIVO phone can't use camera
344、Fix dex loading abnormal state acquisition
343、Fix libart.so path problem on Android R
342、Fix the bug of Andoid Q+ delete notification
341、Fix the permission check of APN uri
340、Fix Android R suspend resume thread state
339、Fix some hook failure cases in debug mode
338、Fix some bugs of hook after R

April 25, 2021 to August 6, 2021 Business Edition Code Updates

337、Fix the problem that some phones cannot upload avatars in Tan Tan
336、Fix Android 10 Huawei device IO redirection problem
335、Adjust the horizontal and vertical screen logic, reduce the occurrence of abnormalities
334、Add the callback interface of Activity life cycle
333、Fix the broadcasting problem of Android 12
332、Fix the bug of abnormal status of some interfaces of WeChat
331、Fix the support of Outlook, One drive, Teams, Zoom and other overseas APPs.
330、Fix the bug Android 11 a permission request
329、Fix the problem that some cocos2d engines only display half screen
328、Fix the problem that WeChat can not send files under multi-user
327、split apk support
326、Android S support

February 24, 2021 to April 24, 2021 Business Edition Code Updates

325、Adapt to multi-user environment
324、Fix the compatibility problem of the new version of WeChat
323、Compatible with more enterprise level reinforcement
322、Support VAPP setting power source optimization
321、Fix missing permission statement
320、Fix the reference of android.test.base library on Android 11
319、Optimize ext plugin judgment
318、Optimize the selection of ABI during installation
317、Fix Google docs crash on Android 11

October 15, 2020 to February 23, 2021 Business Edition Code Updates

316、Solve the compatibility of the new version of Love Encryption, Bang Bang and other reinforcement
315、Fix the problem of WhatsApp not showing cold boot Splash
314、Optimize the recognition of system APP
313、Improve the support in multi-user environment
312、Solve the problem that ext plug-in is stuck in some cases
311、Support Google Play to download APP in VirtualAPP
310、Fix the problem that Android 11 QQ can not display pictures
309、Compatible with Android 11 running Google Service
308、Fix the problem that Android 11 can't run chromium
307、Support Hook @CriticalNative Method
306、Fix the problem that JDK 13 cannot be compiled and run
305、Fix the problem that Service may crash in some cases
304、Fix the problem that Android 11 cannot load private data of external storage
303、Fix the problem that low version APP cannot use org.apache.http.legacy
302、Fix the problem that the system task stack only shows the last one in some cases
301、Improve the build script for different platforms
300、Fix the problem that Android 11 cannot read obb
299、Fix the problem that the software is not backward compatible
298、Rebuild VAPP installation framework
297、Rebuild virtual file system
296、Fix the problem that WebView cannot be started under certain circumstances
295、Fix the bug of VAPP uninstall and reinstall
294、Fix the mobile game "LOL" login exception problem
293、Support the installation of Splits APK
292、Support dynamic configuration of the main package environment
291、Fix the problem of 32-bit QQ calling 64-bit WeChat delay
290、Fix the problem of Messenger calling Facebook crash
289、Optimize the support of Google service framework
288、Realize the new extension package synchronization mechanism
287、Fix the exception problem of Android 11 official version
286、Add system Package cache to optimize performance
285、Fix the bug that the disabled component can still be queried by PMS
284、Fix the problem of abnormal Launch behavior in some interfaces of WeChat
283、Fix the bug that ContentProvider.getCallingPackage returns Host package name
282、Fix the bug of uid virtualization and solve the problem that some app permission check fails
281、Rewrite the implementation of PendingIntent, IntentSender
280、Optimize process management, fix the long-standing probabilistic process deadlock problem
279、Rewrite Service implementation, Service life cycle more accurate, not easy to be killed

September 13, 2020 to October 15, 2020 Business Edition Code Updates

278、Fix the problem that 64-bit APP cannot call 32-bit APP
277、Fix the problem of loading HttpClient in Android R
276、Fix the problem of a crash in Android R debug mode

August 23, 2020 to September 12, 2020 Business Edition Code Updates

275、Add the missing service hook
274、Fix the problem that Baidu Translate cannot be started
273、Fix the problem that the split app downloaded by GP cannot be started

July 10, 2020 to August 22, 2020 Business Edition Code Updates

272、Fix Service creation
271、Add missing Hook for NotificationService
270、Fix Yotube crash

May 19, 2020 to July 9, 2020 Business Edition Code Updates

269、Preliminary adaptation of Android 11 beta1
268、Fix the problem of multi space flashback in RED
267、Fix the problem of "Application signature is tampered" reported by multi space of some APPs

April 24, 2020 to May 18, 2020 Business Edition Code Updates

266、Fix sh call error
265、Fix the problem that Facebook cannot be logged in in the latest version of 9.0 or above
264、Help Enterprise WeChat to fix the problem that it can't take photos when starting virtual storage
263、Fix the problem that 64-bit APP can't open Activity in some cases

March 24, 2020 to April 23, 2020 Business Edition Code Updates

262、Fix the problem that Vivo device prompts to install game SDK
261、Fix the problem that Android Q cannot load some system so
260、Fix Huawei device microblog not responding
259、Ignore crashes caused by unnecessary permission checks
258、Fix the crash of WPS sharing files
257、Flashback issue in some 10.0 devices

March 7, 2020 to March 23, 2020 Business Edition Code Updates

256、Fix WeChat open two pages at the same time problem
255、Fix the problem that WeChat login successfully but return to the login page
254、Fix the problem that the latest version of QQ can not download attachments
253、Update SandHook version
252、Fix the problem of unsigned Apk installed above 9.0
251、Fix the positioning problem of 10.0

January 16, 2020 to March 6, 2020 Business Edition Code Updates

250、Tweak lib redirection logic
249、Fix crash issue on Samsung 10.0 systems
248、Fix hook exception in release build
247、Add SandHook proguard rules
246、Fix compatibility issue with VirtualApk in some APPs
245、Fixed VA internal request to install apk failed

December 26, 2019 to January 15, 2020 Business Edition Code Updates

244、Fix a missing hook in Android Q
243、Disable AutoFill in Emui10
242、Add new api to end all Activity

December 15, 2019 to December 25, 2019 Business Edition Code Updates

241、Fix the problem that enterprise WeChat and other apps cannot be launched on Emui10
240、Fix a possible crash in 4.x
239、Upgrade SandHook to fix Hook for Thread class
238、Fix the permission problem caused by some interfaces of Android Q

November 20, 2019 to December 14, 2019 Business Edition Code Updates

237、Fix crash caused by Notification cache
236、Fix classloader issue of high version Notification

November 9, 2019 to November 19, 2019 Business Edition Code Updates

235、Fix ART Hook for Android 5.x
234、Fix the deadlock problem caused by ART Hook

November 2, 2019 to November 8, 2019 Business Edition Code Updates

233、Fix WPS, NetEase Mail, etc. crashing on Q devices
232、Fix the problem that Tom Cat Run crashes on some Q devices
231、Fix the problem that QQ crashes on some Q devices

October 25, 2019 to November 1, 2019 Business Edition Code Updates

230、Fix cloning Google Play download of 64-bit APP
229、Fix Enterprise WeChat
228、Fix Telegram

October 8, 2019 to October 24, 2019 Business Edition Code Updates

227、Fix the exception of AppOspManager under Android P
226、Add the missing Hook of ActivityTaskManager under Android P
225、Fix the exception of Activity Top Resume under Android P
224、Support running in system multi-user mode

October 8, 2019 Business Edition Code Updates

223、Fix the issue of Android P or above internal app returning to desktop exception
222、64-bit branch support for Android Q

September 20, 2019 to October 7, 2019 Business Edition Code Updates

221、Fix the problem that the apk installed in the extension plugin cannot display the icon and name correctly
220、Fix the problem that twitter cannot be opened
219、Officially compatible with Android Q official version
218、Fix the problem that some Activity of Android Q cannot be opened again
217、Initially compatible with Android Q official version
216、Fix several bugs of 64-bit branch
215、Newly add 64-bit branch to support 32-bit plugins, the branch supports 32-bit old devices and 64-bit devices can support 32-bit old applications in the case of 32-bit plug-ins

December 2017 to July 30, 2019 Business Edition Code Updates

214、Improve APP layer prompt message
213、Improve some code
212、Fix the method of sending broadcast from host to plug-in
211、Compatible with the latest gradle plug-in
210、Add broadcast namespace to avoid multiple APPs that use VA technology to interfere with each other
209、Fix the problem that IMO can't be opened
208、Fix the problem that some ContentProvider cannot be found
207、Support pure 32-bit mode to be compatible with old devices
206、Preliminary support for pure 64-bit mode to cope with the change of Google Marketplace strategy in August
205、Adapt to Android Q beta4
204、Fix the problem that Cargo LaLa can't be installed
203、Optimize the decision logic of 64-bit apk
202、Fix networking of App with network certificate configuration
201、Refactored component state management
200、Optimize MIUI/EMUI ContentProvider compatibility
199、Fix StorageStats Hook
198、Fix Kwai can't login
197、Fix YY can not start, better compatibility with plug-in framework
196、Fix Facebook login
195、Fix the problem of Google Play downloaded App can not find so (Royal War)
194、Fix split apk support
193、Fix Youtube can not start
192、Fix the problem that Youku can not start
191、Fix the bug that there may be broadcast namespace conflict between apps when multi space
190、Adopt a new strategy to bypass the Hidden Policy API after Android P
189、Adapted to Android Q(beta1)
188、Fix the problem that some APPs of Huawei devices cannot recognize the storage
187、Fix the problem that the startup process may fail dues to the APP cannot run
186、Fix the problem that some native symbols cannot be found in 4.4 devices
185、Fix the problem that some devices fail to get the package name of WebView
184、Fix the problem of Service detail processing
183、Optimize startup speed
182、Fix WebView loading failure in a few devices
181、Fix the problem of Lib decision
180、 Fix the problem that some Huawei models cannot read the sdcard
179、Fix the problem that Service may exist
178、Allow to determine whether Activity is started externally based on intent
177、Fix Gms and Google Play launching to incorrect environment on some models
176、Fix the compatibility problem caused by the newly implemented StaticBroadcast
175、Fix the problem that apache.http.legacy cannot be used on Android P
174、Implementation of Native trace
173、Optimize IO Redirect performance
172、Fix the problem that wechat can't connect to the network in some cases
171、Fix the small probability process attach of incorrect BUG
170、Start the next phase of ROADMAP
169、Fix the problem caused by the inability of Android P to register more than 1000 broadcasts
168、Fix the DeadLock that may cause ANR
167、Fix the problem that some apps fail to load so dynamically
166、Fix the problem that some models have black screen when opened for the first time under the without installation running environment
165、Compatible with many mainstream Android emulators
164、Optimize startup performance
163、Solve several memory leaks
162、Fix the problem of IO Redirect priority
161、Fix the problem of no network connection of Messenger for devices below 8.0
160、Fix the bug that the internal app is still retained when the external APP is uninstalled when double space
159、Fix the problem that some Tencent reinforcement cannot run
158、 Fix the bug that Instagram cannot login to Facebook
157、Fix the bug that the process may start repeatedly with small probability
156、Fix the bug that GET_PERMISSIONS does not get permission
155、Fix the bug that startActivityIntentSender
154、Fix the problem that some Activity cannot be started in Vivo devices
153、Fix the problem that app cannot call external APP to select files
152、Improve the compatibility of Android P
151、Compatible with Google service of Android P
150、Fix the problem that some functions of Messenger are abnormal
149、Improve IO Redirect
148、Adapt a lot of Gms, fix the problem that the process restarts infinitely during the operation of Gms
147、Realize the running mechanism of Service
146、Improve 64bit, provide some ROM configuration 64bit Engine permission API
145、Fix the Activity startup problem on 4.4 devices
144、Support excludeFromRecent property
143、Fix the problem that Instagram can't Facebook login
142、Fix the problem of Facebook first login flashback
141、Support to run Gms, Google play, Play game in 64-bit mode
140、Support downloading and installing APPs in Google play running without installation/in multi space
139、Fix the bug of DownloadManagerG
138、Fix the bug of restarting the interface when Google play returns to the upper level
137、Fix the problem of so decision in without installation mode
136、Optimize the build script to facilitate the introduction of the project
135、Fix the problem that mobile MM SDK can't start
134、Fix the bug of WeChat Shake
133、Fix the bug of ZTE device instability
132、Support IO Redirect under ARM64
131、Fix the bug that the internal app is not updated when the external app is updated in USE_OUTSIDE mode
130、Compatible with the latest Android 9.0 (code name: pie) and the four Preview versions released before the official version
129、Compatible with x86 devices with built-in houdini
128、WindowPreview technology, so that the app launch and the real app to achieve the same speed
127、New ActivityStack to improve the quality of APP running
126、Solve the problem of app running exception with adding Atlas Framework
125、Now you can define the specific behavior of the virtual app back to the desktop
124、APP in the double space dynamically updated with the system, no need to manually check
123、Support targetSdkVersion >= 26, but still can normally run the low version of the APP
122、Compatible with QDroid virtual engine of Tencent Game Manager (beta)
121、Extensive refactoring of the underlying code to greatly improve the running speed
120、Fix the problem that NetEase News cannot be cancelled after sharing to Weibo
119、Fix the problem that APP custom permission cannot be identified
118、Fix the problem that the MoJi weatherAPP can not start
117、Fix the problem that some government APPs cannot be started
116、See code for details of API changes
115、Fix the problem of Samsung series APPs calling each other
114、Fix the account problem of Xiaomi APP in non-Xiaomi system
113、Fix third-party calls such as share/send, the return page is not normal
112、Fix the problem of APP Store of QQ can not be installed
111、Call the third-party APP, encryption of uri
110、Adapt the front bangs
109、Adapt the hook of Xiaomi rom
108、Adapt Nubia recording problem
107、 Internal hover window permission control
106、Optimize the processing of custom notification bar
105、Fix the INCLUDE_CODE permission problem of Context
104、Adapt Huawei, oppo's corner mark
103、Fix the process restart problem of Baidu video
102、Fix some snapchat can not start problem
101、Adapt autofill service, such as piexl series
100、Improve the 64-bit io hook
99、Optimize the compatibility of hook library, add back dlopen
98、Move the 64-bit extension package so to the 32-bit main package. (After jni code change, please build once before Run)
97、Notification bar changes: adapt 8.1 notification channel; remove the application, remove all notifications of the application
96、Compatible with some APPs, need to set android:largeHeap=true
95、Fix the ffmpeg library video can not play the problem
94、Optimize horizontal and vertical screen switching
93、Lower the limitation of calling external Activity through Intent
92、Compatible with MG SDK
91、64-bit support is still in the development stage
90、Update obfuscation configuration APP/proguard-rules.pro, must add the rule -dontshrink
89、Optimize the mock device, for example: after mock, some APPs do not appear device verification
88、Improve dex2oat compatibility
87、Optimize mock positioning
86、Remove dlopen
85、targetVersion can be changed to 26: support targetVersion<23 app dynamic permission application, support targetVersion<24 file Uri
84、installPackage changed to default asynchronous form
83、In order to support 64-bit mode, change back to aidl
82、Remove SettingHandler can now dynamically set special rules, the rules will be stored, no need to repeat settings
81、Add 2 native_setup
80、Improve jobService compatibility
79、ShortcutService related: associated VASettings.ENABLE_INNER_SHORTCUT
78、For the sake of stability and running efficiency, remove the Bluetooth, wifi and undeclared permission adaptations of the previous version
77、Add APP starts abnormal broadcast Constants.ACTION_PROCESS_ERROR
76、Fix a few games horizontal screen judgment problem
75、Demo adds device mock
74、Adapt Vivo a custom permission (background pop-up), VA is to return a history acitivty to the foreground. Vivo needs this permission
73、If there is no Bluetooth permission, return to the default value (overseas use it)
72、Fix uid permission check problem
71、Security updates, file permission control for internal applications
70、Improve the compatibility of internal APP calls, third-party login, sharing
69、Automatic filtering of external ContentProvider without permissions
68、Add feature: internal APP permission check (closed by default)
67、Device mock: Build class and build.prop
66、Improve the compatibility of the APP progard
65、Adapt to Samsung wifimanager
64、Fix ipc framework a parameter passing problem (IPCMethod this class must be updated)
63、Fill the 7.0 notification bar hook
62、Fix 8.0 dynamic shortcut menu hook
61、SettingHandler adds a new adaptation interface, mainly adapted to a variety of games
60、Functional changes: google automatic installation to manual installation, to avoid the first start time too long
59、Prohibit access to an external ContentProvider
58、Adapt Huawei desktop icon number
57、Permission classification notes, mark the permissions that can be deleted
56、Add a switch for the APP in double space mode to follow external upgrade
55、Improve the APP jni compatibility
54、Improve compatibility with APP integration of other plug-in frameworks
53、Add setting interface to set according to package name
52、Increase the scope of Uri adaptation to support sharing and viewing files via Uri
51、Fix a problem in Samsung 8.0
50、Improve the compatibility of the app components that come with the system, better compatibility with chrome webview, google service.
49、Improve the stability of ART
48、Increase camera adaptation range
47、Support internal App shortcut management under 8.0
46、Fix exec exception
45、Improve stability (Fix WeChat login flashback)
44、Fix the WeChat database crash problem
43、Fix the crash problem of some 4.4 devices
42、Fix the background application easy to be killed, Tudou video black screen, Sina Weibo can not open, Youku twice return can not exit
41、Increase the application keepalive mechanism, APP double space is less likely to be killed
40、Optimize the performance of virtual engine startup
39、Compatible with most of the reinforcement, third-party APP compatibility compared to the previous version to improve 40% +
38、Fix the shortcut icon is incorrect under some roms
37、Compatible with previous component StubFileProvider
36、Adapt the virtual IMEI of some new roms
35、Improve process initialization code to increase stability
34、Add internal send Intent.ACTION_BOOT_COMPLETED broadcast, you can set the switch
33、Adapt the associated google play game, support the game using google login
32、Adapt the google service framework for android O
31、Adapt android O shortcut
30、Adapt to headset mode
29、Some roms on the size of the intent limit, demo add scaling shortcut icon code
28、Fix the bug in the case of multi space
27、Fix the bug of MediaController in some cases
26、Fix the error of StubFileProvider in 4.1.2
25、Share uri processing
24、Fix the callbacks of cross-app calls to Activity
23、Block switch of notification bar of foreground service
22、Companying doc
21、Improve the CHOOSE callback of intent inside VA
20、Android O notification bar adaptation 2
19、 ipc framework optimization, improve the accuracy of determining the survival of the binder
18、jni's log switch Android.mk:LOCAL_CFLAGS += -DLOG_ENABLE
17、Confusion configuration
16、Notification bar adaptation of Android O
15、Fix the problem of network lag in some APPs
14、Adaptation of android 8.0 dl_open (jni loading)
13、Fix the bug of Huawei emui8.0
12、Improve positioning
11、Set the phone information, imei disguise algorithm
10、Adapted to 8.0 a certain function (the main APP: whatsAPP)
9、Fix internal WeChat and other applications, can not update the picture, video
8、Demo add the installation of listening, automatically upgrade the clone mode applications
7、Adaptations of 7.0 file provider adaptations
6、Add positioning code
5、The code is optimized for the architecture
4、Different features from the open source version
3、Solve some problems of WeChat being blocked
2、Repaire some devices compatibility
1、Repaire 12 small bugs