Android iOS开发知识库首页投稿(暂停使用,暂停投稿)Android技术知识

接入阿里百川Hotfix的过程(第一篇:配置及认识)

2017-03-15  本文已影响0人  ziabo_yu

最近自己公司的项目打算做热更新,因为有一个很小的bug处理的时候居然一周发了三个新版本,所以就决定做热更新来避免这种尴尬!首先允许我偷偷地开心一下,因为ios的热更新被苹果和谐了,这一点上终于不用再跟ios同步了,虽然阿里百川的hotfix目前还有很多的限制,但是毕竟是阿里出的方便大家的,所以反复考虑后选择了这个,但是真正做起来发现坑还是很多!
好了废话不多说了,注册开发者,申请使用Hotfix这些步骤我就不多说了,相信做过集成的人都知道怎么做,接下来我就扒一扒他的快速集成指南!
最新的Hotfix版本已经更新到2.0,支持更强大,下面先上一个图,配置大同小异!

阿里百川Hotfix2.0
 maven {
            url "http://repo.baichuan-android.taobao.com/content/groups/public/"
        }

阿里的集成文档的后面加了下面这句话,个人第一次看的时候表示很不解

注意: 1.4.0版本的仓库地址已经发生了变更, 请更新到上述百川最新的仓库地址
也不知道他的具体意思是什么,不要笑我,我不信你们看了不会多想,其实就是把上面代码区的拷出来就好啦!

dependencies {
    compile 'com.taobao.android:alisdk-hotfix:1.4.0'
}

假如你用了阿里的其他产品,比如Umeng,变异的时候会报错,说utdid重复,所以此时进行如下处理即可, 关闭传递性依赖:(官方解释说,utdid实际上是为设备生成唯一deviceid的一个基础类库)

compile ('com.taobao.android:alisdk-hotfix:1.4.0') {
        transitive = false
    }

好了接下来我们这样做,然后来编译一下试试!
基本不会出现下载不到的情况,但是假如下载失败了怎么办?不要慌,还可以做本地依赖

[SDK下载&版本更新记录](http://baichuan.taobao.com/docs/doc.htm?spm=a3c0d.7629140.0.0.oRRsfg&treeId=234&articleId=105517&docType=1)

然后做如下配置:

repositories {
    ...
    flatDir {
        dirs 'libs'
    }
}
dependencies {
    compile files('libs/utdid4all-1.1.5.3_proguard.jar')
    compile(name:'alisdk-hotfix-1.4.0', ext:'aar')  
}

注意:编译期间报utdid重复, 去掉compile files('libs/utdid4all-1.1.5.3_proguard.jar')依赖即可(上面的repositories 中的flatDir 指的是当.aar文件在本地的时候指向的文件夹,一般放在libs里面,下面的compile(name:'alisdk-hotfix-1.4.0', ext:'aar')就是本地依赖的核心代码)
<h4>注:因为我是新手,对eclipse差不多已经忘完了,此处就只写studio的配置!</h4>

<! -- 网络权限 -->
<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"/>

其中读外部存储的权限基本上只有在原生6.0里面才会给提示,大部分手机厂商都是默认给了的,但是google规定的这个也属于危险权限,所以大家还是手动申请一下的好,不会的请自行查询,或者下载阿里百川的demo,demo的MainActivity里面写的有.

        <meta-data
            android:name="com.taobao.android.hotfix.APPKEY"
            android:value="appkey" />
        <meta-data
            android:name="com.taobao.android.hotfix.APPSECRET"
            android:value="appsecret" />
        <meta-data
            android:name="com.taobao.android.hotfix.RSASECRET"
            android:value="apprsa" />

第一个value里面放的是你的appKey,第二个放的是你的appSecret,第三个放的是你的appRsa,这些的获取方式就不做赘述了,自己申请过的肯定知道,不知道的就自己去申请一个好好看看试试!算了,还是附上阿里的链接吧!(获取app_secret以及app_rsa的方法)
http://baichuan.taobao.com/docs/doc.htm?spm=a3c0d.7629140.0.0.oRRsfg&treeId=234&articleId=105459&docType=1#s1

-keep class * extends java.lang.annotation.Annotation
-keepclasseswithmembernames class * {
    native <methods>;
}
-keep class com.alipay.euler.andfix.**{
    *;
}
-keep class com.taobao.hotfix.aidl.**{*;}
-keep class com.ta.utdid2.device.**{*;}
-keep class com.taobao.hotfix.HotFixManager{
    public *;
}

本篇只讲基础配置,具体的集成以及可能会出现的问题,后面会分两篇慢慢写,觉得有用的可以关注我,谢谢观看!辛苦啦......

上一篇 下一篇

猜你喜欢

热点阅读