安装和卸载Android应用程序(apk包)

一、 安装
1.安装第三方应用
$ adb install apk文件名

2.安装系统应用
$ adb remount
$ adb push apk文件名 /system/app // apk文件名形如testme.apk

二、卸载

1.$ adb uninstall 包名 // 包名形如com.android.testme

2.Home->设置->应用程序->管理应用程序->选择某应用程序->卸载

三、相关文件

1. /system/app/apk文件
系统应用

2. /data/app/包名.apk
第三方应用

3. /data/data/包名
此位置用于存储用户数据

4. /data/dalvik-cache/组合名.dex
dex文件是Android 虚拟机Dalvik 支持的字节码文件格式

5. /data/data/com.android.launcher/databases/launcher.db
Launcher是Android应用程序的启动器,launcher.db是应用程序数据库。
若应用程序数据发生混乱,删掉数据库文件,并杀掉com.android.launcher进程,再使Launcher重新启动并重新生成应用程序数据库,以恢复错误
$ adb shell
$ cd /data/data/com.android.launcher/databases/
$ rm launcher.db
$ ps // 找到com.android.launcher对应的进程号
$ killall 进程号
重新进入应用列表界面(Home),此时launcher自动被重启,数据库重新生成

四、apk的格式
apk文件将AndroidManifest.xml 文件、应用程序代码(.dex 文件)、资源文件和其他文件打成一个压缩包
$ mv testme.apk xx.zip
$ mkdir tmp; cd tmp
$ unzip ../xx.zip
此时可看到apk包中的内容


在Android程序代码中实现软件安装和卸载

在Android手机中软件的安装和卸载方法有很多种,可以通过手机自身的安装程序,也可以使用第三方软件管理来安装和卸载Android的应用程序,本文来讲讲我们在开发中如何在我们自己的程序中来实现安装和卸载其他应用软件。


A、软件安装代码实现,Action为Intent.ACTION_VIEW

//安装程序的apk文件路径 String fileName = Environment.getExternalStorageDirectory() + apkName; //创建URI Uri uri = Uri.fromFile(new File(fileName)); //创建Intent意图 Intent intent = new Intent(Intent.ACTION_VIEW); //设置Uri和类型 intent.setDataAndType(Uri, application/vnd.android.package-archive"); //执行意图进行安装 startActivity(intent);


B、软件卸载代码实现,注意这里Action是Intent.ACTION_DELETE

//通过程序的报名创建URI Uri packageURI = Uri.parse("package: poet.android.app.id"); //创建Intent意图 Intent intent = new Intent(Intent.ACTION_DELETE); //执行卸载程序 startActivity(intent);


可以看到以上的程序安装和卸载代码都是通过Intent调用系统自身的程序安装和卸载程序来实现,另外,我们也可以直接调用Android的安装和卸载程序接口来实现,但是我认为调用系统自带的安装卸载功能就足够,使用起来也较为方便。

更多相关文章

  1. Android核心模块
  2. Next Steps
  3. Android中获取应用程序(包)的信息-----PackageManager的使用(
  4. android设置屏幕禁止休眠的方法
  5. 我的Android(安卓)4 学习系列
  6. eclipse 开发android 配置
  7. Android获取用户已安装app列表
  8. APK安装路径移动至外部存储设备
  9. 基于命令行模式开发ANDROID应用

随机推荐

  1. 如何查看android数据文件?
  2. Android(安卓)动画资源
  3. Button Android
  4. android简易网页播放器
  5. 使用 Intel HAXM 为 Android 模拟器加速,
  6. Android ActivitiyThread的建立
  7. 弹窗样式dialog
  8. :Android实现程序前后台切换效果
  9. Android TextView的字符过滤功能
  10. 【android学习笔记】收藏的网上查找的and