在《Android 手机卫士--打包生成apk维护到服务器》一文中,实现了新版本的apk到服务器,当打开客户端apk的时候,发现有新版本,提示更新。还实现了利用xutils工具实现了从服务器端下载apk

本文地址:http://www.cnblogs.com/wuyudong/p/5903484.html,转载请注明源地址。

本文实现下载本机apk的安装,过程很简单,参考《Android APK的安装

代码如下:

    /**
* 安装对应的apk
* @param file 安装文件
*/
protected void installApk(File file) {
// 系统应用界面,源码,安装apk的入口
Intent intent = new Intent();
intent.setAction("android.intent.action.VIEW");
intent.addCategory("android.intent.category.DEFAULT");
intent.setDataAndType(Uri.fromFile(file), "application/vnd.android.package-archive");
startActivity(intent);
}

运行项目后

点击安装

出现安装失败,这里要注意

安装apk注意事项

升级
1、注意事项:将原有应用覆盖掉,包名一致

2、签名一致???

从Eclipse运行至手机上的应用,使用的是bin目录下的应用,使用debug.keystore签名应用

手机卫士版本一,右键运行至手机的,所以使用签名是debug.keystore

手机卫士版本二,单独打包,生成相应签名文件wuyudongkeystore

生成一个wuyudongkeystore作为签名文件的apk

按照上面的操作后,问题即可搞定

PS:

签名一致,包名不同:生成两个手机卫士apk,包名是应用的唯一性标志

签名不同,包名一致:覆盖安装失败

1.0生成keyStore
2.0……使用现有的keyStore和密码即可

keyStore+密码妥善保存

Android 手机卫士--签名文件说明&包名说明的更多相关文章

  1. adb 查看android手机中应用的包名和安装位置

    1. 查看是否连接手机 adb devices 2. 进入指定的device的shell adb shell 或者 adb -s ********* shell 3. adb 查看所有安装的包 pm ...

  2. Android 手机卫士13--进程设置

    1.显示隐藏系统进程 修改ProcessManagerActivity的Adapter ..... @Override public int getCount() { if(SpUtil.getBoo ...

  3. 如何在 Android 手机上实现抓包?

    如何在 Android 手机上实现抓包? http://www.zhihu.com/question/20467503 我想知道某个应用究竟在数据提交到哪里,提交了什么.网上的教程太复杂,不想麻烦.有 ...

  4. android手机卫士、3D指南针、动画精选、仿bilibli客户端、身份证银行卡识别等源码

    Android精选源码 android身份证.银行卡号扫描源码 android仿bilibili客户端 android一款3D 指南针 源码 android手机卫士app源码 android提醒应用, ...

  5. Android 手机卫士--参照文档编写选择器

    本文来实现<Android 手机卫士--导航界面1的布局编写>中的图片选择器部分的代码. 本文地址:http://www.cnblogs.com/wuyudong/p/5944356.ht ...

  6. Android 手机卫士--设置界面&功能列表界面跳转逻辑处理

    在<Android 手机卫士--md5加密过程>中已经实现了加密类,这里接着实现手机防盗功能 本文地址:http://www.cnblogs.com/wuyudong/p/5941959. ...

  7. Android 手机卫士--确认密码对话框编写

    本文接着实现“确认密码”功能,也即是用户以前设置过密码,现在只需要输入确认密码 本文地址:http://www.cnblogs.com/wuyudong/p/5940718.html,转载请注明出处. ...

  8. Android 手机卫士--弹出对话框

    在<Android 手机卫士--解析json与消息机制发送不同类型消息>一文中,消息机制发送不同类型的信息还没有完全实现,在出现异常的时候,应该弹出吐司提示异常,代码如下: private ...

  9. Android Studio修改项目的包名

    android studio的修改包名,没有有Eclipse环境中那么好操作.也可能你对Eclipse的操作比较熟悉,对Andoid Studio的操作还不太熟悉.在项目的开发中,你可能遇到需要更改模 ...

随机推荐

  1. app令牌的一个token实现

    app登陆验证不能使用session来判断了.然后查资料都说用令牌,没找到合适的方法,我的眼界太小.另外,越来越感觉基础的重要,比如,session是什么,我竟无言以对.不知道session是什么,怎 ...

  2. [译]学习IPython进行交互式计算和数据可视化(五)

    第四章:交互式绘图接口 本章我们将展示Python的绘图功能以及如何在IPython中交互式地使用它们. NumPy为处理大量的多维数组结构的数据提供了高效的方法.但是看行行列列的数字总不如直接看曲线 ...

  3. SQLServer存储过程中事务的使用

    create proc usp_Stock @GoodsId int, @Number int, @StockPrice money, @SupplierId int, @EmpId int, ), ...

  4. asp.net中Ajax控件的用途(二)

    1.个人觉得对于新手最为实用的PopupControlExtender,弹出层载体,在实例中可以弹出登录框,百度的登陆页面基本都用的这种形式,可以把浮动的panel宽高都设置为100%,以屏蔽底层操作 ...

  5. ListActivity的CheckBox点击事件

    在一个ListActivity中,可能有很多行,如何在某个动作(如点击某个按钮)时判断哪些行的CheckBox被选中了,哪些行的CheckBox没有被选中,这是一个需要解决的问题. 首先,需要让Bas ...

  6. Go学习笔记之基础数据类型

    http://studygolang.com/articles/1348 1 整数 在 Go 语言中,如果不加特殊前缀,都是10进制表示,例如:“100” 整数可以直接用指数形式,例如:“1E9”,意 ...

  7. 阿里云centos6.5下搭建javaWeb运行环境

    一.主要方法 http://blog.csdn.net/hdfyq/article/details/38456981 上面文章的步骤至mysql安装完毕以及设置(记住 update user set ...

  8. 研究base64_encode的算法

    从网上看了一些资料,为了方便自己理解,于是把它的编码原理,自己放在excel表格中清晰列出来,方便以后查阅.做的图如下:

  9. LR--Controller的Pacing设置(不容忽视的设置)

    运行时的Pacing设置主要影响什么?     Pacing主要用来设置重复迭代脚本的间隔时间.共有三种方法: A:上次迭代结束后立刻开始. B:上次迭代结束后等待固定时间. C:按固定或随机的时间间 ...

  10. GJM :Sql 各种语句 以及函数 [转载]

    版权声明:本文原创发表于 [请点击连接前往] ,未经作者同意必须保留此段声明!如有侵权请联系我删帖处理! 1.更改数据库的名称 2.表中有数据的情况下再添加列.删除列 3.在SQLServer 中各种 ...