项目根目录的 build.gradle(注意:不是 app/build.gradle) 中添加 replugin-host-gradle 依赖:

  1. android {
  2. // ATTENTION!!! Must CONFIG this to accord with Gradle's standard, and avoid some error
  3. defaultConfig {
  4. applicationId "com.qihoo360.replugin.sample.host"
  5. ...
  6. }
  7. ...
  8. }
  9.  
  10. // ATTENTION!!! Must be PLACED AFTER "android{}" to read the applicationId
  11. apply plugin: 'replugin-host-gradle'
  12.  
  13. /**
  14. * 配置项均为可选配置,默认无需添加
  15. * 可更改配置项参见 自动生成RePluginHostConfig.java
  16. */
  17. repluginHostConfig {
  18. /**
  19. * 是否使用 AppCompat 库
  20. * 不需要个性化配置时,无需添加
  21. */
  22. useAppCompat = true
  23. /**
  24. * 背景不透明的坑的数量
  25. * 不需要个性化配置时,无需添加
  26. */
  27. countNotTranslucentStandard = 6
  28. countNotTranslucentSingleTop = 2
  29. countNotTranslucentSingleTask = 3
  30. countNotTranslucentSingleInstance = 2
  31. }
  32.  
  33. dependencies {
  34. compile 'com.qihoo360.replugin:replugin-host-lib:2.2.4'
  35. }

以下请务必注意:

  • 请一定要确保符合Gradle开发规范,也即“必须将包名写在applicatonId”,而非AndroidManifest.xml中(通常从Eclipse迁移过来的项目可能出现此问题)。如果不这么写,则有可能导致运行时出现“Failed to find provider info for com.ss.android.auto.loader.p.main”的问题。具体可。
  • 请将apply plugin: 'replugin-host-gradle'放在 android{} 块之后,防止出现无法读取applicationId,导致生成的坑位出现异常
  • 如果您的应用需要支持AppComat,则除了在主程序中引入AppComat-v7包以外,还需要在宿主的build.gradle中添加下面的代码若不支持AppComat则请不要设置此项
  • 如果您的应用需要个性化配置坑位数量,则需要在宿主的build.gradle中添加下面的代码:
  1. repluginHostConfig {
  2. /**
  3. * 背景不透明的坑的数量
  4. */
  5. countNotTranslucentStandard = 6
  6. countNotTranslucentSingleTop = 2
  7. countNotTranslucentSingleTask = 3
  8. countNotTranslucentSingleInstance = 2
  9. }

更多可选配置项参见replugin-host-gradle的RepluginConfig类

让工程的 Application 直接继承自 RePluginApplication。

既然声明了Application,自然还需要在AndroidManifest中配置这个Application

  1. <application
  2. android:name=".MainApplication"
  3. ... />

若您的应用对Application类继承关系的修改有限制,或想自定义RePlugin加载过程(慎用!),则可以直接调用相关方法来使用RePlugin。

  • 所有方法必须在UI线程来“同步”调用。切勿放到工作线程,或者通过post方法来执行
  • 所有方法必须一一对应,例如 RePlugin.App.attachBaseContext 方法只在Application.attachBaseContext中调用
  • 请将RePlugin.App的调用方法,放在“仅次于super.xxx()”方法的后面

如果您想马上着手开发插件,请移步到插件接入指南,跟随指引完成插件的开发

如果您想看下如何安装、运行插件,请移步到,了解更多玩法。