Skip to content

Releases: Qihoo360/RePlugin

v3.0.0

26 Oct 09:48
Compare
Choose a tag to compare
  • 适配Android X
  • gradle 升级到3.5.4
  • 64位so适配
  • 优化部分崩溃问题

v2.3.4

18 Aug 07:06
Compare
Choose a tag to compare

Bug Fixes 修复错误

1、解决Android高版本上使用webview时资源文件找不到引起的崩溃
2、解决插件startActivityForResult2的反射参数错误问题
3、解决当已运行的插件发生更新后,在常驻进程存活的情况下,重新启动其他进程,会出现内置插件加载失败的情况
4、解决编译期间解析AndroidManifest.xml时发生的错误
5、使用高版本的javassist,解决activity替换失败的问题

v2.3.3

26 Jul 10:13
Compare
Choose a tag to compare

要解决的问题 Describe the problem to be solved

  1. Gradle新版Task兼容provider的方式消除warning。(gradle-5.4.1)
  1. 编译插件 com.android.tools.build:gradle支持3.6.0-alpha01, 解决宿主无法生成PluginBuiltinJson;
  1. 插件的ContentProvider支持多个接口:openInputStream/openOutputStream/notifyChange等等。
  1. 解决宿主编译时在Manifest插入坑位失败问题。

要解决的Issue编号(可多个) Associated issue number (multiple)

已在多个 gradle 和 Android build 插件的组合测试通过

组合列表

gradle android build gradle
gradle-2.14.1 com.android.tools.build:gradle:2.1.3
gradle-3.3 com.android.tools.build:gradle:2.3.3
gradle-4.10.2 com.android.tools.build:gradle:2.3.3
gradle-5.3.1 com.android.tools.build:gradle:3.4.1
gradle-5.4.1 com.android.tools.build:gradle:3.6.0-alpha01

关联

提交:

4b29af3

issue:

v2.3.2

29 Mar 03:58
Compare
Choose a tag to compare

Breaking Changes 核心改动

  • Gradle sync failed: No signature of method: com.android.build.gradle.internal.scope.VariantScopeImpl.getMergeAssetsTask() is applicable for argument types: () values: [] #640
  • 83b4bec 修复 provider 等因一条指令字节码替换失败导致整个类失败。@hyongbai

Main Changes 主要更新

Bug Fixes 修复错误

  • 0d4267d 修复 PluginInfo 可能出现 ConcurrentModification

  • fix when jar does not exist in repacage then pass #682

  • No signature of method: com.android.build.gradle.internal.scope.VariantScopeImpl.getMergeAssetsTask() is applicable for argument types: () values: [] #646
  • repackage 过程中文件夹路径找不到...\debug\25 does not exist(解决方案) #576
  • app\build\intermediates\transforms\desugar\release\39 does not exist. #628
  • /build/intermediates/transforms/desugar/debug/25 does not exist. #627

v2.3.1

16 Nov 11:06
00ffa38
Compare
Choose a tag to compare

replugin-host-lib

Breaking Changes 核心改动

1.针对Replugin的性能做了大量的优化。
2.部分代码逻辑重构。
3.Replugin相关的ANR率下降98%,秒级以上的卡顿问题基本消除。

Main Changes 主要更新

一键上传多个库到jcenter()
一键使用当前最新版本编译所有的Sample
一套脚本管理所有源码库和Sample中的版本号

Bug Fixes 修复错误

v2.3.0

10 Aug 11:10
def6ac6
Compare
Choose a tag to compare

replugin-host-lib

Breaking Changes 核心改动

  • (#632) Adaptation to Android P related modifications - @buyuntao

解决Android P(Android 9.0)相关适配问题,全面支持Android P(Android 9.0)正式版。

Bug Fixes 修复错误

v2.2.4

24 Feb 05:41
Compare
Choose a tag to compare

replugin-host-lib

Breaking Changes 核心改动

  • (#506)No longer Override PluginContext's getDatabasePath method - @cundong

为了适配 Android 8.1 及后续版本,PluginContext#getDatabasePath() 方法不再重写,因此,在开发中,需要各插件之间约定,防止出现重名数据库。

  • (#507)Improve the FileLock's used when loading plugin. - @cundong

在多进程加载多个插件时,所有元素都需要做到进程隔离

适配 Android O 的 odex 文件目录变化

  • (#497)Optimize the clone operation of the PluginInfo object - @SkyEric

优化了 PluginInfo 类的 clone( )实现,完善了插件升级,同版本覆盖,卸载等逻辑

  • (#499) Optimize the plugin to continuously upgrade 2 or more versions - @SkyEric

处理了“某插件连续性升级N次”这个场景。

Main Changes 主要更新

replugin-plugin-lib

Main Changes 主要更新

将插件 lib 中的 PluginInfo 对象与宿主 lib 同步

replugin-sample

增加了在插件中使用 Notification 的示例

v2.2.2

23 Jan 03:25
Compare
Choose a tag to compare

replugin-host-lib

Breaking Changes 核心改动

ART虚拟机,首次加载插件时提速(可选功能,默认关闭,后续会继续迭代)

支持在插件中使用PreferenceActivity

Main Changes 主要更新

Bug Fixes 修复错误

  • (#400) 修复返回插件列表信息重复的BUG - @cundong

replugin-plugin-gradle

Main Changes 主要更新

replugin-plugin-lib

Main Changes 主要更新

支持在插件中使用PreferenceActivity

  • (#379) Add getVersion, dump Api for plugin project - @cundong

Bug Fixes 修复错误

  • **(#384) 修复因CancellationSignal引起的,在Android 4 上的崩溃- @ChrisCheng4j

replugin-sample

增加了一个基础功能插件-weiview插件,大家可以参照该插件,自己封装「用户中心」「登录」「网络」「加密协议」「数据打点」等基础插件,实现独立开发,独立升级。

增加Fresco的最佳使用示例,详情参考:Fresco在RePlugin中的最佳实践

完善Fragment使用示例。

  • (#464) Add sample of jumping from plugin to host - @cundong

v2.2.1

25 Sep 13:00
Compare
Choose a tag to compare

replugin-host-lib

Breaking Changes 核心改动

  • (#350) Adapter to Android O's All-Of-the-Time Compilation - @cundong

适配Android O 的“全时段的编译”(All-Of-the-Time compilation)

支持通过 RePlugin.dump() 接口来dump详细的运行时信息,包括:

  1. 通过 RePlugin 运行起来的,插件中的Service 信息;
  2. 当前完整的 Activity 坑位映射表;
  3. 当前被运行起来的插件列表;

Main Changes 主要更新

Bug Fixes 修复错误

  • (#359) Samsung Android 5.0 5.1, When according to the volume button, Crash - @cundong

v2.2.0

23 Aug 03:15
Compare
Choose a tag to compare

replugin-host-lib

Breaking Changes 核心改动

  • (#296) Support "UI process" as a plug-in management process - @jiongxuan

支持以“UI进程”作为插件管理进程。换言之,可以做到“仅一个进程”就能开启插件。有关“插件管理进程”的详述,请点击这里查看《插件的管理》中“插件管理进程”一节

补充:在RePlugin 2.1.7及以前版本,必须要开启“两个进程”(分别为当前进程和“常驻进程”),这也是出于性能和插件管理角度考虑。如今仅需要一个进程即可。

  • (#264) Support multidex feature in plugin application for the ROM below LOLLIPOP - @wangfuda

完美支持 Android 4.4 及以下的插件的MultiDex(分包技术)的支持。

补充:主程序MultiDex一直都是“天然支持的”。而在RePlugin 2.1.7及以前版本,仅支持 Android 5.0 及以上版本的插件的MultiDex

  • (#288) Support for dynamically assign plugin's custom processes - @cundong

支持“动态分配进程坑位”方案,无需“填写Meta-data来分配进程”即可。有关进程坑位的信息,请参见《插件的组件》中“多进程坑位”一节

补充:在RePlugin 2.1.7及以前版本,常驻进程名不能修改,只可以为“[主程序包名]:GuardService”。从该版本开始,不仅可以修改常驻进程名,还可以选择“关闭常驻进程”

Main Changes 主要更新

Bug Fixes 修复错误

  • (#285) Fixed the installation will fail when you install the same version of the plug-in multiple - @jiongxuan
  • (#286) Resolved the issue of "Overwriting the plug-in, it may not be notified to other processes" - @jiongxuan
  • (#294) 解决P-n插件升级为“新插件”的问题 - @kevinfen9

Mirror Changes 精致优化

  • (#279) Set RePluginClassLoader to Thread's ContextClassLoader - @jiongxuan
  • (#302) Modify the number of translucent singleInstance Activity - @cundong
  • (#300) The return value of the fetchViewByLayoutName method is changed to "generic" - @jiongxuan
  • (#284) Remove unused files - @cundong

replugin-host-gradle

Main Changes 主要更新

Mirror Changes 精致优化

  • (#296) Added the PERSISTENT_ENABLE field, and adjust the "android:process" field in host's AndroidManifest - @jiongxuan
  • (#302) Modify the number of translucent singleInstance Activity - @cundong

replugin-plugin-lib

Mirror Changes 精致优化

  • (#290) Added the RePluginCompat class to be compatible with the old host-lib - @jiongxuan
  • (#290) Added RePlugin.fetchResourceIdByName/fetchViewByLayoutName in plugin-lib - @jiongxuan