实例介绍
DroidPlugin的一个Demo
【实例截图】
【核心代码】
DropPluginDemo
└── DropPluginDemo
├── build.gradle
├── gradle
│ └── wrapper
│ ├── gradle-wrapper.jar
│ └── gradle-wrapper.properties
├── gradle.properties
├── gradlew
├── gradlew.bat
├── Libraries
│ ├── DroidPlugin
│ │ ├── AndroidManifest.xml
│ │ ├── build.gradle
│ │ ├── lib
│ │ │ └── layoutlib.jar
│ │ ├── LICENSE.txt
│ │ ├── proguard-project.txt
│ │ ├── project.properties
│ │ ├── res
│ │ │ ├── drawable-xxhdpi
│ │ │ │ ├── plugin_activity_loading_bitmap.9.png
│ │ │ │ └── plugin_activity_loading.xml
│ │ │ ├── values
│ │ │ │ ├── strings.xml
│ │ │ │ └── styles.xml
│ │ │ ├── values-v11
│ │ │ │ └── styles.xml
│ │ │ └── values-v14
│ │ │ └── styles.xml
│ │ └── src
│ │ ├── android
│ │ │ ├── app
│ │ │ │ └── IServiceConnection.aidl
│ │ │ └── util
│ │ │ └── Singleton.java
│ │ └── com
│ │ └── morgoo
│ │ ├── droidplugin
│ │ │ ├── am
│ │ │ │ ├── BaseActivityManagerService.java
│ │ │ │ ├── MyActivityManagerService.java
│ │ │ │ ├── RunningActivities.java
│ │ │ │ ├── RunningProcessList.java
│ │ │ │ ├── ServiceStubMap.java
│ │ │ │ └── StaticProcessList.java
│ │ │ ├── core
│ │ │ │ ├── Env.java
│ │ │ │ ├── PluginClassLoader.java
│ │ │ │ ├── PluginDirHelper.java
│ │ │ │ └── PluginProcessManager.java
│ │ │ ├── hook
│ │ │ │ ├── BaseHookHandle.java
│ │ │ │ ├── binder
│ │ │ │ │ ├── BinderHook.java
│ │ │ │ │ ├── IAppOpsServiceBinderHook.java
│ │ │ │ │ ├── IAudioServiceBinderHook.java
│ │ │ │ │ ├── IClipboardBinderHook.java
│ │ │ │ │ ├── IContentServiceBinderHook.java
│ │ │ │ │ ├── IDisplayManagerBinderHook.java
│ │ │ │ │ ├── IGraphicsStatsBinderHook.java
│ │ │ │ │ ├── IInputMethodManagerBinderHook.java
│ │ │ │ │ ├── ILocationManagerBinderHook.java
│ │ │ │ │ ├── IMediaRouterServiceBinderHook.java
│ │ │ │ │ ├── IMmsBinderHook.java
│ │ │ │ │ ├── IMountServiceBinderHook.java
│ │ │ │ │ ├── INotificationManagerBinderHook.java
│ │ │ │ │ ├── IPhoneSubInfoBinderHook.java
│ │ │ │ │ ├── ISearchManagerBinderHook.java
│ │ │ │ │ ├── ISessionManagerBinderHook.java
│ │ │ │ │ ├── ISmsBinderHook.java
│ │ │ │ │ ├── ISubBinderHook.java
│ │ │ │ │ ├── ITelephonyBinderHook.java
│ │ │ │ │ ├── ITelephonyRegistryBinderHook.java
│ │ │ │ │ ├── IWifiManagerBinderHook.java
│ │ │ │ │ ├── IWindowManagerBinderHook.java
│ │ │ │ │ ├── MyServiceManager.java
│ │ │ │ │ ├── ServiceManagerBinderHook.java
│ │ │ │ │ └── ServiceManagerCacheBinderHook.java
│ │ │ │ ├── handle
│ │ │ │ │ ├── IActivityManagerHookHandle.java
│ │ │ │ │ ├── IAppOpsServiceHookHandle.java
│ │ │ │ │ ├── IAudioServiceHookHandle.java
│ │ │ │ │ ├── IClipboardHookHandle.java
│ │ │ │ │ ├── IContentProviderInvokeHandle.java
│ │ │ │ │ ├── IContentServiceHandle.java
│ │ │ │ │ ├── IDisplayManagerHookHandle.java
│ │ │ │ │ ├── IGraphicsStatsHookHandle.java
│ │ │ │ │ ├── IInputMethodManagerHookHandle.java
│ │ │ │ │ ├── ILocationManagerHookHandle.java
│ │ │ │ │ ├── IMediaRouterServiceHookHandle.java
│ │ │ │ │ ├── IMmsHookHandle.java
│ │ │ │ │ ├── IMountServiceHookHandle.java
│ │ │ │ │ ├── INotificationManagerHookHandle.java
│ │ │ │ │ ├── IPackageManagerHookHandle.java
│ │ │ │ │ ├── IPhoneSubInfoHookHandle.java
│ │ │ │ │ ├── ISearchManagerHookHandle.java
│ │ │ │ │ ├── ISessionManagerHookHandle.java
│ │ │ │ │ ├── ISmsHookHandle.java
│ │ │ │ │ ├── ISubBinderHookHandle.java
│ │ │ │ │ ├── ITelephonyHookHandle.java
│ │ │ │ │ ├── ITelephonyRegistryHookHandle.java
│ │ │ │ │ ├── IWifiManagerHookHandle.java
│ │ │ │ │ ├── IWindowManagerHookHandle.java
│ │ │ │ │ ├── IWindowSessionInvokeHandle.java
│ │ │ │ │ ├── LibCoreHookHandle.java
│ │ │ │ │ ├── PluginCallback.java
│ │ │ │ │ ├── PluginInstrumentation.java
│ │ │ │ │ ├── ReplaceCallingPackageHookedMethodHandler.java
│ │ │ │ │ └── WebViewFactoryProviderHookHandle.java
│ │ │ │ ├── HookedMethodHandler.java
│ │ │ │ ├── HookFactory.java
│ │ │ │ ├── Hook.java
│ │ │ │ ├── proxy
│ │ │ │ │ ├── IActivityManagerHook.java
│ │ │ │ │ ├── IContentProviderHook.java
│ │ │ │ │ ├── InstrumentationHook.java
│ │ │ │ │ ├── IPackageManagerHook.java
│ │ │ │ │ ├── IWindowSessionHook.java
│ │ │ │ │ ├── LibCoreHook.java
│ │ │ │ │ ├── PluginCallbackHook.java
│ │ │ │ │ ├── ProxyHook.java
│ │ │ │ │ └── WebViewFactoryProviderHook.java
│ │ │ │ └── xhook
│ │ │ │ └── SQLiteDatabaseHook.java
│ │ │ ├── MyCrashHandler.java
│ │ │ ├── PluginApplication.java
│ │ │ ├── PluginHelper.java
│ │ │ ├── PluginManagerService.java
│ │ │ ├── PluginPatchManager.java
│ │ │ ├── pm
│ │ │ │ ├── IApplicationCallback.aidl
│ │ │ │ ├── IPackageDataObserver.aidl
│ │ │ │ ├── IPluginManager.aidl
│ │ │ │ ├── IPluginManagerImpl.java
│ │ │ │ ├── parser
│ │ │ │ │ ├── IntentMatcher.java
│ │ │ │ │ ├── PackageParserApi15.java
│ │ │ │ │ ├── PackageParserApi16.java
│ │ │ │ │ ├── PackageParserApi20.java
│ │ │ │ │ ├── PackageParserApi21.java
│ │ │ │ │ ├── PackageParserApi22.java
│ │ │ │ │ ├── PackageParserApi22Preview1.java
│ │ │ │ │ ├── PackageParser.java
│ │ │ │ │ └── PluginPackageParser.java
│ │ │ │ └── PluginManager.java
│ │ │ ├── reflect
│ │ │ │ ├── FieldUtils.java
│ │ │ │ ├── MemberUtils.java
│ │ │ │ ├── MethodUtils.java
│ │ │ │ ├── Utils.java
│ │ │ │ └── Validate.java
│ │ │ └── stub
│ │ │ ├── AbstractContentProviderStub.java
│ │ │ ├── AbstractServiceStub.java
│ │ │ ├── ActivityStub.java
│ │ │ ├── ContentProviderStub.java
│ │ │ ├── MyFakeIBinder.java
│ │ │ ├── ServcesManager.java
│ │ │ ├── ServiceStub.java
│ │ │ └── ShortcutProxyActivity.java
│ │ └── helper
│ │ ├── AttributeCache.java
│ │ ├── compat
│ │ │ ├── ActivityManagerCompat.java
│ │ │ ├── ActivityManagerNativeCompat.java
│ │ │ ├── ActivityThreadCompat.java
│ │ │ ├── BuildCompat.java
│ │ │ ├── CompatibilityInfoCompat.java
│ │ │ ├── ContentProviderHolderCompat.java
│ │ │ ├── IActivityManagerCompat.java
│ │ │ ├── IAppOpsServiceCompat.java
│ │ │ ├── IAudioServiceCompat.java
│ │ │ ├── IClipboardCompat.java
│ │ │ ├── IContentServiceCompat.java
│ │ │ ├── IDisplayManagerCompat.java
│ │ │ ├── IGraphicsStatsCompat.java
│ │ │ ├── IInputMethodManagerCompat.java
│ │ │ ├── ILocationManagerCompat.java
│ │ │ ├── IMediaRouterServiceCompat.java
│ │ │ ├── IMmsCompat.java
│ │ │ ├── IMountServiceCompat.java
│ │ │ ├── INotificationManagerCompat.java
│ │ │ ├── IPackageDataObserverCompat.java
│ │ │ ├── IPhoneSubInfoCompat.java
│ │ │ ├── ISearchManagerCompat.java
│ │ │ ├── ISessionManagerCompat.java
│ │ │ ├── ISmsCompat.java
│ │ │ ├── ISubCompat.java
│ │ │ ├── ITelephonyCompat.java
│ │ │ ├── ITelephonyRegistryCompat.java
│ │ │ ├── IWifiManagerCompat.java
│ │ │ ├── IWindowManagerCompat.java
│ │ │ ├── NativeLibraryHelperCompat.java
│ │ │ ├── PackageManagerCompat.java
│ │ │ ├── ParceledListSliceCompat.java
│ │ │ ├── ProcessCompat.java
│ │ │ ├── QueuedWorkCompat.java
│ │ │ ├── ServiceManagerCompat.java
│ │ │ ├── SingletonCompat.java
│ │ │ ├── SystemPropertiesCompat.java
│ │ │ ├── UserHandleCompat.java
│ │ │ ├── VMRuntimeCompat.java
│ │ │ └── WebViewFactoryCompat.java
│ │ ├── ComponentNameComparator.java
│ │ ├── Log.java
│ │ ├── MyProxy.java
│ │ └── Utils.java
│ └── Libraries.iml
├── myapplication
│ ├── build.gradle
│ ├── proguard-rules.pro
│ └── src
│ └── main
│ ├── AndroidManifest.xml
│ ├── assets
│ │ ├── arm64-v8a
│ │ │ ├── libdaemon_api.xx
│ │ │ └── system.daemon
│ │ ├── armeabi
│ │ │ ├── libdaemon_api.xx
│ │ │ └── system.daemon
│ │ └── x86
│ │ ├── libdaemon_api.xx
│ │ └── system.daemon
│ ├── java
│ │ └── com
│ │ └── example
│ │ └── myapplication
│ │ ├── MainActivity.java
│ │ └── MyApp.java
│ └── res
│ ├── layout
│ │ └── activity_main.xml
│ ├── mipmap-hdpi
│ │ ├── ic_launcher.png
│ │ └── ic_launcher_round.png
│ ├── mipmap-mdpi
│ │ ├── ic_launcher.png
│ │ └── ic_launcher_round.png
│ ├── mipmap-xhdpi
│ │ ├── ic_launcher.png
│ │ └── ic_launcher_round.png
│ ├── mipmap-xxhdpi
│ │ ├── ic_launcher.png
│ │ └── ic_launcher_round.png
│ ├── mipmap-xxxhdpi
│ │ ├── ic_launcher.png
│ │ └── ic_launcher_round.png
│ └── values
│ ├── colors.xml
│ ├── strings.xml
│ └── styles.xml
└── settings.gradle
50 directories, 203 files
标签:
小贴士
感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。
- 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
- 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
- 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
- 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。
关于好例子网
本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明
网友评论
我要评论