守望者--AIR技术交流

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

搜索
热搜: ANE FlasCC 炼金术
查看: 732|回复: 0

Android 应用检测和自动更新ANE

[复制链接]
  • TA的每日心情
    擦汗
    2018-4-10 15:18
  • 签到天数: 447 天

    [LV.9]以坛为家II

    1742

    主题

    2094

    帖子

    13万

    积分

    超级版主

    Rank: 18Rank: 18Rank: 18Rank: 18Rank: 18

    威望
    562
    贡献
    29
    金币
    51757
    钢镚
    1422

    开源英雄守望者

    发表于 2015-1-11 22:37:06 | 显示全部楼层 |阅读模式
    应用下载
    应用名称: Android 应用检测和自动更新ANE
    支持64位:
    当前版本: 未知
    运行平台: Android 
    开发语言: ActionScript 3 
    应用类别: ANE-JAVA
    应用简介: anelist 的愿望列表里有很多人投票希望可以有自动更新的ANE,碰巧公司的产品也需要这个,所以就写了一个简单的,如果大家有进一步的需求,会逐渐完善
    anelist 的愿望列表里有很多人投票希望可以有自动更新的ANE,碰巧公司的产品也需要这个,所以就写了一个简单的,如果大家有进一步的需求,会逐渐完善

    注:由于论坛不允许上传ANE类型的文件,所以zip压缩了一下,由于是在macos下压缩的,不确定windows用户是否可以使用,如果有问题请回帖


    点我下载

    路线图:
    1、完善教程
    2、允许定制自动更新的UI
    3、允许通过DownloadManager在后台下载
    4、开源并发布至GitHub




    1、教程:1.1、下载ane,使用flashbuilder4.6导入,不赘述
    1.2、在AIR Android工程中编写以下代码:
    1. var updater:AppUpdater = new AppUpdater();
    2. updater.onContinue = onContinue;
    3. updater.checkUpdate(new GameVersionChecker());
    复制代码
    1.3、创建类 GameVersionChecker,继承自AppVersionChecker
    1. package com.IsMole.appupdatertest
    2. {
    3.         
    4.         import flash.desktop.NativeApplication;
    5.         import flash.events.Event;
    6.         import flash.net.URLLoader;
    7.         import flash.net.URLLoaderDataFormat;
    8.         import flash.net.URLRequest;
    9.         
    10.         public class GameVersionChecker extends AppVersionChecker
    11.         {
    12.                 public static var versionPrifixURL:String = "http://yourwebsite/"
    13.                
    14.                 public function GameVersionChecker()
    15.                 {
    16.                         super();
    17.                 }
    18.                
    19.                 //当updater类运行checkUpdate()方法之后,会委托这个类执行,在这里编写具体的业务逻辑,查询游戏的最新版本号
    20.                 public override function checkUpdate():void
    21.                 {
    22.                         var urlLoader:URLLoader = new URLLoader();
    23.                         urlLoader.dataFormat = URLLoaderDataFormat.TEXT;
    24.                         var request:URLRequest = new URLRequest(versionPrifixURL + "version.xml");
    25.                         urlLoader.addEventListener(Event.COMPLETE,onCompleteHandler);
    26.                         urlLoader.load(request);
    27.                 }
    28.                
    29.                 private function onCompleteHandler(event:Event):void
    30.                 {
    31.                         var data:String = event.target.data.toString();
    32.                         var xml:XML = new XML(data);
    33.                         
    34.                         //服务器版本号
    35.                         var serverVersion:String = xml.version;
    36.                         //apk安装路径
    37.                         var apkPath:String = xml.apkPath;
    38.                         
    39.                         //应用id
    40.                         var appXML:XML = NativeApplication.nativeApplication.applicationDescriptor;
    41.                         var ns:Namespace = appXML.namespace();
    42.                         var appId:String = appXML.ns::id;
    43.                
    44.                         if (needUpdate(serverVersion))//基类方法,根据serverVersion和ClientVersion判断是否需要更新
    45.                         {
    46.                                 startUpdate(appId,versionPrifixURL + apkPath);
    47.                         }
    48.                         else
    49.                         {
    50.                                 continueGame();
    51.                         }
    52.                 }
    53.                
    54.                
    55.         }
    56. }
    复制代码
    1.4 在服务器上提交version.xml 文件
    1. <application>
    2.         <version>1.0.1</version>
    3.         <apkPath>your-apk.apk</apkPath>
    4. </application>
    复制代码
    1.5 打包应用,当你的应用版本号(在 -app.xml里的versionNumber属性)小于1.0.1时,就会弹出自动更新的面板,并自动安装


    本文来自:http://bbs.9ria.com/thread-184819-1-1.html

    本站链接:Android 应用检测和自动更新ANE
    守望者AIR技术交流社区(www.airmyth.com)
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    
    关闭

    站长推荐上一条 /4 下一条

    QQ|手机版|Archiver|网站地图|小黑屋|守望者 ( 京ICP备14061876号

    GMT+8, 2019-10-23 17:20 , Processed in 0.049318 second(s), 35 queries .

    守望者AIR

    守望者AIR技术交流社区

    本站成立于 2014年12月31日

    快速回复 返回顶部 返回列表