package zeus.plugin;
import java.util.HashMap;
/**
* Created by huangjian on 2016/6/21.
* 插件的一些配置项
*/
public class PluginConfig {
/**
* 插件配置文件存放的路径,没有放到manifest中的meta data是因为有些手机取不到这个值
*/
public static final String PLUGINWEB_MAINIFEST_FILE = "assets/zeusplugin.meta";
/**
* 有些手机中DexFile只能接受.apk和.jar后缀,所以这里二选一,如果是sd卡上最好用jar,因为apk会被当成未安装apk被清理软件清理。
*/
public static final String PLUGIN_SUFF = ".apk";
/**
* 真实的activity
*/
public static final String PLUGIN_REAL_ACTIVITY = "realActivity";
/**
* 校验的标准的activity,仅为了通过android的activity校验,需要在AndroidManifest.xml中添加
*/
public static final String PLUGIN_ACTIVITY_FOR_STANDARD = "com.zeus.ZeusActivityForStandard";
/**
* 如果插件路径是在SD卡上,则插件后缀应为jar
*/
public static final String PLUGIN_JAR_SUFF = ".jar";
public static final String PLUGIN_INSTALLED_INFO_PATH = "zeusplugin_installinfo"; //插件的安装路径信息,每次安装后的apk的文件名都是随机的,为了实现动态实时加载
public static final String EXP_PLUG_PREFIX = "zeusplugin"; //如果插件id是以zeusplugin开头,则认为是插件
public static final String EXP_PLUG_NO_SO_PREFIX = EXP_PLUG_PREFIX + "_no_so"; //如果插件id是以zeusplugin_no_so开头,则认为是插件
public static final String EXP_PLUG_HOT_FIX_PREFIX = "zeushotfix"; //如果插件id是以zeushotfix开头,则认为是热修复补丁
public static final String EXP_PLUG_HOT_FIX_NO_RES_PREFIX =
EXP_PLUG_HOT_FIX_PREFIX + "_no_res"; //如果插件id是以zeushotfix_no_res开头,则认为是不带资源的热修复补丁
public static final String EXP_PLUG_HOT_FIX_NO_RES_SO_PREFIX =
EXP_PLUG_HOT_FIX_NO_RES_PREFIX + "_so"; //如果插件id是以zeushotfix_no_so_res开头,则认为是不带so和资源文件的热修复补丁
public static final String EXP_PLUG_HOT_FIX_NO_SO_PREFIX =
EXP_PLUG_HOT_FIX_PREFIX + "_no_so"; //如果插件id是以zeushotfix_no_so开头,则认为是不带so文件的热修复补丁
public static HashMap<String, Integer> mDefaultList = new HashMap<>();
public static final String PLUGIN_TEST = "zeusplugin_test"; //插件测试demo
public static final String HOTFIX_TEST = "zeushotfix_test"; //热修复补丁测试demo
/**
* apk自带的插件的列表,每次添加内置插件的时候需要添加到这里,格式(pluginName,pluginVersion)
* pluginVersion一定要与插件中PLUGINWEB_MAINIFEST_FILE文件里的version保持一致。
* 对于插件还可以使用diff补丁的形式下载增量包,这样可以降低文件下载的大小。
*/
static {
//插件必须以PluginUtil.EXP_PLUG_PREFIX开头,否则不会识别为插件
mDefaultList.put(PLUGIN_TEST, 1);
//补丁必须以EXP_PLUG_HOT_FIX_PREFIX开头
//这里是演示如何使用,一般都不会内置热修复bug fix插件,热修复插件都是网上下载,下载完成后执行安装方法
//然后启动的时候就自动会加载热修复的补丁,热修复补丁不支持运行时动态更新,必须软件重启后才能生效
//否则会出现未知异常,反正没试过,感兴趣可以试试
// mDefaultList.put(HOTFIX_TEST, 1);
}
}