首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Android插件常见冲突解决方案

在Android组件插件的过程中,经常会遇到狠多的问题,如常见的包依赖冲突,资源文件依赖冲突等问题,当然,在资源文件上面,一些组件框架已为我们提供了一些资源文件冲突的解决方案。...1,资源冲突问题 在组件项目中,经常会遇到多个Module模块的资源冲突问题。例如,一个简单的app包含app模块、user模块、me模块,其中app模块依赖user模块和me模块。... 2,多个Module依赖同一个jar的解决方案 在做插件的过程中,有如下的一个场景:环信Module和我们自己的app的Module都要用到定位sdk,如果同时引入这两个sdk...解决方案:将任意一个Module中的jar依赖为compile files(‘your jar name’),其他需要依赖的地方改为provided files(‘your jar name’)并且删除

95740
您找到你想要的搜索结果了吗?
是的
没有找到

【Android 插件】现有的针对插件恶意应用的解决方案 | 插件应用开发推荐方案

文章目录 一、SafetyNet Attestation API 二、PluginKiller 三、针对插件应用开发者 一、SafetyNet Attestation API ---- SafetyNet...hook 调试环境中 , 这样进一步降低了软件被逆向的风险 ; SafetyNet 的 basicIntegrity 检测 , 可以检测出双实例应用程序 ( 多开应用 ) , 但是无法检测出不加载第三方插件插件应用...; 二、PluginKiller ---- 参考 【Android 插件】使用 PluginKiller 帮助应用开发者规避发布的 APK 安装包被作为插件的风险 ( 验证应用是否运行在插件引擎中...) 博客 , 引入 PluginKiller 库 , 即可检测当前应用是否运行在插件环境中 ; 三、针对插件应用开发者 ---- 凡是加载插件 , 都要弹出对话框 , 征求用户同意 , 如果用户不同意..., 一定不要加载插件 ; 不要静默加载插件 , 如在组件的声明周期函数中加载插件 , 极有可能被判定为恶意软件 ; 大部分的良性软件 , 使用插件 , 是为了减少 APK 体积 , 以及快速进行插件更新迭代

34410

【Android 插件插件化简介 ( 组件插件 )

Android 插件系列文章目录 【Android 插件插件化简介 ( 组件插件 ) 【Android 插件插件原理 ( JVM 内存数据 | 类加载流程 ) 【Android 插件...】插件原理 ( 类加载器 ) 【Android 插件】“ 插桩式 “ 插件框架 ( 原理与实现思路 ) 【Android 插件】“ 插桩式 “ 插件框架 ( 类加载器创建 | 资源加载 )...【Android 插件】“ 插桩式 “ 插件框架 ( 注入上下文的使用 ) 【Android 插件】“ 插桩式 “ 插件框架 ( 获取插件入口 Activity 组件 | 加载插件 Resources...资源 ) 【Android 插件】“ 插桩式 “ 插件框架 ( 运行应用 | 代码整理 ) 文章目录 Android 插件系列文章目录 一、组件插件 二、插件示例 三、插件标准引入...机制 , 动态部署其插件 apk ; 这类软件第一次打开时 , 需要下载该模块的 插件 apk , 并安装 , 此时会卡顿以下 , 之后可以流畅访问 ; 三、插件标准引入 ---- 插件 中 ,

3.2K20

【Android 插件】Hook 插件框架 ( hook 插件原理 | 插件包管理 )

Android 插件系列文章目录 【Android 插件插件化简介 ( 组件插件 ) 【Android 插件插件原理 ( JVM 内存数据 | 类加载流程 ) 【Android 插件...】插件原理 ( 类加载器 ) 【Android 插件】“ 插桩式 “ 插件框架 ( 原理与实现思路 ) 【Android 插件】“ 插桩式 “ 插件框架 ( 类加载器创建 | 资源加载 )...【Android 插件】“ 插桩式 “ 插件框架 ( 注入上下文的使用 ) 【Android 插件】“ 插桩式 “ 插件框架 ( 获取插件入口 Activity 组件 | 加载插件 Resources...资源 ) 【Android 插件】“ 插桩式 “ 插件框架 ( 运行应用 | 代码整理 ) 【Android 插件】Hook 插件框架 ( Hook 技术 | 代理模式 | 静态代理 | 动态代理...) 【Android 插件】Hook 插件框架 ( Hook 实现思路 | Hook 按钮点击事件 ) 【Android 插件】Hook 插件框架 ( Hook Activity 启动过程

4.2K10

Android插件原理之Activity插件

前言 四大组件的插件插件技术的核心知识点,而Activity插件更是重中之重,Activity插件主要有三种实现方式,分别是反射实现、接口实现和Hook技术实现。...反射实现会对性能有所影响,主流的插件框架没有采用此方式,关于接口实现可以阅读dynamic-load-apk的源码,这里不做介绍,目前Hook技术实现是主流,因此本篇文章主要介绍Hook技术实现。...在讲到这两个解决方案前,我们需要从整体上了解Activity的启动流程。...接着在步骤2之后用插件Activity替换占坑的Activity,接下来根据这个解决方案我们来实践一下。...更多的Android插件原理请查看即将要出版的《Android进阶之光》续作。

1.2K50

【Android 插件插件技术弊端 ( 恶意插件程序的解决方向 | 常用的插件虚拟引擎 )

文章目录 一、插件技术弊端 二、恶意插件程序的解决方向 三、常用的插件虚拟引擎 一、插件技术弊端 ---- 在之前的 Android 应用中 , 部分黑客将应用破解 , 植入自己的恶意代码 ,..., 使用自动脚本 , 一晚上甚至可以封装数量巨大的恶意应用 ; 目前的 Android 生态中 , 存在着大量的该类使用插件技术进行 ; 据统计 , 应用市场中 , 插件应用中 , 恶意插件应用...是 正常使用插件技术应用的 数倍 ; 针对上述问题 , 需要使用一些技术识别 恶意 插件应用 , 并删除此类应用 ; 二、恶意插件程序的解决方向 ---- 首先 , 要先识别出使用了插件技术的应用...; 插件应用有相同的特点 : 使用了 插件 技术 的应用 , 都有相同的特点 , 当前的插件基本都是基于 Hook 的插件技术 , 这样可以零侵入代码 , 开发的插件 APK 与普通 APK..., 一般不经过用户同意秘密加载插件 ( 感觉有些大厂的插件也是偷摸加载的 , 插件对用户透明 ) , 分析出恶意插件的非法加载插件的指纹特征 , 与正常使用插件技术的应用进行区分 ; 检测恶意插件应用

90140

【Android 插件】Hook 插件框架 ( 加载插件包资源 )

Android 插件系列文章目录 【Android 插件插件化简介 ( 组件插件 ) 【Android 插件插件原理 ( JVM 内存数据 | 类加载流程 ) 【Android 插件...】插件原理 ( 类加载器 ) 【Android 插件】“ 插桩式 “ 插件框架 ( 原理与实现思路 ) 【Android 插件】“ 插桩式 “ 插件框架 ( 类加载器创建 | 资源加载 )...【Android 插件】“ 插桩式 “ 插件框架 ( 注入上下文的使用 ) 【Android 插件】“ 插桩式 “ 插件框架 ( 获取插件入口 Activity 组件 | 加载插件 Resources...| 插件包管理 ) 【Android 插件】Hook 插件框架 ( 通过反射获取 “插件包“ 中的 Element[] dexElements ) 【Android 插件】Hook 插件框架...插件】Hook 插件框架 ( 反射工具类 | 反射常用操作整理 ) 【Android 插件】Hook 插件框架 ( 插件包资源加载 ) ---- 文章目录 Android 插件系列文章目录

36010

【Android 插件插件原理 ( 类加载器 )

Android 插件系列文章目录 【Android 插件插件化简介 ( 组件插件 ) 【Android 插件插件原理 ( JVM 内存数据 | 类加载流程 ) 【Android 插件...】插件原理 ( 类加载器 ) 【Android 插件】“ 插桩式 “ 插件框架 ( 原理与实现思路 ) 【Android 插件】“ 插桩式 “ 插件框架 ( 类加载器创建 | 资源加载 )...【Android 插件】“ 插桩式 “ 插件框架 ( 注入上下文的使用 ) 【Android 插件】“ 插桩式 “ 插件框架 ( 获取插件入口 Activity 组件 | 加载插件 Resources...资源 ) 【Android 插件】“ 插桩式 “ 插件框架 ( 运行应用 | 代码整理 ) ---- 文章目录 Android 插件系列文章目录 一、" 插件 " 中的 dex 文件 二、类加载器分析...三、获取类加载器 四、双亲委派机制 一、" 插件 " 中的 dex 文件 ---- 现在的大型 Android 项目 , 基本都是 组件 + 插件 开发 , 项目架构上都是 组件 的框架 ,

50510

【Android 插件】Hook 插件框架 ( 创建插件应用 | 拷贝插件 APK | 初始插件包 | 测试插件 DEX 字节码 )

Android 插件系列文章目录 【Android 插件插件化简介 ( 组件插件 ) 【Android 插件插件原理 ( JVM 内存数据 | 类加载流程 ) 【Android 插件...】插件原理 ( 类加载器 ) 【Android 插件】“ 插桩式 “ 插件框架 ( 原理与实现思路 ) 【Android 插件】“ 插桩式 “ 插件框架 ( 类加载器创建 | 资源加载 )...【Android 插件】“ 插桩式 “ 插件框架 ( 注入上下文的使用 ) 【Android 插件】“ 插桩式 “ 插件框架 ( 获取插件入口 Activity 组件 | 加载插件 Resources...) 【Android 插件】Hook 插件框架 ( Hook 实现思路 | Hook 按钮点击事件 ) 【Android 插件】Hook 插件框架 ( Hook Activity 启动过程...| 插件包管理 ) 【Android 插件】Hook 插件框架 ( 通过反射获取 “插件包“ 中的 Element[] dexElements ) 【Android 插件】Hook 插件框架

99620

【Android 插件】Hook 插件框架 ( 从源码角度分析加载资源流程 | Hook 点选择 | 资源冲突解决方案 )

Android 插件系列文章目录 【Android 插件插件化简介 ( 组件插件 ) 【Android 插件插件原理 ( JVM 内存数据 | 类加载流程 ) 【Android 插件...】插件原理 ( 类加载器 ) 【Android 插件】“ 插桩式 “ 插件框架 ( 原理与实现思路 ) 【Android 插件】“ 插桩式 “ 插件框架 ( 类加载器创建 | 资源加载 )...【Android 插件】“ 插桩式 “ 插件框架 ( 注入上下文的使用 ) 【Android 插件】“ 插桩式 “ 插件框架 ( 获取插件入口 Activity 组件 | 加载插件 Resources...插件】Hook 插件框架 ( 反射工具类 | 反射常用操作整理 ) 【Android 插件】Hook 插件框架 ( 插件包资源加载 ) 【Android 插件】Hook 插件框架 ( 从源码角度分析加载资源流程...| Hook 点选择 | 资源冲突解决方案 ) ---- 文章目录 Android 插件系列文章目录 前言 一、从源码角度分析加载资源流程 1、ActivityThread 入口 2、LaunchActivityItem

42810

ContentProvider插件解决方案

Binder;数据量超过1M时,Binder就搞不定了,需要ContentProvider 2.ContentProvider就是一个数据库引擎,向外界提供了CRUD的API ContentProvider插件...ContentProvider就要等很久了 /** * 一定需要Application,并且在attachBaseContext里面Hook * 因为provider的初始非常早,比Application...ContentProvider /** * 为了使得插件的ContentProvder提供给外部使用,我们需要一个StubProvider做中转; * 如果外部程序需要使用插件系统中插件的ContentProvider...,不能直接查询原来的那个uri * 我们对uri做一些手脚,使得插件系统能识别这个uri; * * 这里的处理方式如下: * * 原始查询插件的URI应该为: * content://host_auth...这是ContentProvider独有的URI机制,而且是简单的字符串,所以很适合这种转发机制 --摘自《android插件化开发指南》

38920

插件思维

2.1 插件化分类 插件许多都是从设计模式演化而来的,大概可以参考的有:命令模式,工厂模式,抽象工厂模式等等,笔者根据个人经验,总结出三种插件化形式: ❈ 约定/注入插件。 事件插件。...插槽插件。 ❈ 最后还有一个不算插件实现方式,但效果比较优雅,姑且称为分形插件吧。下面一一解释。...2.1.3 插槽插件 这种插件一般用在对 UI 元素的拓展。...笔者此处给出一种解决方案,供大家参考。另外要注意,这个方案随着考虑到的使用场景增多,是要不断调整变化的。...2.4 哪些场景可以插件 最后梳理下插件适用场景,笔者根据有限的经验列出一下一些场景。

1.5K20

Android 插件原理解析——Service的插件

在 Activity生命周期管理 以及 广播的管理 中我们详细探讨了Android系统中的Activity、BroadcastReceiver组件的工作原理以及它们的插件方案,相信读者已经对Android...与Activity, BroadcastReceiver相比,Service组件的不同点在哪里呢?我们能否用与之相同的方式实现Service的插件?...,那么自然而然,我们可以手动控制它的生命周期,就像我们对于BroadcastReceiver插件方式一样!...迄今为止,我们讲述了了Activity、BroadcastReceiver以及Service的插件方式,不知读者思索过没有,实现插件的关键点在哪里?...对于Activity组件,由于他的生命周期受用户交互影响,只有系统本身才能对这种交互有全局掌控力,因此它的插件方式是Hook AMS,但是生命周期依然交由系统管理;而Service以及BroadcastReceiver

1.1K20

Android 插件原理解析——Service的插件

在 Activity生命周期管理 以及 广播的管理 中我们详细探讨了Android系统中的Activity、BroadcastReceiver组件的工作原理以及它们的插件方案,相信读者已经对Android...与Activity, BroadcastReceiver相比,Service组件的不同点在哪里呢?我们能否用与之相同的方式实现Service的插件?...,那么自然而然,我们可以手动控制它的生命周期,就像我们对于BroadcastReceiver插件方式一样!...迄今为止,我们讲述了了Activity、BroadcastReceiver以及Service的插件方式,不知读者思索过没有,实现插件的关键点在哪里?...对于Activity组件,由于他的生命周期受用户交互影响,只有系统本身才能对这种交互有全局掌控力,因此它的插件方式是Hook AMS,但是生命周期依然交由系统管理;而Service以及BroadcastReceiver

1.8K20

Android插件原理解析——ContentProvider的插件

目前为止我们已经完成了Android四大组件中Activity,Service以及BroadcastReceiver插件,这几个组件各不相同,我们根据它们的特点定制了不同的插件方案;那么对于ContentProvider...但是,如果回想一下Activity等组件的插件方式,在涉及到「共享」这个问题上,一直没有较好的解决方案: 系统中的第三方App无法启动插件中带有特定IntentFilter的Activity,因为系统压根儿感受不到插件中这个真正的...既然希望把插件的ContentProvider共享给整个系统,让第三方的App都能获取到我们插件共享的数据,我们必须解决这个问题;下文将会围绕这个目标展开,完成ContentProvider的插件,并且顺带给出上述问题的解决方案...这个问题的解决方案也很容易,我们可以制定一个「插件查询协议」来实现。...小结 本文我们通过「代理分发技术」以及「插件查询协议」完成了ContentProvider组件的插件,并且给出了对「插件共享组件」的问题的一般解决方案

2.1K30

扫码

添加站长 进交流群

领取专属 10元无门槛券

手把手带您无忧上云

扫码加入开发者社群

相关资讯

热门标签

活动推荐

    运营活动

    活动名称
    广告关闭
    领券