热更新之后还有win7热血传奇闪退补丁的么

苹果封锁热更新 王者荣耀、阴阳师等大型手游不执行或下架
关键字: 苹果热更新热更新苹果热更新苹果手机苹果微信微信苹果
用苹果手机玩阴阳师还有王者荣耀的小伙伴们,你们的麻烦来了。据第一财经6月7日报道,苹果AppStore审核团队向厂商发出“最后通牒”,要求开发者在6月12日之前去除软件热更新功能,不然有可能下架。
所谓热更新,即手机用户在下载完App之后打开,直接在App内部进行直接更新,只需要下载少量安装部分就能够直接使用,这样可以直接绕过苹果AppStore的审核。如果从AppStore内部进行更新,那么需要重新下载整个安装包。
苹果CEO库克@视觉中国
所以,从下载的方便程度上来看,热更新往往只需要用户下载1M大小左右的文件。另外,热更新绕过了苹果的审核机制,只需要一晚上就能上线,这远比苹果AppStore快的多。
苹果在邮件中称,今年3月就已经发过提醒,一部分App有热更新代码,这些代码违反了苹果开发者协议的 3.3.2 条款与 App Store 审核指南的 2.5.2 条款。苹果曾经要求移除所有相关代码、框架或 SDK,并且重新提交版本。
据《北京商报》报道,苹果认为,使用热更新技术对用户的信息安全造成了极大隐患,热更新技术容易被黑客利用。这一观点得到了许多开发者的认可。还有观点认为,苹果要求所有iOS内的App都严格在苹果生态闭环中,不允许开发者绕过苹果系统执行功能,前不久微信公号内的打赏功能被关闭,也是苹果营造生态闭环的一个重要例证。
阴阳师原始安装文件大小高达1G,取消热更新以后每次都要重下1G游戏?
受到影响最大的可能是大量使用热更新的手游厂商,比如阴阳师、王者荣耀等倾向使用热更新,对此,有国内大型游戏开发公司向《北京商报》表示,内部已经关注到最新的政策,目前还在研究中,暂未有更多回应。
2017年4月在浙江绍兴举行的首届王者荣耀比赛@视觉中国
除了手游公司以外,另外一个大家关心的公司是微信,。此次热更新事件也自然牵扯到了微信,甚至网络上出现了如《苹果大招!6月12日微信或将退出IOS系统?网友都炸了》等耸人听闻的标题。
对此,腾讯的公关总监张军也在连发了两条微博进行回应。张军称,发出这种新闻的人想象力丰富,应该早日转行当编剧,并且苹果依然和微信有不少合作。另外,微信不使用热更新,此事与微信无关。
张军微博截图
原标题:苹果出新招:微信之后《王者荣耀》躺枪 不执行就下架 请支持独立网站,转发请注明本文链接: 责任编辑:张珩已收藏本页面
不知道你们的有没有出现
从昨天开始只要回复别人的评论就一直闪退
就正常看可以评论也可以。就是不能回复别人评论
点着回复谁就闪退
五华区发来贺电
世纪城路过,粉你了
我在南屏街等的教你噶?
你也是官渡的??
五华区路过
苹果6表示最近一直这逼样。
手机问题吧
来美女。咱俩试试
只是心跳加快了
没出现!卸了重装,或者重启手机试一下!
后才能发表评论
你可能喜欢的图片笑话
最受欢迎的爆笑笑话
扫码下载糗事百科app阿里百川HotFix热更新集成加使用 - 简书
阿里百川HotFix热更新集成加使用
集成步骤:
首先创建开发者账号,并创建一个应用
Androidstutio集成:
首先还是按照阿里文档集成,有可能不成功的(文档上面说了注意: 1.4.0版本的仓库地址已经发生了变更, 请更新到上述百川最新的仓库地址),反正我是没有成功
我的(这是根据阿里给的dome里面配置的):先在project的gradle里面添加:allprojects {
repositories {
//百川仓库, ut/utdid
url "http://repo.baichuan-/content/groups/BaichuanRepositories"
然后在module的gradle中添加: dependencies {
compile 'com.taobao.android:alisdk-hotfix:1.4.0'
在文章的末尾我会贴出我的gradle代码
创建一个Application
* Created by Laer on .
public class Myapplication extends Application {
public void onCreate() {
super.onCreate();
HotFixManager.getInstance().setContext(this)
.setAppVersion("你的版本号")
.setAppId("你在开发者平台创建应用的appId")
.setAesKey(null)//如果对补丁进行了Aes加密,这里就要填上,具体见开发文档
.setSupportHotpatch(true)
.setEnableDebug(true)
.setPatchLoadStatusStub(new PatchLoadStatusListener() {
public void onload(final int mode, final int code, final String info, final int handlePatchVersion) {
// 补丁加载回调通知
if (code == PatchStatusCode.CODE_SUCCESS_LOAD) {
// TODO: 10/24/16 表明补丁加载成功
} else if (code == PatchStatusCode.CODE_ERROR_NEEDRESTART) {
// TODO: 10/24/16 表明新补丁生效需要重启. 业务方可自行实现逻辑, 提示用户或者强制重启, 建议: 用户可以监听进入后台事件, 然后应用自杀
} else if (code == PatchStatusCode.CODE_ERROR_INNERENGINEFAIL) {
// 内部引擎加载异常, 推荐此时清空本地补丁, 但是不清空本地版本号, 防止失败补丁重复加载
//HotFixManager.getInstance().cleanPatches(false);
// TODO: 10/25/16 其它错误信息, 查看PatchStatusCode类说明
}).initialize();
添加网络权限&!-- 网络权限 --&
&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"/&
在清单文件中添加key
&meta-data
android:name="com.taobao.android.hotfix.APPSECRET"
android:value="你在开发者平台获取的APPSECRET" /&
&meta-data
android:name="com.taobao.android.hotfix.RSASECRET"
android:value="你在开发者平台获取的RSASECRET" /&
获取这两个参数的链接:
project中的gradle
buildscript {
repositories {
dependencies {
classpath 'com.android.tools.build:gradle:2.1.0'
allprojects {
repositories {
//百川仓库, ut/utdid
url "http://repo.baichuan-/content/groups/BaichuanRepositories"
task clean(type: Delete) {
delete rootProject.buildDir
module的gradle
apply plugin: 'com.android.application'
compileSdkVersion 25
buildToolsVersion "25.0.0"
defaultConfig {
applicationId "com.xxx.alihix"
minSdkVersion 15
targetSdkVersion 25
versionCode 1
versionName "1.0"
buildTypes {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
testCompile 'junit:junit:4.12'
compile 'com.android.support:appcompat-v7:25.0.0'
compile 'com.android.support:palette-v7:25.0.0'
compile 'com.taobao.android:alisdk-hotfix:1.4.0'
compile 'com.android.support:design:25.0.0'
至此我们的集成过程就已经完成了,下面进入调试使用阶段
首先我们要创建一个old.apk(也就是有问题的apk)
首先将Myapplication中的.setAppVersion("1.0")//设置一个版本号,随便设置,后面再上传补丁的时候会将补丁的版本号改成这个,这两个地方的版本哈要一致
接下来我们发布一个有问题的apk或是说old.apk,并将这个old.apk放到一个单独的地方(我的:C:\Users\Laer\Desktop\oldApk\old.apk),以免发布新版本的时候覆盖这个旧版本(这个old.apk会在生成补丁时用到)
然后更改想要修改的代码,直接发布生成一个new.apk,同理将这个新的apk放到一个特定的位置(我的: C:\Users\Laer\Desktop\newApk\new.apk)
接下来我们就要使用阿里提供的生成补丁的工具了:
首先到这个链接下载工具:
在这个工具所在的目录打开cmd命令窗口,输入生成补丁的命令:java -jar BCFixPatchTools-1.3.0.jar -c patch -s C:\Users\Laer\Desktop\oldApk\old.apk -f C:\Users\Laer\Desktop\newApk\new.apk -w patch-out
上面是我的最基本的生成补丁的命令,更完善命令或是要看具体含义可以参考文档2.2 生成 patch:
将旧版的apk安装到手机(这只是针对测试,实际不用这样,用户手机里肯定是旧版的)
将生成的补丁上传到阿里(步骤:创建补丁新版本号----&点击查看详情-----&上传补丁----&确定发布),如图:注意这里所填的版本号,就是在生成old.apk时在Application中填的版本号
创建补丁新版本
退出当前运行的old.apk,从新进入,这时程序将会自动检测是否有补丁,如果有将自动加载补丁,正常来说你就可以实现热更新后的效果了(有时候会程序会闪退,至于原因可以去看文档)
顺便提一下文档中官方提到了一个调试工具,具体使用见文档,使用起来也很简单,我就不做介绍了
到这里整个生成补丁,调试都走完了,热更新肯定也是有问题的,下面介绍一个我在调试时遇到的一个问题
old.apk代码:
public void onclick(View view) {
tv_show.setText("这是热更新之前的");
tv_show.setText("这是热更新过后的");
我为textview添加了一个点击事件,从而根据显示的不同文字来区分是否热更新成功
new.apk代码:
public void onclick(View view) {
tv_show.setText("这是热更新之前的");
tv_show.setText("这是热更新过后的");
调试的结果就是报异常,状态异常,如图:
然后我改成了这样:
public void onclick(View view) {
showMsg();
private void showMsg() {
tv_show.setText("这是热更新之前的");
tv_show.setText("这是热更新过后的");
然后就成功了,我也没搞懂到底是为啥再给一个使用阿里热更新可能存在的问题的链接
尊重劳动成果,转发请标明原出处,谢谢。
奔跑的蜗牛

我要回帖

更多关于 热血传奇闪退 的文章

 

随机推荐