gitextract__l3v4sn5/ ├── .gitignore ├── AndroidStub/ │ ├── README.md │ ├── build.gradle │ ├── gradle.properties │ ├── proguard-rules.pro │ └── src/ │ └── main/ │ ├── AndroidManifest.xml │ ├── aidl/ │ │ └── android/ │ │ ├── app/ │ │ │ ├── IActivityManager.aidl │ │ │ ├── IApplicationThread.aidl │ │ │ ├── INotificationManager.aidl │ │ │ └── IServiceConnection.aidl │ │ └── content/ │ │ ├── IIntentReceiver.aidl │ │ └── IIntentSender.aidl │ └── java/ │ ├── android/ │ │ ├── app/ │ │ │ ├── ActivityManagerNative.java │ │ │ ├── ActivityThread.java │ │ │ ├── ApplicationThreadNative.java │ │ │ ├── Instrumentation.java │ │ │ ├── LoadedApk.java │ │ │ └── ResourcesManager.java │ │ ├── content/ │ │ │ ├── ContentResolver.java │ │ │ ├── IContentProvider.java │ │ │ ├── pm/ │ │ │ │ ├── ManifestDigest.java │ │ │ │ ├── PackageParser.java │ │ │ │ ├── PackageUserState.java │ │ │ │ └── VerifierInfo.java │ │ │ └── res/ │ │ │ ├── CompatibilityInfo.java │ │ │ ├── Resources.java │ │ │ ├── ResourcesImpl.java │ │ │ └── ResourcesKey.java │ │ ├── databinding/ │ │ │ ├── DataBinderMapper.java │ │ │ └── DataBindingComponent.java │ │ ├── os/ │ │ │ ├── ServiceManager.java │ │ │ └── SystemProperties.java │ │ └── util/ │ │ └── Singleton.java │ └── com/ │ └── android/ │ └── internal/ │ └── R.java ├── CONTRIBUTING.md ├── CoreLibrary/ │ ├── .gitignore │ ├── build.gradle │ ├── gradle.properties │ ├── proguard-rules.pro │ ├── src/ │ │ ├── androidTest/ │ │ │ └── java/ │ │ │ └── com/ │ │ │ └── didi/ │ │ │ └── virtualapk/ │ │ │ └── core/ │ │ │ └── ApplicationTest.java │ │ ├── main/ │ │ │ ├── AndroidManifest.xml │ │ │ ├── java/ │ │ │ │ ├── android/ │ │ │ │ │ ├── content/ │ │ │ │ │ │ └── ContentResolverWrapper.java │ │ │ │ │ └── databinding/ │ │ │ │ │ └── DataBinderMapperProxy.java │ │ │ │ └── com/ │ │ │ │ └── didi/ │ │ │ │ └── virtualapk/ │ │ │ │ ├── PluginManager.java │ │ │ │ ├── delegate/ │ │ │ │ │ ├── ActivityManagerProxy.java │ │ │ │ │ ├── IContentProviderProxy.java │ │ │ │ │ ├── LocalService.java │ │ │ │ │ ├── RemoteContentProvider.java │ │ │ │ │ ├── RemoteService.java │ │ │ │ │ └── StubActivity.java │ │ │ │ ├── internal/ │ │ │ │ │ ├── ActivityLifecycleCallbacksProxy.java │ │ │ │ │ ├── ComponentsHandler.java │ │ │ │ │ ├── Constants.java │ │ │ │ │ ├── LoadedPlugin.java │ │ │ │ │ ├── PluginContentResolver.java │ │ │ │ │ ├── PluginContext.java │ │ │ │ │ ├── ResourcesManager.java │ │ │ │ │ ├── StubActivityInfo.java │ │ │ │ │ ├── VAInstrumentation.java │ │ │ │ │ └── utils/ │ │ │ │ │ ├── DexUtil.java │ │ │ │ │ ├── PackageParserCompat.java │ │ │ │ │ ├── PluginUtil.java │ │ │ │ │ └── Settings.java │ │ │ │ └── utils/ │ │ │ │ ├── Reflector.java │ │ │ │ ├── RunUtil.java │ │ │ │ └── ZipVerifyUtil.java │ │ │ └── res/ │ │ │ └── values/ │ │ │ └── strings.xml │ │ └── test/ │ │ └── java/ │ │ └── com/ │ │ └── didi/ │ │ └── virtualapk/ │ │ └── core/ │ │ └── ExampleUnitTest.java │ └── upload.gradle ├── LICENSE ├── PluginDemo/ │ ├── app/ │ │ ├── build.gradle │ │ ├── gradle.properties │ │ ├── proguard-rules.pro │ │ └── src/ │ │ └── main/ │ │ ├── AndroidManifest.xml │ │ ├── aidl/ │ │ │ └── com/ │ │ │ └── didi/ │ │ │ └── virtualapk/ │ │ │ └── demo/ │ │ │ ├── aidl/ │ │ │ │ ├── Book.aidl │ │ │ │ ├── IBookManager.aidl │ │ │ │ └── IOnNewBookArrivedListener.aidl │ │ │ ├── binderpool/ │ │ │ │ ├── IBinderPool.aidl │ │ │ │ ├── ICompute.aidl │ │ │ │ └── ISecurityCenter.aidl │ │ │ └── manualbinder/ │ │ │ └── Book.aidl │ │ ├── java/ │ │ │ └── com/ │ │ │ └── didi/ │ │ │ └── virtualapk/ │ │ │ └── demo/ │ │ │ ├── MainActivity.java │ │ │ ├── MyApplication.java │ │ │ ├── SecondActivity.java │ │ │ ├── ThirdActivity.java │ │ │ ├── aidl/ │ │ │ │ ├── Book.java │ │ │ │ ├── BookManagerActivity.java │ │ │ │ └── BookManagerService.java │ │ │ ├── binderpool/ │ │ │ │ ├── BinderPool.java │ │ │ │ ├── BinderPoolActivity.java │ │ │ │ ├── BinderPoolService.java │ │ │ │ ├── ComputeImpl.java │ │ │ │ └── SecurityCenterImpl.java │ │ │ ├── manager/ │ │ │ │ ├── BookManager.java │ │ │ │ └── UserManager.java │ │ │ ├── manualbinder/ │ │ │ │ ├── Book.java │ │ │ │ ├── BookManagerImpl.java │ │ │ │ └── IBookManager.java │ │ │ ├── messenger/ │ │ │ │ ├── MessengerActivity.java │ │ │ │ └── MessengerService.java │ │ │ ├── model/ │ │ │ │ └── User.java │ │ │ ├── provider/ │ │ │ │ ├── BookProvider.java │ │ │ │ ├── DbOpenHelper.java │ │ │ │ └── ProviderActivity.java │ │ │ ├── socket/ │ │ │ │ ├── TCPClientActivity.java │ │ │ │ └── TCPServerService.java │ │ │ └── utils/ │ │ │ ├── MyConstants.java │ │ │ └── MyUtils.java │ │ └── res/ │ │ ├── drawable/ │ │ │ └── edit.xml │ │ ├── layout/ │ │ │ ├── activity_binder_pool.xml │ │ │ ├── activity_book_manager.xml │ │ │ ├── activity_main.xml │ │ │ ├── activity_messenger.xml │ │ │ ├── activity_provider.xml │ │ │ ├── activity_second.xml │ │ │ ├── activity_tcpclient.xml │ │ │ └── activity_third.xml │ │ └── values/ │ │ ├── colors.xml │ │ ├── strings.xml │ │ └── styles.xml │ ├── build.gradle │ ├── gradle/ │ │ └── wrapper/ │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties │ ├── gradlew │ ├── gradlew.bat │ ├── make.sh │ └── settings.gradle ├── README.md ├── RELEASE-NOTES.md ├── app/ │ ├── .gitignore │ ├── build.gradle │ ├── proguard-rules.pro │ └── src/ │ ├── androidTest/ │ │ └── java/ │ │ └── com/ │ │ └── didi/ │ │ └── virtualapk/ │ │ └── ApplicationTest.java │ ├── main/ │ │ ├── AndroidManifest.xml │ │ ├── java/ │ │ │ └── com/ │ │ │ └── didi/ │ │ │ └── virtualapk/ │ │ │ ├── MainActivity.java │ │ │ └── VAApplication.java │ │ └── res/ │ │ ├── layout/ │ │ │ └── activity_main.xml │ │ ├── values/ │ │ │ ├── colors.xml │ │ │ ├── dimens.xml │ │ │ ├── strings.xml │ │ │ └── styles.xml │ │ ├── values-en/ │ │ │ └── strings.xml │ │ └── values-w820dp/ │ │ └── dimens.xml │ └── test/ │ └── java/ │ └── com/ │ └── didi/ │ └── virtualapk/ │ └── ExampleUnitTest.java ├── build.gradle ├── gradle/ │ └── wrapper/ │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradle.properties ├── gradlew ├── gradlew.bat ├── keystore/ │ ├── test.cer │ └── test.keystore ├── settings.gradle └── virtualapk-gradle-plugin/ ├── build.gradle ├── gradle/ │ └── wrapper/ │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradle.properties ├── gradlew ├── gradlew.bat ├── src/ │ └── main/ │ ├── groovy/ │ │ └── com.didi.virtualapk/ │ │ ├── BasePlugin.groovy │ │ ├── Constants.groovy │ │ ├── VAExtention.groovy │ │ ├── VAHostPlugin.groovy │ │ ├── VAPlugin.groovy │ │ ├── aapt/ │ │ │ ├── AXmlEditor.groovy │ │ │ ├── Aapt.groovy │ │ │ ├── ArscEditor.groovy │ │ │ ├── AssetEditor.groovy │ │ │ ├── CppHexEditor.groovy │ │ │ ├── ResAttr.groovy │ │ │ ├── ResStringFlag.groovy │ │ │ ├── ResStringPoolSpan.groovy │ │ │ ├── ResTableEntry.groovy │ │ │ ├── ResTableType.groovy │ │ │ ├── ResType.groovy │ │ │ ├── ResValueDataType.groovy │ │ │ ├── SymbolParser.groovy │ │ │ └── packageinfo │ │ ├── collector/ │ │ │ ├── HostClassAndResCollector.groovy │ │ │ ├── HostJniLibsCollector.groovy │ │ │ ├── ResourceCollector.groovy │ │ │ ├── dependence/ │ │ │ │ ├── AarDependenceInfo.groovy │ │ │ │ ├── DependenceInfo.groovy │ │ │ │ └── JarDependenceInfo.groovy │ │ │ └── res/ │ │ │ ├── ResourceEntry.groovy │ │ │ └── StyleableEntry.groovy │ │ ├── hooker/ │ │ │ ├── DxTaskHooker.groovy │ │ │ ├── GradleTaskHooker.groovy │ │ │ ├── MergeAssetsHooker.groovy │ │ │ ├── MergeJniLibsHooker.groovy │ │ │ ├── MergeManifestsHooker.groovy │ │ │ ├── PrepareDependenciesHooker.groovy │ │ │ ├── ProcessResourcesHooker.groovy │ │ │ ├── ProguardHooker.groovy │ │ │ ├── ShrinkResourcesHooker.groovy │ │ │ └── TaskHookerManager.groovy │ │ ├── tasks/ │ │ │ └── AssemblePlugin.groovy │ │ ├── transform/ │ │ │ ├── StripClassAndResTransform.groovy │ │ │ └── TransformWrapper.groovy │ │ └── utils/ │ │ ├── CheckList.groovy │ │ ├── FileBinaryCategory.groovy │ │ ├── FileUtil.groovy │ │ ├── PackagingUtils.java │ │ ├── Reflect.java │ │ └── ZipUtil.groovy │ ├── java/ │ │ └── com/ │ │ └── didi/ │ │ └── virtualapk/ │ │ ├── databinding/ │ │ │ └── annotationprocessor/ │ │ │ └── ProcessDataBinding.java │ │ └── utils/ │ │ └── Log.java │ └── resources/ │ └── META-INF/ │ ├── gradle-plugins/ │ │ ├── com.didi.virtualapk.host.properties │ │ └── com.didi.virtualapk.plugin.properties │ └── services/ │ └── javax.annotation.processing.Processor └── upload.gradle