Skip to content

Latest commit

 

History

History
executable file
·
151 lines (123 loc) · 3.82 KB

phantom-core-init.md

File metadata and controls

executable file
·
151 lines (123 loc) · 3.82 KB

PhantomCore 初始化配置

在宿主程序的 Application#onCreate() 方法中调用 PhantomCore#init(...) 方法进行初始化

public class PhantomApplication extends Application {

    @Override
    public void onCreate() {
        super.onCreate();
        PhantomCore.getInstance().init(this, new PhantomCore.Config());
    }
}

示例代码

PhantomCore.Config 配置参数说明

  • setDebug(..)

    /**
      * 设置调试模式:
      *   在调试模式下,插件生命周期方法调用中的异常不会被捕获,应用会崩溃。
      *   支持插件快速部署到宿主。
      *
      * 默认 false
      *
      * @param debug 是否开启调试模式
      * @return 该配置对象
      */
  • setLogLevel(..)

    /**
      * 设置日志级别;默认 {@link android.util.Log#WARN}。
      *
      * @param int:logLevel 见 {@link android.util.Log}
      * @return 该配置对象
      */
  • setCheckVersion(..)

    /**
      * 安装插件时是否检查版本号;若为 true,则仅支持升级安装;默认 true
      *
      * @param boolean:checkVersion 是否检查版本号
      * @return 该配置对象
      */
  • setTurboDexEnabled(..)

    /**
      * 是否优化首次加载插件速度;若为 true, 首次加载插件禁用 dex2oat ,而以解释执行的方式运行
      * NOTE:由于是以 hack 的方式实现,可能在部分设备上存在兼容性问题
      *
      * 默认 true
      *
      * @param boolean:enabled 是否启用快速加载插件
      * @return 该配置对象
      */
  • setLogReport(..)

    /**
      * 设置数据统计上报类对象
      *
      * @param ILogReport:logReport 数据统计上报类对象
      * @return 该配置对象
      */
  • setPreloadAsync(..)

    /**
      * 设置是否在 SDK 初始化时 异步执行 解析已安装的插件 apk 信息
      * true - 异步加载,SDK 初始化时间会减小,但后续首次调用插件管理的 API (安装/卸载/查询) 可能会 block (毫秒级)
      * false - 同步加载,SDK 初始化时间会增大(随已安装的插件 apk 数量线性增长),不会影响后续调用插件管理的 API (安装/卸载/查询)
      *
      * @param boolean:preloadAsync 是否异步加载,默认为 true
      * @return 该配置对象
      */
  • setCheckSignature(..)

    /**
      * 安装插件时是否校验签名;若为 true, 则插件与宿主签名一致才能安装;默认 true
      *
      * @param boolean:checkSignature 是否校验签名
      * @return 该配置对象
      */
  • addTrustedSignatures(..)

    /**
      * 添加信任的插件签名 MD5 列表。插件安装时,检查插件安装包签名 MD5 是否在信任的列表中。若不在,安装插件会失败。
      *
      * @param String:signatures 信任的插件签名 MD5 列表
      * @return 该配置对象
      * @see InstallResult#ERR_SIGNATURE_MISMATCH
      */
  • addPhantomService(..)

    /**
      * 添加宿主提供的供插件调用的服务对象,服务对象类必须使用 {@link PhantomService} 注解
      *
      * @param Object:phantomService 服务对象
      * @return 该配置对象
      */
  • addPhantomServiceIndex(..)

    /**
      * 添加宿主提供的供插件调用的服务索引
      *
      * @param PhantomServiceIndex:服务索引
      * @return 该配置对象
      */
  • setPhantomEventCallback(..)

    /**
      * 设置 Phantom 事件通知回调
      *
      * @param PhantomEventCallback:Phantom 事件通知回调
      * @return 该配置对象
      */