实例介绍
VirtualApp源码(完整工程),基于android studio (ndk,sdk)开发,实现安卓双开。
【实例截图】
【核心代码】
c3bea569-2be7-44fc-bcf2-4196641fb99f
└── VirtualApp
├── CHINESE.md
├── LICENSE.txt
├── Logo.png
├── README.md
└── VirtualApp
├── app
│ ├── build.gradle
│ ├── proguard-rules.pro
│ └── src
│ └── main
│ ├── AndroidManifest.xml
│ ├── assets
│ │ └── OaceOaT8w5Xda6wa
│ ├── java
│ │ └── io
│ │ └── virtualapp
│ │ ├── abs
│ │ │ ├── BasePresenter.java
│ │ │ ├── BaseView.java
│ │ │ ├── Callback.java
│ │ │ ├── nestedadapter
│ │ │ │ ├── RecyclerViewAdapterWrapper.java
│ │ │ │ └── SmartRecyclerAdapter.java
│ │ │ ├── percent
│ │ │ │ └── PercentLinearLayout.java
│ │ │ ├── reflect
│ │ │ │ └── ReflectException.java
│ │ │ ├── ui
│ │ │ │ ├── VActivity.java
│ │ │ │ ├── VFragment.java
│ │ │ │ └── VUiKit.java
│ │ │ └── Value.java
│ │ ├── delegate
│ │ │ ├── AppBlockCanaryContext.java
│ │ │ ├── MyAppRequestListener.java
│ │ │ ├── MyComponentDelegate.java
│ │ │ ├── MyPhoneInfoDelegate.java
│ │ │ └── MyTaskDescriptionDelegate.java
│ │ ├── effects
│ │ │ ├── ExplosionAnimator.java
│ │ │ └── ExplosionField.java
│ │ ├── home
│ │ │ ├── adapters
│ │ │ │ ├── AppPagerAdapter.java
│ │ │ │ ├── CloneAppListAdapter.java
│ │ │ │ ├── decorations
│ │ │ │ │ └── ItemOffsetDecoration.java
│ │ │ │ └── LaunchpadAdapter.java
│ │ │ ├── HomeActivity.java
│ │ │ ├── HomeContract.java
│ │ │ ├── HomePresenterImpl.java
│ │ │ ├── ListAppActivity.java
│ │ │ ├── ListAppContract.java
│ │ │ ├── ListAppFragment.java
│ │ │ ├── ListAppPresenterImpl.java
│ │ │ ├── LoadingActivity.java
│ │ │ ├── models
│ │ │ │ ├── AppData.java
│ │ │ │ ├── AppInfo.java
│ │ │ │ ├── AppInfoLite.java
│ │ │ │ ├── EmptyAppData.java
│ │ │ │ ├── MultiplePackageAppData.java
│ │ │ │ └── PackageAppData.java
│ │ │ └── repo
│ │ │ ├── AppDataSource.java
│ │ │ ├── AppRepository.java
│ │ │ └── PackageAppDataStorage.java
│ │ ├── splash
│ │ │ └── SplashActivity.java
│ │ ├── VApp.java
│ │ ├── VCommends.java
│ │ └── widgets
│ │ ├── BallGridBeatIndicator.java
│ │ ├── BallPulseIndicator.java
│ │ ├── BaseView.java
│ │ ├── CardStackAdapter.java
│ │ ├── CardStackLayout.java
│ │ ├── CircularAnim.java
│ │ ├── DragSelectRecyclerViewAdapter.java
│ │ ├── DragSelectRecyclerView.java
│ │ ├── EatBeansView.java
│ │ ├── Indicator.java
│ │ ├── LabelView.java
│ │ ├── LauncherIconView.java
│ │ ├── LoadingIndicatorView.java
│ │ ├── MarqueeTextView.java
│ │ ├── MaterialRippleLayout.java
│ │ ├── RippleButton.java
│ │ ├── ShadowProperty.java
│ │ ├── ShadowViewDrawable.java
│ │ ├── Shimmer.java
│ │ ├── ShimmerViewBase.java
│ │ ├── ShimmerViewHelper.java
│ │ ├── TwoGearsView.java
│ │ └── ViewHelper.java
│ └── res
│ ├── drawable
│ │ ├── blue_circle.xml
│ │ ├── fab_bg.xml
│ │ ├── home_bg.xml
│ │ ├── icon_bg.xml
│ │ ├── sel_clone_app_btn.xml
│ │ ├── sel_guide_btn.xml
│ │ ├── shape_clone_app_btn_pressed.xml
│ │ └── shape_clone_app_btn.xml
│ ├── drawable-hdpi
│ │ ├── ic_add.png
│ │ ├── ic_check.png
│ │ ├── ic_crash.png
│ │ ├── ic_menu.png
│ │ ├── ic_no_check.png
│ │ └── ic_shortcut.png
│ ├── drawable-xxhdpi
│ │ └── ic_user.png
│ ├── layout
│ │ ├── activity_clone_app.xml
│ │ ├── activity_home.xml
│ │ ├── activity_install.xml
│ │ ├── activity_loading.xml
│ │ ├── activity_splash.xml
│ │ ├── activity_users.xml
│ │ ├── fragment_list_app.xml
│ │ ├── fragment_setup.xml
│ │ ├── item_app.xml
│ │ ├── item_clone_app.xml
│ │ ├── item_launcher_app.xml
│ │ └── item_user.xml
│ ├── menu
│ │ └── user_menu.xml
│ ├── mipmap-hdpi
│ │ └── ic_launcher.png
│ ├── mipmap-mdpi
│ │ └── ic_launcher.png
│ ├── mipmap-xhdpi
│ │ └── ic_launcher.png
│ ├── mipmap-xxhdpi
│ │ └── ic_launcher.png
│ ├── mipmap-xxxhdpi
│ │ └── ic_launcher.png
│ ├── values
│ │ ├── attrs.xml
│ │ ├── colors.xml
│ │ ├── dimens.xml
│ │ ├── ids.xml
│ │ ├── integers.xml
│ │ ├── strings.xml
│ │ └── styles.xml
│ └── values-w820dp
│ └── dimens.xml
├── build.gradle
├── gradle
│ └── wrapper
│ ├── gradle-wrapper.jar
│ └── gradle-wrapper.properties
├── gradle.properties
├── gradlew
├── gradlew.bat
├── lib
│ ├── build.gradle
│ ├── proguard-rules.pro
│ └── src
│ └── main
│ ├── aidl
│ │ ├── android
│ │ │ ├── accounts
│ │ │ │ ├── IAccountAuthenticator.aidl
│ │ │ │ ├── IAccountAuthenticatorResponse.aidl
│ │ │ │ └── IAccountManagerResponse.aidl
│ │ │ ├── app
│ │ │ │ ├── IActivityManager
│ │ │ │ │ └── ContentProviderHolder.aidl
│ │ │ │ ├── IServiceConnection.aidl
│ │ │ │ ├── IStopUserCallback.aidl
│ │ │ │ └── job
│ │ │ │ ├── IJobCallback.aidl
│ │ │ │ └── IJobService.aidl
│ │ │ ├── content
│ │ │ │ ├── IIntentReceiver.aidl
│ │ │ │ └── pm
│ │ │ │ ├── IPackageDataObserver.aidl
│ │ │ │ ├── IPackageDeleteObserver2.aidl
│ │ │ │ ├── IPackageInstallerCallback.aidl
│ │ │ │ ├── IPackageInstallerSession.aidl
│ │ │ │ ├── IPackageInstallObserver2.aidl
│ │ │ │ └── IPackageInstallObserver.aidl
│ │ │ └── net
│ │ │ └── wifi
│ │ │ └── IWifiScanner.aidl
│ │ └── com
│ │ └── lody
│ │ └── virtual
│ │ ├── client
│ │ │ └── IVClient.aidl
│ │ ├── os
│ │ │ └── VUserInfo.aidl
│ │ ├── remote
│ │ │ ├── AppTaskInfo.aidl
│ │ │ ├── InstalledAppInfo.aidl
│ │ │ ├── InstallResult.aidl
│ │ │ ├── PendingIntentData.aidl
│ │ │ ├── PendingResultData.aidl
│ │ │ ├── Problem.aidl
│ │ │ ├── ReceiverInfo.aidl
│ │ │ └── VParceledListSlice.aidl
│ │ └── server
│ │ ├── IAccountManager.aidl
│ │ ├── IActivityManager.aidl
│ │ ├── IAppManager.aidl
│ │ ├── IBinderDelegateService.aidl
│ │ ├── IJobScheduler.aidl
│ │ ├── INotificationManager.aidl
│ │ ├── interfaces
│ │ │ ├── IAppObserver.aidl
│ │ │ ├── IAppRequestListener.aidl
│ │ │ ├── IIntentFilterObserver.aidl
│ │ │ ├── IProcessObserver.aidl
│ │ │ └── IServiceFetcher.aidl
│ │ ├── IPackageInstaller.aidl
│ │ ├── IPackageInstallerSession.aidl
│ │ ├── IPackageManager.aidl
│ │ ├── IUserManager.aidl
│ │ └── pm
│ │ └── installer
│ │ ├── SessionInfo.aidl
│ │ └── SessionParams.aidl
│ ├── AndroidManifest.xml
│ ├── java
│ │ ├── android
│ │ │ └── content
│ │ │ └── pm
│ │ │ └── PackageParser.java
│ │ ├── com
│ │ │ └── lody
│ │ │ └── virtual
│ │ │ ├── client
│ │ │ │ ├── core
│ │ │ │ │ ├── CrashHandler.java
│ │ │ │ │ ├── InstallStrategy.java
│ │ │ │ │ ├── PatchManager.java
│ │ │ │ │ └── VirtualCore.java
│ │ │ │ ├── env
│ │ │ │ │ ├── Constants.java
│ │ │ │ │ ├── DeadServerException.java
│ │ │ │ │ ├── SpecialComponentList.java
│ │ │ │ │ └── VirtualRuntime.java
│ │ │ │ ├── fixer
│ │ │ │ │ ├── ActivityFixer.java
│ │ │ │ │ ├── ComponentFixer.java
│ │ │ │ │ └── ContextFixer.java
│ │ │ │ ├── hook
│ │ │ │ │ ├── base
│ │ │ │ │ │ ├── ApiLimit.java
│ │ │ │ │ │ ├── HookBinderDelegate.java
│ │ │ │ │ │ ├── HookDelegate.java
│ │ │ │ │ │ ├── Hook.java
│ │ │ │ │ │ ├── PatchBinderDelegate.java
│ │ │ │ │ │ ├── PatchDelegate.java
│ │ │ │ │ │ ├── Patch.java
│ │ │ │ │ │ ├── ReplaceCallingPkgHook.java
│ │ │ │ │ │ ├── ReplaceLastPkgHook.java
│ │ │ │ │ │ ├── ReplaceLastUidHook.java
│ │ │ │ │ │ ├── ReplaceSequencePkgHook.java
│ │ │ │ │ │ ├── ReplaceSpecPkgHook.java
│ │ │ │ │ │ ├── ReplaceUidHook.java
│ │ │ │ │ │ ├── ResultStaticHook.java
│ │ │ │ │ │ └── StaticHook.java
│ │ │ │ │ ├── delegate
│ │ │ │ │ │ ├── AppInstrumentation.java
│ │ │ │ │ │ ├── ComponentDelegate.java
│ │ │ │ │ │ ├── InstrumentationDelegate.java
│ │ │ │ │ │ ├── PhoneInfoDelegate.java
│ │ │ │ │ │ └── TaskDescriptionDelegate.java
│ │ │ │ │ ├── patchs
│ │ │ │ │ │ ├── account
│ │ │ │ │ │ │ └── AccountManagerPatch.java
│ │ │ │ │ │ ├── alarm
│ │ │ │ │ │ │ └── AlarmManagerPatch.java
│ │ │ │ │ │ ├── am
│ │ │ │ │ │ │ ├── ActivityManagerPatch.java
│ │ │ │ │ │ │ ├── AddPackageDependency.java
│ │ │ │ │ │ │ ├── BindService.java
│ │ │ │ │ │ │ ├── BroadcastIntent.java
│ │ │ │ │ │ │ ├── CheckGrantUriPermission.java
│ │ │ │ │ │ │ ├── CheckPermission.java
│ │ │ │ │ │ │ ├── CrashApplication.java
│ │ │ │ │ │ │ ├── FinishActivity.java
│ │ │ │ │ │ │ ├── ForceStopPackage.java
│ │ │ │ │ │ │ ├── GetActivityClassForToken.java
│ │ │ │ │ │ │ ├── GetCallingActivity.java
│ │ │ │ │ │ │ ├── GetCallingPackage.java
│ │ │ │ │ │ │ ├── GetContentProviderExternal.java
│ │ │ │ │ │ │ ├── GetContentProvider.java
│ │ │ │ │ │ │ ├── GetCurrentUser.java
│ │ │ │ │ │ │ ├── GetIntentForIntentSender.java
│ │ │ │ │ │ │ ├── GetIntentSender.java
│ │ │ │ │ │ │ ├── GetPackageAskScreenCompat.java
│ │ │ │ │ │ │ ├── GetPackageForIntentSender.java
│ │ │ │ │ │ │ ├── GetPackageForToken.java
│ │ │ │ │ │ │ ├── GetPersistedUriPermissions.java
│ │ │ │ │ │ │ ├── GetRunningAppProcesses.java
│ │ │ │ │ │ │ ├── GetServices.java
│ │ │ │ │ │ │ ├── GetTasks.java
│ │ │ │ │ │ │ ├── GrantUriPermissionFromOwner.java
│ │ │ │ │ │ │ ├── HandleIncomingUser.java
│ │ │ │ │ │ │ ├── HCallbackHook.java
│ │ │ │ │ │ │ ├── KillApplicationProcess.java
│ │ │ │ │ │ │ ├── PeekService.java
│ │ │ │ │ │ │ ├── PublishContentProviders.java
│ │ │ │ │ │ │ ├── PublishService.java
│ │ │ │ │ │ │ ├── RegisterReceiver.java
│ │ │ │ │ │ │ ├── ServiceDoneExecuting.java
│ │ │ │ │ │ │ ├── SetPackageAskScreenCompat.java
│ │ │ │ │ │ │ ├── SetServiceForeground.java
│ │ │ │ │ │ │ ├── SetTaskDescription.java
│ │ │ │ │ │ │ ├── StartActivityAndWait.java
│ │ │ │ │ │ │ ├── StartActivityAsCaller.java
│ │ │ │ │ │ │ ├── StartActivityAsUser.java
│ │ │ │ │ │ │ ├── StartActivityIntentSender.java
│ │ │ │ │ │ │ ├── StartActivity.java
│ │ │ │ │ │ │ ├── StartActivityWithConfig.java
│ │ │ │ │ │ │ ├── StartNextMatchingActivity.java
│ │ │ │ │ │ │ ├── StartService.java
│ │ │ │ │ │ │ ├── StartVoiceActivity.java
│ │ │ │ │ │ │ ├── StopService.java
│ │ │ │ │ │ │ ├── StopServiceToken.java
│ │ │ │ │ │ │ ├── UnbindFinished.java
│ │ │ │ │ │ │ ├── UnbindService.java
│ │ │ │ │ │ │ ├── UnstableProviderDied.java
│ │ │ │ │ │ │ └── UpdateDeviceOwner.java
│ │ │ │ │ │ ├── appops
│ │ │ │ │ │ │ └── AppOpsManagerPatch.java
│ │ │ │ │ │ ├── appwidget
│ │ │ │ │ │ │ └── AppWidgetManagerPatch.java
│ │ │ │ │ │ ├── audio
│ │ │ │ │ │ │ └── AudioManagerPatch.java
│ │ │ │ │ │ ├── backup
│ │ │ │ │ │ │ └── BackupManagerPatch.java
│ │ │ │ │ │ ├── bluetooth
│ │ │ │ │ │ │ ├── BluetoothPatch.java
│ │ │ │ │ │ │ └── GetAddress.java
│ │ │ │ │ │ ├── clipboard
│ │ │ │ │ │ │ └── ClipBoardPatch.java
│ │ │ │ │ │ ├── connectivity
│ │ │ │ │ │ │ ├── ConnectivityPatch.java
│ │ │ │ │ │ │ └── Hook_GetActiveNetworkInfo.java
│ │ │ │ │ │ ├── content
│ │ │ │ │ │ │ └── ContentServicePatch.java
│ │ │ │ │ │ ├── display
│ │ │ │ │ │ │ ├── CreateVirtualDisplay.java
│ │ │ │ │ │ │ └── DisplayPatch.java
│ │ │ │ │ │ ├── dropbox
│ │ │ │ │ │ │ └── DropBoxManagerPatch.java
│ │ │ │ │ │ ├── graphics
│ │ │ │ │ │ │ └── GraphicsStatsPatch.java
│ │ │ │ │ │ ├── imms
│ │ │ │ │ │ │ └── MmsPatch.java
│ │ │ │ │ │ ├── input
│ │ │ │ │ │ │ ├── InputMethodManagerPatch.java
│ │ │ │ │ │ │ ├── StartInput.java
│ │ │ │ │ │ │ └── WindowGainedFocus.java
│ │ │ │ │ │ ├── isms
│ │ │ │ │ │ │ └── ISmsPatch.java
│ │ │ │ │ │ ├── isub
│ │ │ │ │ │ │ └── ISubPatch.java
│ │ │ │ │ │ ├── job
│ │ │ │ │ │ │ └── JobPatch.java
│ │ │ │ │ │ ├── libcore
│ │ │ │ │ │ │ ├── Getpwnam.java
│ │ │ │ │ │ │ ├── GetsockoptUcred.java
│ │ │ │ │ │ │ ├── GetUid.java
│ │ │ │ │ │ │ ├── LibCorePatch.java
│ │ │ │ │ │ │ ├── Lstat.java
│ │ │ │ │ │ │ └── Stat.java
│ │ │ │ │ │ ├── location
│ │ │ │ │ │ │ └── LocationManagerPatch.java
│ │ │ │ │ │ ├── media
│ │ │ │ │ │ │ ├── router
│ │ │ │ │ │ │ │ ├── MediaRouterServicePatch.java
│ │ │ │ │ │ │ │ └── RegisterClientAsUser.java
│ │ │ │ │ │ │ └── session
│ │ │ │ │ │ │ ├── CreateSession.java
│ │ │ │ │ │ │ └── SessionManagerPatch.java
│ │ │ │ │ │ ├── mount
│ │ │ │ │ │ │ ├── GetVolumeList.java
│ │ │ │ │ │ │ ├── Mkdirs.java
│ │ │ │ │ │ │ └── MountServicePatch.java
│ │ │ │ │ │ ├── network
│ │ │ │ │ │ │ └── NetworkManagementPatch.java
│ │ │ │ │ │ ├── notification
│ │ │ │ │ │ │ ├── AreNotificationsEnabledForPackage.java
│ │ │ │ │ │ │ ├── CancelAllNotifications.java
│ │ │ │ │ │ │ ├── CancelNotificationWithTag.java
│ │ │ │ │ │ │ ├── EnqueueNotification.java
│ │ │ │ │ │ │ ├── EnqueueNotificationWithTag.java
│ │ │ │ │ │ │ ├── EnqueueNotificationWithTagPriority.java
│ │ │ │ │ │ │ ├── NotificationManagerPatch.java
│ │ │ │ │ │ │ └── SetNotificationsEnabledForPackage.java
│ │ │ │ │ │ ├── persistent_data_block
│ │ │ │ │ │ │ └── PersistentDataBlockServicePatch.java
│ │ │ │ │ │ ├── phonesubinfo
│ │ │ │ │ │ │ ├── GetDeviceIdForSubscriber.java
│ │ │ │ │ │ │ ├── GetDeviceId.java
│ │ │ │ │ │ │ └── PhoneSubInfoPatch.java
│ │ │ │ │ │ ├── pm
│ │ │ │ │ │ │ ├── ActivitySupportsIntent.java
│ │ │ │ │ │ │ ├── AddOnPermissionsChangeListener.java
│ │ │ │ │ │ │ ├── AddPackageToPreferred.java
│ │ │ │ │ │ │ ├── CheckPermission.java
│ │ │ │ │ │ │ ├── CheckSignatures.java
│ │ │ │ │ │ │ ├── ClearPackagePersistentPreferredActivities.java
│ │ │ │ │ │ │ ├── ClearPackagePreferredActivities.java
│ │ │ │ │ │ │ ├── DeleteApplicationCacheFiles.java
│ │ │ │ │ │ │ ├── DeletePackage.java
│ │ │ │ │ │ │ ├── FreeStorageAndNotify.java
│ │ │ │ │ │ │ ├── GetActivityInfo.java
│ │ │ │ │ │ │ ├── GetApplicationBlockedSettingAsUser.java
│ │ │ │ │ │ │ ├── GetApplicationEnabledSetting.java
│ │ │ │ │ │ │ ├── GetApplicationInfo.java
│ │ │ │ │ │ │ ├── GetComponentEnabledSetting.java
│ │ │ │ │ │ │ ├── GetInstalledApplications.java
│ │ │ │ │ │ │ ├── GetInstalledPackages.java
│ │ │ │ │ │ │ ├── GetInstallerPackageName.java
│ │ │ │ │ │ │ ├── GetPackageGidsEtc.java
│ │ │ │ │ │ │ ├── GetPackageGids.java
│ │ │ │ │ │ │ ├── GetPackageInfo.java
│ │ │ │ │ │ │ ├── GetPackageInstaller.java
│ │ │ │ │ │ │ ├── GetPackagesForUid.java
│ │ │ │ │ │ │ ├── GetPackageUidEtc.java
│ │ │ │ │ │ │ ├── GetPackageUid.java
│ │ │ │ │ │ │ ├── GetPermissionFlags.java
│ │ │ │ │ │ │ ├── GetPermissionGroupInfo.java
│ │ │ │ │ │ │ ├── GetPermissions.java
│ │ │ │ │ │ │ ├── GetPreferredActivities.java
│ │ │ │ │ │ │ ├── GetProviderInfo.java
│ │ │ │ │ │ │ ├── GetReceiverInfo.java
│ │ │ │ │ │ │ ├── GetServiceInfo.java
│ │ │ │ │ │ │ ├── IsPackageAvailable.java
│ │ │ │ │ │ │ ├── IsPackageForzen.java
│ │ │ │ │ │ │ ├── PackageManagerPatch.java
│ │ │ │ │ │ │ ├── QueryContentProviders.java
│ │ │ │ │ │ │ ├── QueryIntentActivities.java
│ │ │ │ │ │ │ ├── QueryIntentContentProviders.java
│ │ │ │ │ │ │ ├── QueryIntentReceivers.java
│ │ │ │ │ │ │ ├── QueryIntentServices.java
│ │ │ │ │ │ │ ├── RemoveOnPermissionsChangeListener.java
│ │ │ │ │ │ │ ├── RemovePackageFromPreferred.java
│ │ │ │ │ │ │ ├── ResolveContentProvider.java
│ │ │ │ │ │ │ ├── ResolveIntent.java
│ │ │ │ │ │ │ ├── ResolveService.java
│ │ │ │ │ │ │ ├── RevokeRuntimePermission.java
│ │ │ │ │ │ │ ├── SetApplicationBlockedSettingAsUser.java
│ │ │ │ │ │ │ ├── SetApplicationEnabledSetting.java
│ │ │ │ │ │ │ ├── SetComponentEnabledSetting.java
│ │ │ │ │ │ │ └── SetPackageStoppedState.java
│ │ │ │ │ │ ├── power
│ │ │ │ │ │ │ └── PowerManagerPatch.java
│ │ │ │ │ │ ├── restriction
│ │ │ │ │ │ │ └── RestrictionPatch.java
│ │ │ │ │ │ ├── search
│ │ │ │ │ │ │ ├── GetSearchableInfo.java
│ │ │ │ │ │ │ └── SearchManagerPatch.java
│ │ │ │ │ │ ├── telephony
│ │ │ │ │ │ │ ├── GetDeviceId.java
│ │ │ │ │ │ │ ├── TelephonyPatch.java
│ │ │ │ │ │ │ └── TelephonyRegistryPatch.java
│ │ │ │ │ │ ├── user
│ │ │ │ │ │ │ └── UserManagerPatch.java
│ │ │ │ │ │ ├── vibrator
│ │ │ │ │ │ │ └── VibratorPatch.java
│ │ │ │ │ │ ├── wifi
│ │ │ │ │ │ │ ├── GetBatchedScanResults.java
│ │ │ │ │ │ │ ├── GetScanResults.java
│ │ │ │ │ │ │ ├── SetWifiEnabled.java
│ │ │ │ │ │ │ └── WifiManagerPatch.java
│ │ │ │ │ │ ├── wifi_scanner
│ │ │ │ │ │ │ ├── GhostWifiScannerImpl.java
│ │ │ │ │ │ │ └── WifiScannerPatch.java
│ │ │ │ │ │ └── window
│ │ │ │ │ │ ├── BasePatchSession.java
│ │ │ │ │ │ ├── OpenSession.java
│ │ │ │ │ │ ├── OverridePendingAppTransitionInPlace.java
│ │ │ │ │ │ ├── OverridePendingAppTransition.java
│ │ │ │ │ │ ├── session
│ │ │ │ │ │ │ ├── Add.java
│ │ │ │ │ │ │ ├── AddToDisplay.java
│ │ │ │ │ │ │ ├── AddToDisplayWithoutInputChannel.java
│ │ │ │ │ │ │ ├── AddWithoutInputChannel.java
│ │ │ │ │ │ │ ├── BaseReplacePkgName.java
│ │ │ │ │ │ │ ├── Relayout.java
│ │ │ │ │ │ │ └── WindowSessionPatch.java
│ │ │ │ │ │ ├── SetAppStartingWindow.java
│ │ │ │ │ │ └── WindowManagerPatch.java
│ │ │ │ │ ├── providers
│ │ │ │ │ │ ├── DownloadProviderHook.java
│ │ │ │ │ │ ├── ExternalProviderHook.java
│ │ │ │ │ │ ├── InternalProviderHook.java
│ │ │ │ │ │ ├── ProviderHook.java
│ │ │ │ │ │ └── SettingsProviderHook.java
│ │ │ │ │ ├── secondary
│ │ │ │ │ │ ├── GmsSupport.java
│ │ │ │ │ │ ├── HackAppUtils.java
│ │ │ │ │ │ ├── ProxyServiceFactory.java
│ │ │ │ │ │ ├── ServiceConnectionDelegate.java
│ │ │ │ │ │ └── StubBinder.java
│ │ │ │ │ └── utils
│ │ │ │ │ └── HookUtils.java
│ │ │ │ ├── interfaces
│ │ │ │ │ ├── IEventHandler.java
│ │ │ │ │ └── Injectable.java
│ │ │ │ ├── ipc
│ │ │ │ │ ├── ActivityClientRecord.java
│ │ │ │ │ ├── LocalProxyUtils.java
│ │ │ │ │ ├── ProviderCall.java
│ │ │ │ │ ├── ServiceManagerNative.java
│ │ │ │ │ ├── VAccountManager.java
│ │ │ │ │ ├── VActivityManager.java
│ │ │ │ │ ├── VJobScheduler.java
│ │ │ │ │ ├── VNotificationManager.java
│ │ │ │ │ └── VPackageManager.java
│ │ │ │ ├── NativeEngine.java
│ │ │ │ ├── stub
│ │ │ │ │ ├── ChooserActivity.java
│ │ │ │ │ ├── DaemonService.java
│ │ │ │ │ ├── ResolverActivity.java
│ │ │ │ │ ├── ShortcutHandleActivity.java
│ │ │ │ │ ├── StubActivity.java
│ │ │ │ │ ├── StubContentProvider.java
│ │ │ │ │ ├── StubDialog.java
│ │ │ │ │ ├── StubJob.java
│ │ │ │ │ ├── StubManifest.java
│ │ │ │ │ ├── StubPendingActivity.java
│ │ │ │ │ ├── StubPendingReceiver.java
│ │ │ │ │ └── StubPendingService.java
│ │ │ │ └── VClientImpl.java
│ │ │ ├── helper
│ │ │ │ ├── collection
│ │ │ │ │ ├── ArrayMap.java
│ │ │ │ │ ├── ArraySet.java
│ │ │ │ │ ├── ContainerHelpers.java
│ │ │ │ │ ├── IntArray.java
│ │ │ │ │ ├── MapCollections.java
│ │ │ │ │ ├── SimpleArrayMap.java
│ │ │ │ │ └── SparseArray.java
│ │ │ │ ├── compat
│ │ │ │ │ ├── AccountManagerCompat.java
│ │ │ │ │ ├── ActivityManagerCompat.java
│ │ │ │ │ ├── BundleCompat.java
│ │ │ │ │ ├── IApplicationThreadCompat.java
│ │ │ │ │ ├── NativeLibraryHelperCompat.java
│ │ │ │ │ ├── ObjectsCompat.java
│ │ │ │ │ ├── PackageParserCompat.java
│ │ │ │ │ ├── ParceledListSliceCompat.java
│ │ │ │ │ └── SystemPropertiesCompat.java
│ │ │ │ ├── PersistenceLayer.java
│ │ │ │ └── utils
│ │ │ │ ├── ArrayUtils.java
│ │ │ │ ├── AtomicFile.java
│ │ │ │ ├── BitmapUtils.java
│ │ │ │ ├── ClassUtils.java
│ │ │ │ ├── ComponentUtils.java
│ │ │ │ ├── DrawableUtils.java
│ │ │ │ ├── FastXmlSerializer.java
│ │ │ │ ├── FileUtils.java
│ │ │ │ ├── Mark.java
│ │ │ │ ├── MD5Utils.java
│ │ │ │ ├── OSUtils.java
│ │ │ │ ├── ReflectException.java
│ │ │ │ ├── Reflect.java
│ │ │ │ ├── Singleton.java
│ │ │ │ └── VLog.java
│ │ │ ├── os
│ │ │ │ ├── VBinder.java
│ │ │ │ ├── VEnvironment.java
│ │ │ │ ├── VUserHandle.java
│ │ │ │ ├── VUserInfo.java
│ │ │ │ └── VUserManager.java
│ │ │ ├── remote
│ │ │ │ ├── AppTaskInfo.java
│ │ │ │ ├── InstalledAppInfo.java
│ │ │ │ ├── InstallResult.java
│ │ │ │ ├── PendingIntentData.java
│ │ │ │ ├── PendingResultData.java
│ │ │ │ ├── Problem.java
│ │ │ │ ├── ReceiverInfo.java
│ │ │ │ ├── StubActivityRecord.java
│ │ │ │ └── VParceledListSlice.java
│ │ │ ├── server
│ │ │ │ ├── accounts
│ │ │ │ │ ├── AppAccountParser.java
│ │ │ │ │ ├── IAccountParser.java
│ │ │ │ │ ├── VAccount.java
│ │ │ │ │ └── VAccountManagerService.java
│ │ │ │ ├── am
│ │ │ │ │ ├── ActivityRecord.java
│ │ │ │ │ ├── ActivityStack.java
│ │ │ │ │ ├── AttributeCache.java
│ │ │ │ │ ├── BroadcastSystem.java
│ │ │ │ │ ├── PendingIntents.java
│ │ │ │ │ ├── ProcessMap.java
│ │ │ │ │ ├── ProcessRecord.java
│ │ │ │ │ ├── ServiceRecord.java
│ │ │ │ │ ├── TaskRecord.java
│ │ │ │ │ ├── UidSystem.java
│ │ │ │ │ └── VActivityManagerService.java
│ │ │ │ ├── BinderProvider.java
│ │ │ │ ├── job
│ │ │ │ │ └── VJobSchedulerService.java
│ │ │ │ ├── notification
│ │ │ │ │ ├── NotificationCompatCompatV14.java
│ │ │ │ │ ├── NotificationCompatCompatV21.java
│ │ │ │ │ ├── NotificationCompat.java
│ │ │ │ │ ├── NotificationFixer.java
│ │ │ │ │ ├── PendIntentCompat.java
│ │ │ │ │ ├── ReflectionActionCompat.java
│ │ │ │ │ ├── RemoteViewsFixer.java
│ │ │ │ │ ├── VNotificationManagerService.java
│ │ │ │ │ └── WidthCompat.java
│ │ │ │ ├── pm
│ │ │ │ │ ├── FastImmutableArraySet.java
│ │ │ │ │ ├── installer
│ │ │ │ │ │ ├── FileBridge.java
│ │ │ │ │ │ ├── PackageHelper.java
│ │ │ │ │ │ ├── PackageInstallerSession.java
│ │ │ │ │ │ ├── PackageInstallInfo.java
│ │ │ │ │ │ ├── PackageInstallObserver.java
│ │ │ │ │ │ ├── SessionInfo.java
│ │ │ │ │ │ ├── SessionParams.java
│ │ │ │ │ │ └── VPackageInstallerService.java
│ │ │ │ │ ├── IntentResolver.java
│ │ │ │ │ ├── PackageCache.java
│ │ │ │ │ ├── PackagePersistenceLayer.java
│ │ │ │ │ ├── PackageSetting.java
│ │ │ │ │ ├── PackageUserState.java
│ │ │ │ │ ├── ProviderIntentResolver.java
│ │ │ │ │ ├── VAppManagerService.java
│ │ │ │ │ ├── VPackageManagerService.java
│ │ │ │ │ └── VUserManagerService.java
│ │ │ │ ├── secondary
│ │ │ │ │ ├── BinderDelegateService.java
│ │ │ │ │ └── FakeIdentityBinder.java
│ │ │ │ └── ServiceCache.java
│ │ │ └── Version.java
│ │ └── mirror
│ │ ├── android
│ │ │ ├── accounts
│ │ │ │ └── IAccountManager.java
│ │ │ ├── app
│ │ │ │ ├── Activity.java
│ │ │ │ ├── ActivityManagerNative.java
│ │ │ │ ├── ActivityThread.java
│ │ │ │ ├── ActivityThreadNMR1.java
│ │ │ │ ├── ApplicationThreadNative.java
│ │ │ │ ├── backup
│ │ │ │ │ └── IBackupManager.java
│ │ │ │ ├── ContextImplICS.java
│ │ │ │ ├── ContextImpl.java
│ │ │ │ ├── ContextImplKitkat.java
│ │ │ │ ├── IActivityManagerICS.java
│ │ │ │ ├── IActivityManager.java
│ │ │ │ ├── IActivityManagerL.java
│ │ │ │ ├── IActivityManagerN.java
│ │ │ │ ├── IAlarmManager.java
│ │ │ │ ├── IApplicationThreadICSMR1.java
│ │ │ │ ├── IApplicationThread.java
│ │ │ │ ├── IApplicationThreadJBMR1.java
│ │ │ │ ├── IApplicationThreadKitkat.java
│ │ │ │ ├── ISearchManager.java
│ │ │ │ ├── job
│ │ │ │ │ ├── IJobScheduler.java
│ │ │ │ │ ├── JobInfo.java
│ │ │ │ │ └── JobParameters.java
│ │ │ │ ├── LoadedApkHuaWei.java
│ │ │ │ ├── LoadedApk.java
│ │ │ │ ├── Notification.java
│ │ │ │ ├── NotificationL.java
│ │ │ │ ├── NotificationManager.java
│ │ │ │ ├── NotificationM.java
│ │ │ │ └── PendingIntentJBMR2.java
│ │ │ ├── bluetooth
│ │ │ │ └── IBluetooth.java
│ │ │ ├── content
│ │ │ │ ├── BroadcastReceiver.java
│ │ │ │ ├── ClipboardManager.java
│ │ │ │ ├── ContentProviderClient.java
│ │ │ │ ├── ContentProviderNative.java
│ │ │ │ ├── ContentResolver.java
│ │ │ │ ├── ContentResolverJBMR2.java
│ │ │ │ ├── IClipboard.java
│ │ │ │ ├── IContentProvider.java
│ │ │ │ ├── IContentService.java
│ │ │ │ ├── IIntentReceiver.java
│ │ │ │ ├── IIntentReceiverJB.java
│ │ │ │ ├── IntentFilter.java
│ │ │ │ ├── IRestrictionsManager.java
│ │ │ │ ├── pm
│ │ │ │ │ ├── ApplicationInfoL.java
│ │ │ │ │ ├── ApplicationInfoN.java
│ │ │ │ │ ├── PackageInstaller.java
│ │ │ │ │ ├── PackageParser.java
│ │ │ │ │ ├── PackageParserJellyBean17.java
│ │ │ │ │ ├── PackageParserJellyBean.java
│ │ │ │ │ ├── PackageParserLollipop22.java
│ │ │ │ │ ├── PackageParserLollipop.java
│ │ │ │ │ ├── PackageParserMarshmallow.java
│ │ │ │ │ ├── PackageParserNougat.java
│ │ │ │ │ ├── PackageUserState.java
│ │ │ │ │ ├── ParceledListSlice.java
│ │ │ │ │ ├── ParceledListSliceJBMR2.java
│ │ │ │ │ └── UserInfo.java
│ │ │ │ └── res
│ │ │ │ ├── AssetManager.java
│ │ │ │ └── CompatibilityInfo.java
│ │ │ ├── ddm
│ │ │ │ ├── DdmHandleAppName.java
│ │ │ │ └── DdmHandleAppNameJBMR1.java
│ │ │ ├── graphics
│ │ │ │ └── drawable
│ │ │ │ └── Icon.java
│ │ │ ├── hardware
│ │ │ │ └── display
│ │ │ │ ├── DisplayManagerGlobal.java
│ │ │ │ └── IDisplayManager.java
│ │ │ ├── location
│ │ │ │ ├── ILocationListener.java
│ │ │ │ ├── ILocationManager.java
│ │ │ │ └── LocationRequestL.java
│ │ │ ├── media
│ │ │ │ ├── AudioManager.java
│ │ │ │ ├── IAudioService.java
│ │ │ │ ├── IMediaRouterService.java
│ │ │ │ ├── MediaRouter.java
│ │ │ │ └── session
│ │ │ │ └── ISessionManager.java
│ │ │ ├── net
│ │ │ │ ├── IConnectivityManager.java
│ │ │ │ └── wifi
│ │ │ │ ├── IWifiManager.java
│ │ │ │ ├── WifiInfo.java
│ │ │ │ └── WifiScanner.java
│ │ │ ├── os
│ │ │ │ ├── Bundle.java
│ │ │ │ ├── Handler.java
│ │ │ │ ├── INetworkManagementService.java
│ │ │ │ ├── IPowerManager.java
│ │ │ │ ├── IUserManager.java
│ │ │ │ ├── Message.java
│ │ │ │ ├── mount
│ │ │ │ │ └── IMountService.java
│ │ │ │ ├── Process.java
│ │ │ │ ├── ServiceManager.java
│ │ │ │ └── StrictMode.java
│ │ │ ├── providers
│ │ │ │ ├── Downloads.java
│ │ │ │ └── Settings.java
│ │ │ ├── renderscript
│ │ │ │ └── RenderScriptCacheDir.java
│ │ │ ├── rms
│ │ │ │ └── resource
│ │ │ │ ├── ReceiverResourceLP.java
│ │ │ │ ├── ReceiverResourceM.java
│ │ │ │ └── ReceiverResourceN.java
│ │ │ ├── service
│ │ │ │ └── persistentdata
│ │ │ │ └── IPersistentDataBlockService.java
│ │ │ ├── util
│ │ │ │ └── Singleton.java
│ │ │ ├── view
│ │ │ │ ├── Display.java
│ │ │ │ ├── HardwareRenderer.java
│ │ │ │ ├── IGraphicsStats.java
│ │ │ │ ├── IWindowManager.java
│ │ │ │ ├── RenderScript.java
│ │ │ │ ├── SurfaceControl.java
│ │ │ │ ├── ThreadedRenderer.java
│ │ │ │ └── WindowManagerGlobal.java
│ │ │ ├── webkit
│ │ │ │ ├── IWebViewUpdateService.java
│ │ │ │ └── WebViewFactory.java
│ │ │ └── widget
│ │ │ └── Toast.java
│ │ ├── com
│ │ │ └── android
│ │ │ └── internal
│ │ │ ├── app
│ │ │ │ └── IAppOpsService.java
│ │ │ ├── appwidget
│ │ │ │ └── IAppWidgetService.java
│ │ │ ├── content
│ │ │ │ ├── NativeLibraryHelper.java
│ │ │ │ └── ReferrerIntent.java
│ │ │ ├── os
│ │ │ │ ├── IDropBoxManagerService.java
│ │ │ │ ├── IVibratorService.java
│ │ │ │ └── UserManager.java
│ │ │ ├── policy
│ │ │ │ └── PhoneWindow.java
│ │ │ ├── R_Hide.java
│ │ │ ├── telephony
│ │ │ │ ├── IMms.java
│ │ │ │ ├── IPhoneSubInfo.java
│ │ │ │ ├── ISms.java
│ │ │ │ ├── ISub.java
│ │ │ │ ├── ITelephony.java
│ │ │ │ ├── ITelephonyRegistry.java
│ │ │ │ └── PhoneConstantsMtk.java
│ │ │ └── view
│ │ │ ├── IInputMethodManager.java
│ │ │ └── inputmethod
│ │ │ └── InputMethodManager.java
│ │ ├── dalvik
│ │ │ └── system
│ │ │ └── VMRuntime.java
│ │ ├── java
│ │ │ └── lang
│ │ │ ├── ThreadGroup.java
│ │ │ └── ThreadGroupN.java
│ │ ├── libcore
│ │ │ └── io
│ │ │ ├── ForwardingOs.java
│ │ │ ├── Libcore.java
│ │ │ └── Os.java
│ │ ├── MethodParams.java
│ │ ├── MethodReflectParams.java
│ │ ├── RefBoolean.java
│ │ ├── RefClass.java
│ │ ├── RefConstructor.java
│ │ ├── RefDouble.java
│ │ ├── RefFloat.java
│ │ ├── RefInt.java
│ │ ├── RefLong.java
│ │ ├── RefMethod.java
│ │ ├── RefObject.java
│ │ ├── RefStaticInt.java
│ │ ├── RefStaticMethod.java
│ │ └── RefStaticObject.java
│ ├── jni
│ │ ├── Android.mk
│ │ ├── Application.mk
│ │ ├── Core.cpp
│ │ ├── Core.h
│ │ ├── Foundation
│ │ │ ├── IOUniformer.cpp
│ │ │ ├── IOUniformer.h
│ │ │ ├── VMPatch.cpp
│ │ │ └── VMPatch.h
│ │ ├── GodinHook
│ │ │ ├── godin_type.h
│ │ │ ├── hookinfo.h
│ │ │ ├── instruction
│ │ │ │ ├── arm_instruction.cpp
│ │ │ │ ├── arm_instruction.h
│ │ │ │ ├── instruction_helper.cpp
│ │ │ │ ├── instruction_helper.h
│ │ │ │ ├── thumb_instruction.cpp
│ │ │ │ └── thumb_instruction.h
│ │ │ ├── mem_helper.cpp
│ │ │ ├── mem_helper.h
│ │ │ ├── native_hook.cpp
│ │ │ ├── native_hook.h
│ │ │ ├── thread_helper.cpp
│ │ │ └── thread_helper.h
│ │ ├── Helper.h
│ │ └── MSHook
│ │ ├── ARM.cpp
│ │ ├── ARM.h
│ │ ├── CydiaSubstrate.h
│ │ ├── Debug.cpp
│ │ ├── Debug.h
│ │ ├── hde64.h
│ │ ├── Hooker.cpp
│ │ ├── Hooker.h
│ │ ├── Log.h
│ │ ├── MSHook.cpp
│ │ ├── MSHook.h
│ │ ├── PosixMemory.cpp
│ │ ├── PosixMemory.h
│ │ ├── SubstrateStruct.h
│ │ ├── Thumb.cpp
│ │ ├── Thumb.h
│ │ ├── util.cpp
│ │ ├── util.h
│ │ ├── x86_64.cpp
│ │ ├── x86_64.h
│ │ ├── x86.cpp
│ │ └── x86.h
│ └── res
│ ├── layout
│ │ ├── custom_notification_lite.xml
│ │ ├── custom_notification.xml
│ │ └── resolve_list_item.xml
│ └── values
│ ├── dimens.xml
│ ├── integer.xml
│ ├── strings.xml
│ └── styles.xml
└── settings.gradle
193 directories, 704 files
标签:
小贴士
感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。
- 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
- 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
- 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
- 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。
关于好例子网
本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明
网友评论
我要评论