集成DroidPlugin后,怎样实现一部手机同时安装多个不同版本apk

1、DroidPlugin以module的形式引入。
2、将DroidPlugin的PluginManager.java中的public static final String STUB_AUTHORITY_NAME,将final修饰去掉。
3、在自己项目初始化DroidPlugin的地方(一般在application中)之前设置PluginManager.STUB_AUTHORITY_NAME的值。例如:PluginManager.STUB_AUTHORITY_NAME = getPackageName() + “.droidplugin_stub”;
4、把DroidPlugin的AndroidManifest.xml文件中的9个占坑provider复制到你项目的AndroidManifest.xml文件中,例如:

<provider
       android:name="com.morgoo.droidplugin.stub.ContentProviderStub$StubP00"
       android:authorities="@string/plugin_provider_authorities_P00"
       tools:replace="android:authorities"
       android:exported="false"
       android:label="@string/stub_name_povider" /> 

<provider
       android:name="com.morgoo.droidplugin.stub.ContentProviderStub$StubP01"
       android:authorities="@string/plugin_provider_authorities_P01"
       tools:replace="android:authorities"
       android:exported="false"
       android:label="@string/stub_name_povider" /> 

// 省略其它
.....

authorities属性的值中的plugin_provider_authorities_P00(共9个)需要在自己项目的build.gradle文件中配置。像这样配置:

productFlavors {

        // 开发版
        develop {
            applicationId "com.xxx.xxx.develop"
            resValue("string", "plugin_provider_authorities_P00", applicationId+".droidplugin_stub_P00")
            resValue("string", "plugin_provider_authorities_P01", applicationId+".droidplugin_stub_P01")
            resValue("string", "plugin_provider_authorities_P02", applicationId+".droidplugin_stub_P02")
            resValue("string", "plugin_provider_authorities_P03", applicationId+".droidplugin_stub_P03")
            resValue("string", "plugin_provider_authorities_P04", applicationId+".droidplugin_stub_P04")
            resValue("string", "plugin_provider_authorities_P05", applicationId+".droidplugin_stub_P05")
            resValue("string", "plugin_provider_authorities_P06", applicationId+".droidplugin_stub_P06")
            resValue("string", "plugin_provider_authorities_P07", applicationId+".droidplugin_stub_P07")
            resValue("string", "plugin_provider_authorities_P08", applicationId+".droidplugin_stub_P08") 
        }

        // 内部版
        internal {
            applicationId "com.xxx.xxx.internal"
            resValue("string", "plugin_provider_authorities_P00", applicationId+".droidplugin_stub_P00")
            resValue("string", "plugin_provider_authorities_P01", applicationId+".droidplugin_stub_P01")
            resValue("string", "plugin_provider_authorities_P02", applicationId+".droidplugin_stub_P02")
            resValue("string", "plugin_provider_authorities_P03", applicationId+".droidplugin_stub_P03")
            resValue("string", "plugin_provider_authorities_P04", applicationId+".droidplugin_stub_P04")
            resValue("string", "plugin_provider_authorities_P05", applicationId+".droidplugin_stub_P05")
            resValue("string", "plugin_provider_authorities_P06", applicationId+".droidplugin_stub_P06")
            resValue("string", "plugin_provider_authorities_P07", applicationId+".droidplugin_stub_P07")
            resValue("string", "plugin_provider_authorities_P08", applicationId+".droidplugin_stub_P08")
        }

    // 省略其它
    .....

}
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值