现在的位置: 首页 > 综合 > 正文

apk升级

2013年03月03日 ⁄ 综合 ⁄ 共 1515字 ⁄ 字号 评论关闭

apk本地升级,可以直接调用系统的升级程序:

		Uri uri = Uri.fromFile( new File(fileName,apkname));
		Intent intent = new Intent(Intent. ACTION_VIEW );
		intent.setDataAndType(uri, "application/vnd.android.package-archive" );
		mainactivity.startActivity(intent);

也可以调用系统的apk升级接口进行升级,但需要获得root权限。

参考:

http://www.cnblogs.com/abob/archive/2010/12/16/1908356.html

apk的网络升级,可以分为以下几个步骤:

1.获得当前版本号

2.获得服务器的版本号并进行对比

3.下载apk

4.调用系统升级程序进行升级

1.获取当前apk的版本号:

name = mainactivity.getPackageManager().getPackageInfo(packageName, 0).versionName;
version = mainactivity.getPackageManager().getPackageInfo(packageName, 0).versionCode;

参考:

http://www.eoeandroid.com/thread-21154-1-1.html

2.可在服务器上放上关于要升级apk的版本信息及相应的升级限制。如果要进行服务器和客户端交互,需要tomcat服务器,如果只是简单的下载文件升级,采用appach服务器即可。使用的升级文档,可以采用多种形式,本人使用的是xml文档。

java解析xml文档参考:

http://blog.csdn.net/youyajie/article/details/7461325

http://hi.baidu.com/liuzy84/item/3b7ffd12f28e73a4feded59f

3.从服务器上下载apk,对比版本并升级。

参考:

http://www.cnblogs.com/shmily0703/archive/2012/04/19/shmily_apk_update.html

http://blog.csdn.net/peijiangping1989/article/details/7431491

http://www.cnblogs.com/shmily0703/archive/2012/04/19/shmily_apk_update.html

http://52android.blog.51cto.com/2554429/496621                                                                          //关于网络编程的简单使用

4.对下载下来的apk安装,可以采用本地升级的方法,调用系统程序进行安装。

需要注意的是,网络下载apk的时候,需要在AndroidManifest.xml文件中设置权限才能把下载下来的apk写入路径中,同时创建目录,不能一次创建多级目录,一次只能创建一级目录:

	<uses-permission android:name="android.permission.INTERNET"/>
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
    <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />

抱歉!评论已关闭.