当前位置:首页 > 谈天说地

Android接入阿里云热修复介绍

34资源网2022-01-27616

1.androidmaninifest.xml中加入权限

 <uses-permission android:name="android.permission.internet" />
 <uses-permission android:name="android.permission.access_network_state" />
 <uses-permission android:name="android.permission.access_wifi_state" />
 <uses-permission android:name="android.permission.read_external_storage"/>

2.androidmaninifest.xml里application中加入以下,在as中打开在第五步下载的文件
app id:"hotfix.idsecret"
app secret:"emas.appsecret"
rsa密钥:"hotfix.rsasecret"

<meta-data
android:name="com.taobao.android.hotfix.idsecret"
android:value="app id" />
<meta-data
android:name="com.taobao.android.hotfix.appsecret"
android:value="app secret" />
<meta-data
android:name="com.taobao.android.hotfix.rsasecret"
android:value="rsa密钥" />

3、在app的build.gradle中加入依赖等

plugins { id 'com.android.application'}
//加载文件
apply plugin: 'com.aliyun.ams.emas-services'

android {
    compilesdkversion 30
    buildtoolsversion '30.0.3'

    defaultconfig {
        applicationid "com.wb.hotfixdemo"
        minsdkversion 16
        targetsdkversion 30
        versioncode 1
        versionname "1.0"

        testinstrumentationrunner "androidx.test.runner.androidjunitrunner"
    }

    buildtypes {
        release {
            minifyenabled false
            proguardfiles getdefaultproguardfile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
        debug {
            minifyenabled false
            proguardfiles getdefaultproguardfile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
    }
    compileoptions {
        sourcecompatibility javaversion.version_1_8
        targetcompatibility javaversion.version_1_8
    }
}

dependencies {

    implementation 'androidx.appcompat:appcompat:1.1.0'
    implementation 'com.google.android.material:material:1.1.0'
    implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
    testimplementation 'junit:junit:4.+'
    androidtestimplementation 'androidx.test.ext:junit:1.1.1'
    androidtestimplementation 'androidx.test.espresso:espresso-core:3.2.0'
	//阿里云依赖
    api 'com.aliyun.ams:alicloud-android-hotfix:3.3.0'
}

4、sophixstubapplication
目前集成已经完毕了,下面就是代码的实现,新建一个类sophixstubapplication继承sophixapplication

public class sophixstubapplication extends sophixapplication {
    private final string tag = "sophixstubapplication";
    // 此处sophixentry应指定真正的application,并且保证realapplicationstub类名不被混淆。

    @keep
    @sophixentry(myrealapplication.class)
    static class realapplicationstub {}

    @override
    public void oncreate() {
        super.oncreate();
        sophixmanager.getinstance().queryandloadnewpatch();
    }

    @override
    protected void attachbasecontext(context base) {
        super.attachbasecontext(base);
//         如果需要使用multidex,需要在此处调用。
//         multidex.install(this);
        initsophix();
    }

    private void initsophix() {
        string appversion = "0.0.0";
        try {
            appversion = this.getpackagemanager().getpackageinfo(this.getpackagename(), 0).versionname;
        } catch (exception e) {
        }
        final sophixmanager instance = sophixmanager.getinstance();
        instance.setcontext(this)
                .setappversion(appversion)
                .setsecretmetadata(null, null, null)
                .setenabledebug(true)
                .setenablefulllog()
                .setpatchloadstatusstub(new patchloadstatuslistener() {
                    @override
                    public void onload(final int mode, final int code, final string info, final int handlepatchversion) {
                        if (code == patchstatus.code_load_success) {
                            log.i(tag, "sophix load patch success!");
                        } else if (code == patchstatus.code_load_relaunch) {
                            // 如果需要在后台重启,建议此处用sharepreference保存状态。
                            log.i(tag, "sophix preload patch success. restart app to make effect.");
                        }
                    }
                }).initialize();
    }
}

5、myrealapplication

public class myrealapplication extends application {

}

6、androidmaninifest.xml里加入sophixstubapplication

 <application
        android:name=".sophixstubapplication"	//加入此项
        android:allowbackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundicon="@mipmap/ic_launcher_round"
        android:supportsrtl="true"
        android:theme="@style/theme.hotfixdemo">

到这已经完成阿里云热修复的百分之八十,后面就是下载工具实现发布补丁

到此这篇关于android接入阿里云热修复介绍的文章就介绍到这了,更多相关android阿里云热修复内容请搜索萬仟网以前的文章或继续浏览下面的相关文章希望大家以后多多支持萬仟网!

看完文章,还可以扫描下面的二维码下载快手极速版领4元红包

快手极速版二维码

快手极速版新人见面礼

除了扫码领红包之外,大家还可以在快手极速版做签到,看视频,做任务,参与抽奖,邀请好友赚钱)。

邀请两个好友奖最高196元,如下图所示:

快手极速版邀请好友奖励

扫描二维码推送至手机访问。

版权声明:本文由34楼发布,如需转载请注明出处。

本文链接:https://www.34l.com/post/6527.html

分享给朋友:

相关文章

免费的包子,好心做了好事却害了自己

免费的包子,好心做了好事却害了自己

中午与老板一块吃饭,听到了一个老好人事件。就是一包子铺老板许坤免费送人包子事件!这是个真实的事件,现在网上有流传,下边的内容来源于某个平台,大家一起来看看吧。…

逍遥手机模拟器怎么用(逍遥安卓模拟器详细使用教程)

逍遥手机模拟器怎么用(逍遥安卓模拟器详细使用教程)

真正的5V5公平竞技对战,传承端游纯正体验。人气英雄,经典还原;公平竞技,实力至上;峡谷传说,掌心再现。策略、战术、意识、配合,在移动端重现峡谷战场乐趣。 为了庆祝大家期待已久的中国区开服,官方也带来了五大福利活动,用户可免费参与,并获得十…

视频号加粉多少会被推荐?视频号制作方法分享

视频号加粉多少会被推荐?视频号制作方法分享

今天下午,视频号突然暂停申请,让原本打算在视频号大干一场的运营者们感到懵圈。不过据业内人士透露,此次暂停并“不会太久”,很快就会再次上线。…

卡斯数据是干什么的(免费大数据查询平台)

卡斯数据是干什么的(免费大数据查询平台)

短视频/直播电商不负众望,成为2020年品牌营销最热关键词。G2格局下两大顶流——抖音和快手,也自然吸引了各方关注。相较抖音而言,快手独特的老铁氛围像自带结界,不懂“规矩”的内容创作者和品牌方在这里寸步难行。 究竟快手直播电商现状如何?什么…

融资丨「PPIO边缘云」完成亿元A1轮融资,刷新边缘云领域融资记录

融资丨「PPIO边缘云」完成亿元A1轮融资,刷新边缘云领域融资记录

创业邦获悉,近日,边缘云公司PPIO宣布完成过亿元A1轮融资,由创世伙伴、张江科投、磐霖资本等多家机构联合投资,Pre-A轮投资方蓝驰创投、沸点资本及华业天成继续追加投资,光源资本担任融资财务顾问。这是公司半年内再次获投资人支持,公司A2轮…

直播间里“拆盲盒”,二手电商平台「Whatnot」拆出15亿美元丨快鲤鱼海外

直播间里“拆盲盒”,二手电商平台「Whatnot」拆出15亿美元丨快鲤鱼海外

靠着直播带货和“拆盲盒”,二手潮品电商平台 Whatnot 在今年已经完成了3轮融资,公司估值达到 15 亿美元,成立2年便跻身独角兽之列。 通过商品认证转卖、直播拍卖、直播间开“盲盒”等看似有点“中国味”的玩儿法,Whatnot一改美国二…