VirtualApp的系统升级适配从表面上看起来错综复杂,但是如果我们细心去研究就会发现,也是有迹可循的。下面我们来看一段网络代码,结合具体的例子来讲述具体要怎么适配。
如图:我们看到在android11版本对以下方法做了callingPkg替换。

我们再来看一下android10和android11的源码在这一块有什么不同。
我们先看android10源码

再看adnroid11的源码

我们发现,android11的ConnectActivityManagerService的getNetworkCapabilities方法多了一个String callingPackageName参数。
我们来看看ConnectivityService的源码来一探究竟。
android11的源码

android 10的源码