公司项目之前好几个项目使用的是友盟的更新,在2016年10月15日停止对开发者的支持,该公司是这样解释的:
Android面临的问题更多,比如应用市场(集成友盟自动更新插件会导致市场审核被拒)、部分系统厂商(部分厂商系统上,增量更新功能不能正常工作)以及部分运营商的拦截(比如有开发者反馈我们的下载CDN链接在某些地区的运营商会被禁止访问)。
简直就是一个坑,从此觉得第三方靠不住,自己动手丰衣足食,于是就想到了,自己写更新服务,部署到jenter。这样多个项目可以进行依赖,减少代码的冗余。从而更好的进行维护。不用考虑第三方是否被收购,还是倒闭,还是。。。。
说到发布依赖到jenter,说一下自己的发布步骤,以便后者学习。
1.首先注册问题可分为公司和个人,https://bintray.com的官网默认是注册公司账号,个人和公司的区别在于:公司的先有组织才能申请项目;个人可创建组织,也可直接创建maven库
注意:个人的注册地址为:https://bintray.com/signup/oss
个人的注册地址为:https://bintray.com/signup/oss
个人的注册地址为:https://bintray.com/signup/oss
重要的事情说三遍!!!
2.注册好,创建Maven库
登陆后,你可以点击Your Profile->Edit然后就能看到上图的界面。
点击API Key,就可以看到你一段key字符串,把这个copy下放一边,一会上传要用。
3.Android Studio创建项目,添加依赖Module,配置
3.1引入bintray-release
项目的build.gradle
在你的项目的build.gradle添加bintray-release的classpath,注意是项目的build.gradle,不是module的
添加 classpath 'com.novoda:bintray-release:0.3.4'
3.2 修改你想要上传的module下的gradle文件
apply plugin: 'com.android.library'
apply plugin: 'com.novoda.bintray-release'//添加
android {//保持不变}
dependencies {//保持不变}
//添加
publish {
userOrg = 'lihaodongno1'//bintray.com用户名
groupId = 'com.lihaodong.UpdaterApp'//jcenter上的路径
artifactId = 'UpdaterApp'//项目名称
publishVersion = '1.0.0'//版本号
desc = ' ' //描述,不重要
website = 'https://github.com/lihaodongno/UpdateApp'//网站,不重要;尽量模拟 github上的地址,例如我这样的;当然你有地址最好了
}
项目引入就变成这样:compile 'com.lihaodong.UpdaterApp:UpdaterApp:1.0.0'
3.3如图,需要生成如下文件!如果没有该文件,在发布到jcenter会报一些错误!
傻瓜式生成如上图文件:
在控制台输入:
./gradlew bintrayUpload
-PbintrayUser=lihaodongno1
-PbintrayKey=********************
-PdryRun=false
Building Success 即上传成功!
如果显示faild 一般是公司和个人的引入问题,与用户名和key不匹配
4.接下来就去网站发布到jcenter接口(因为默认上传成功时maven)
Android更新服务,待整理中。。。。