返回顶部
首页 > 资讯 > 精选 >Android接入热修复的示例分析
  • 116
分享到

Android接入热修复的示例分析

2023-06-29 01:06:32 116人浏览 独家记忆
摘要

Android接入热修复的示例分析,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。AndroidManinifest.xml中加入权限 <uses-permi

Android接入热修复的示例分析,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

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"/>

AndroidManinifest.xml里application中加入以下,在AS中打开在第五步下载的文件
App ID:"hotfix.idSecret"
App Secret:"emas.appSecret"
RSA密钥:"hotfix.rsaSecret"

<meta-dataandroid:name="com.taobao.android.hotfix.IDSECRET"android:value="App ID" /><meta-dataandroid:name="com.taobao.android.hotfix.APPSECRET"android:value="App Secret" /><meta-dataandroid:name="com.taobao.android.hotfix.RSASECRET"android:value="RSA密钥" />

在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'}

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();    }}

MyRealApplication

public class MyRealApplication extends Application {}

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接入热修复的示例分析问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注编程网精选频道了解更多相关知识。

--结束END--

本文标题: Android接入热修复的示例分析

本文链接: https://lsjlt.com/news/321545.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Android接入热修复的示例分析
    Android接入热修复的示例分析,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。AndroidManinifest.xml中加入权限 <uses-permi...
    99+
    2023-06-29
  • Android热修复技术原理之资源热修复技术的示例分析
    小编给大家分享一下Android热修复技术原理之资源热修复技术的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!一、普遍的实现方式目前市面上的很多资源热修复...
    99+
    2023-06-20
  • Android线上Bug热修复分析
      针对app线上修复技术,目前有好几种解决方案,开源界往往一个方案会有好几种实现。重复的实现会有造轮子之嫌,但分析解决方案在技术上的探索和衍变,这轮子还是值得去推动的 ...
    99+
    2022-06-06
    Android
  • Android接入阿里云热修复介绍
    1.AndroidManinifest.xml中加入权限 <uses-permission android:name="android.permission.INTERNET...
    99+
    2024-04-02
  • Android热修复及插件化原理示例详解
    目录1.前言2.类加载机制3.Android类加载4.Tinker原理代码实现5.插件化5.1 Activity启动流程简单介绍5.2 插件化原理5.2.1 绕开验证5.2.2还原插...
    99+
    2022-11-13
    Android热修复插件化 Android热修复
  • win7系统修复的示例分析
    小编给大家分享一下win7系统修复的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!点击开始菜单,在搜索框中输入CMD。在搜索结果中找到CMD程序,右键点击...
    99+
    2023-06-28
  • Android中RecyclerView复用错乱的示例分析
    这篇文章给大家分享的是有关Android中RecyclerView复用错乱的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。复用错乱的解决办法本文的前半部分很简单的,以为关于复用错乱,RecyclerVie...
    99+
    2023-05-30
    android recyclerview
  • 深入理解Android热修复技术原理之代码热修复技术
    目录一、底层热替换原理1.1、Andfix 回顾1.2、虚拟机调用方法的原理1.3、兼容性问题的根源1.4、突破底层结构差异1.5、访问权限的问题1.5.1、方法调用时的权限检查1....
    99+
    2024-04-02
  • 深入理解Android热修复技术原理之资源热修复技术
    目录一、普遍的实现方式二、资源文件的格式三、运行时资源的解析四、另辟蹊径的资源修复方案4.1、新增的资源及其导致 id 偏移4.2、内容发生改变的资源4.3、删除了的资源4.4、对于...
    99+
    2024-04-02
  • 深入理解Android热修复技术原理之so库热修复技术
    目录一、SO库加载原理二、SO库热部署实时生效可行性分析2.1、动态注册 native 方法实时生效2.2、静态注册 native 方法实时生效2.3、SO实时生效方案总结三、SO库...
    99+
    2024-04-02
  • Android 手写热修复dex实例详解
    目录现有的热修复框架很多,尤以AndFix 和Tinker比较多今天就来探讨,如何手写一个热修复的功能什么是双亲委托机制话不多说,提出了解决方法,下面着手去实现总结现有的热修复框架很...
    99+
    2023-03-06
    Android 手写热修复dex Android dex
  • 数据库漏洞修复的示例分析
    这篇文章主要介绍了数据库漏洞修复的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。       比如我...
    99+
    2024-04-02
  • nodejs微信开发之接入的示例分析
    这篇文章主要为大家展示了“nodejs微信开发之接入的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“nodejs微信开发之接入的示例分析”这篇文章吧。内...
    99+
    2024-04-02
  • Android中FrameLayout的示例分析
    这篇文章将为大家详细讲解有关Android中FrameLayout的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。概述       FrameLayout以...
    99+
    2023-06-29
  • Android中EventBus的示例分析
    这篇文章将为大家详细讲解有关Android中EventBus的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。展示效果 添加EventBus导入依赖compile 'org.gre...
    99+
    2023-05-30
    android eventbus
  • Android中ANR的示例分析
    这篇文章将为大家详细讲解有关Android中ANR的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。Android ANR(Application Not Responding)的分析ANR (Ap...
    99+
    2023-05-30
    android anr
  • Sentinel热点规则示例详解分析
    目录概念@SentinelResource小试牛刀TestController.javadefaultFallbackfallback流量控制熔断降级热点参数限流高级选项概念 ...
    99+
    2024-04-02
  • SQL注入的示例分析
    这篇文章主要为大家展示了“SQL注入的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“SQL注入的示例分析”这篇文章吧。SQL注入攻击的总体思路 ...
    99+
    2024-04-02
  • keepalived Mysql双主热备配置的示例分析
    这篇文章主要介绍keepalived Mysql双主热备配置的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完! 基于keepalived双主热备:...
    99+
    2024-04-02
  • Android Animation之TranslateAnimation的示例分析
    这篇文章主要为大家展示了“Android Animation之TranslateAnimation的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Android Animation之Tr...
    99+
    2023-05-30
    android animation translateanimation
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作