android adb 静默安装,Android_如何静默安装

Android常用代码之普通及系统权限静默安装APK

本文主要介绍程序如何安装apk,包括普通模式安装和系统权限静默安装。

如果是非系统应用请直接查看:Android常用代码之APK root权限静默安装,查看更完美的解决方案。

1、普通模式安装,调用系统Intent,代码如下:

public static void install(Context context, String filePath) {

Intent i = new Intent(Intent.ACTION_VIEW);

i.setDataAndType(Uri.parse("file://" + filePath), "application/vnd.android.package-archive");

i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

context.startActivity(i);

}

2、静默安装

如果是非系统应用请移步:Android常用代码之APK root权限静默安装,查看更完美的解决方案。

分为如下三步

(1)、静默安装需要系统应用安装权限,需要在AndroidManifest.xml中添加

Java

1

记得clear啊 一般会出错提示。

(2)、实现代码

静默安装代码如下,实际是通过pm install -r 命令安装。

注意:该函数最好在新建的线程中运行并通过handler发送安装结果给主线程,否则安装时间较长会导致ANR。

/**

* install slient

*

* @param context

* @param filePath

* @return 0 means normal, 1 means file not exist, 2 means other exception error

*/

public static int installSlient(Context context, String filePath) {

File file = new File(filePath);

if (filePath == null || filePath.length() == 0 || (file = new File(filePath)) == null || file.length() <= 0

|| !file.exists() || !file.isFile()) {

return 1;

}

String[] args = { "pm", "install", "-r", filePath };

ProcessBuilder processBuilder = new ProcessBuilder(args);

Process process = null;

BufferedReader succe***esult = null;

BufferedReader errorResult = null;

StringBuilder successMsg = new StringBuilder();

StringBuilder errorMsg = new StringBuilder();

int result;

try {

process = processBuilder.start();

succe***esult = new BufferedReader(new InputStreamReader(process.getInputStream()));

errorResult = new BufferedReader(new InputStreamReader(process.getErrorStream()));

String s;

while ((s = succe***esult.readLine()) != null) {

successMsg.append(s);

}

while ((s = errorResult.readLine()) != null) {

errorMsg.append(s);

}

} catch (IOException e) {

e.printStackTrace();

result = 2;

} catch (Exception e) {

e.printStackTrace();

result = 2;

} finally {

try {

if (succe***esult != null) {

succe***esult.close();

}

if (errorResult != null) {

errorResult.close();

}

} catch (IOException e) {

e.printStackTrace();

}

if (process != null) {

process.destroy();

}

}

// TODO should add memory is not enough here

if (successMsg.toString().contains("Success") || successMsg.toString().contains("success")) {

result = 0;

} else {

result = 2;

}

Log.d("installSlient", "successMsg:" + successMsg + ", ErrorMsg:" + errorMsg);

return result;

}

返回值0表示安装成功,1表示文件不存在,2表示其他错误。需要更丰富的安装失败信息(内存不足、解析包出错)可直接使用PackageUtils.installSlient。

(3) 、获取系统权限

完成了上面两步后,普通方式安装我们的应用仍然无法静默安装。需要我们的应用获得系统权限,编译应用并通过

adb push /system/app/

命令实现安装,即可拥有系统权限。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/527854.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

android 群控 网络 adb,安卓群控.sln · 罗金方/结合mini和adb命令,和adb socket实现安卓群控 - Gitee.com...

&#xfeff;Microsoft Visual Studio Solution File, Format Version 12.00# Visual Studio 14VisualStudioVersion 14.0.25420.1MinimumVisualStudioVersion 10.0.40219.1Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") "安卓群控", "安卓群…

android界面初始化设计,界面数据初始化及各个按钮功能的实现

1.课程的初忠与目的问题&#xff1a;通过上课发现&#xff0c;在学习完成Android基本组件后&#xff0c;还会迷茫于如何完成一个完整的应用。本实践课程通过开发完成一个“畅听音乐”的小项目&#xff0c;实现从基本组件的学习到项目开发过程的转变。2. 课程的特点这是一门实践…

html中图片动态效果代码,动态网页设计代码 网页制作动态图片效果源代码

动态网页设计需要用到什么工具&#xff1f;一般的用网页三剑客&#xff0c;dreamwear一般必用&#xff0c;比较好上手的&#xff0c;html是要懂的&#xff0c;cssdiv的标注设计也是要学习的。 如果是做前台页面设计会用到的工具&#xff1a;firework、flash、ps、 coreldraw 如…

html文件设置断点调试,断点调试

断点调试使用 ES2015 特性来开发 Node.js 项目可以带来巨大的便利&#xff0c;但同时由于有些特性现在还不支持&#xff0c;需要借助 Babel 编译&#xff0c;运行的代码实际上是编译后的代码&#xff0c;这样给调试带来很大的麻烦。ThinkJS 从 2.2.0 版本开始支持断点调试源代码…

html如何太假icon图标,CSS3 icon font完全指南(CSS3 font 会取代icon图标)

为什么要将icon做成字体&#xff1f;在很多网站项目中&#xff0c;我们常常会用到各种透明小图标&#xff0c;然后网站要兼容各个浏览器&#xff0c;也可能会有多个尺寸&#xff0c;甚至还要考虑换肤等需求。那么我们就要将这些小图标输出为多种尺寸、颜色和文件格式&#xff0…

html5 video 直播流无声音,【报Bug】html5plus 使用 VideoPlayer 播放部分rtmp没有声音

详细问题描述[内容]使用 html5plus 使用 VideoPlayer 播放流媒体&#xff0c;播放m3u8格式正常&#xff0c;但rtmp格式部分有问题。希望官方能确认是否是html5plus自身的缺陷呢&#xff0c;是否对某些编码类型的rtmp不支持&#xff1f;1、比如社区之前出现过的湖南卫视rtmp&…

kodi android 目录,Kodi添加本机和电脑上的电影视频、音乐、图片目录教程

很多人都想在家看电影时能享受到电影院的那种大屏快感&#xff0c;Kodi正是这样的一款强大的家庭影院影音播放中心&#xff01;不过有些用户对它的使用不是很了解&#xff0c;我们一起来学习一下。使用Kodi你可以非常方便地在客厅的 Kodi 中播放寝室电脑里或 NAS 中下载好的电影…

html5 电流效果,在HTML5 Canvas 2D上绘制云雾中的电流动画特效

JavaScript语言&#xff1a;JaveScriptBabelCoffeeScript确定ctrl {numParticles: 35,maxRadius: 80,hue: 220,hueRange: 15,fade: 0.36,halo: true,zappy: true,zapComplexity: 1}var gui new dat.GUI();gui.add(ctrl, numParticles, 1, 150).step(1);gui.add(ctrl, maxRadi…

2021深圳各中学高考成绩查询,深圳四大高中在2021年高考深一模的前500名分布数据...

看到深圳四大高中在2021年高考深一模的前500名分布数据:深圳中学名列前茅&#xff0c;前500名中占166席&#xff0c;且文科、理科第一名均来自深中&#xff1b;物理方向前10名中深中6人&#xff0c;实验3人&#xff1b;历史方向前10名中深中3人。深圳实验学校高中部有84人进入前…

微型计算机各部件之间通过总线传递各种信息,2015年9月计算机一级考试基础及MSOffice应用选择真题...

一、选择题(每小题1分&#xff0c;共20分)1、控制器的主要功能是 .A&#xff0e;指挥计算机各部件自动、协调地工作B&#xff0e;对数据进行算术运算C&#xff0e;进行逻辑判断D&#xff0e;控制数据的输入和输出2、下列度量单位中,用来度量CPU时钟主频的是 .A&#xff0e;MB&a…

土木工程计算机仿真学科未来前景,同济大学土木工程学院土木工程计算机仿真2010级学历教育硕士--培养方案...

一、简介土木工程计算机仿真学科是土木工程属下的二级学科&#xff0c;在国民经济建设中有着重要的地位&#xff0c;在促进城市建设、社会发展过程中做出了重大贡献。土木工程计算机仿真是同济大学于2005年自主设立的二级学科&#xff0c;虽然设立时间不长&#xff0c;但取得的…

html推箱子怎么清除走过的,第九讲:HTML5该canvas推箱子原型实现

动body{margin:0px;padding:0px;}#main{margin: 100 auto 0 auto;border: 10px solid #030303;300px;height:460px;border-radius:10px;}var canvas document.getElementById(mc);var cxt canvas.getContext(2d);//定义背景的颜色function init_background(){cxt.fillStyle …

大学计算机要学多久,大学刚开学要不要带电脑?很多人都很后悔,学长学姐把经验告诉你...

大学刚开学要不要带电脑&#xff1f;很多人都很后悔&#xff0c;学长学姐把经验告诉你文/小川说车况大学刚开学&#xff0c;学生们要不要带电脑呢&#xff0c;想必这个问题一直对还没进入大学的准大学生来说很困扰&#xff0c;一方面既担心在学校里面用电脑的时候不方便&#x…

西南医科大学计算机应用基础历年真题,网络选修课-计算机应用基础-期末考.docx...

1 单选 (1 分)Outlook 数据文件的扩展名是().A..patB..datC..ptsD..dll正确答案&#xff1a; A2Windows 系统中 ,若 2 个纯文本文件分别包含100 和 200 个英文字符 ,下列关于它们占用磁盘空间大小的说法中,正确的是 ().A.前者大于后者B.不确定 C.后者大于前者D.两者相等正确答案…

html自定义js程序,JS中微信小程序自定义底部弹出框

实现微信小程序底部弹出框效果&#xff0c;代码分为html&#xff0c;css和js两部分&#xff0c;具体代码详情大家参考下本文。htmlCSS.commodity_screen {width: 100%;height: 100%;position: fixed;top: 0;left: 0;background: #000;opacity: 0.2;overflow: hidden;z-index: 1…

怎么知道自己是否适合计算机专业,事实:我怎么知道我的旧计算机是否适合win7或win10?...

实际上&#xff0c;win10并不大&#xff01;只是对内存和硬盘的要求更高&#xff01;根据官方的最低操作要求&#xff0c;硬件要求如下&#xff1a;1、[处理器]&#xff1a;Win10系统的安装要求计算机的处理器以不低于1GHz的速度运行2、[运行内存]&#xff1a;Win10 32位操作系…

html5 canvas ios限制,HTML5画布的drawImage比错误的iOS(HTML5 Canvas drawImage ra

我想调整从iOS相机上使用HTML5画布客户端拍摄的图像&#xff0c;但我一直在这个奇怪的错误&#xff0c;这错误的图像有一个错误的比率&#xff0c;如果运行超过〜1.5MB大它的工作原理在桌面上&#xff0c;但不是在最新的iOS版本&#xff0c;媒体上传API。&#xff1a;你可以在这…

金工如何运用计算机思维,金工实训心得体会

金工实训心得体会我们有一些启发后&#xff0c;就很有必要写一篇心得体会&#xff0c;如此可以一直更新迭代自己的想法。那么心得体会到底应该怎么写呢&#xff1f;以下是小编为大家整理的金工实训心得体会&#xff0c;希望能够帮助到大家。金工实训心得体会1时间过得真快&…

湖南女子学院 计算机,2019湖南女子学院专业排名

湖南女子学院的前身是成立于1985年的湖南女子职业大学&#xff0c;2010年3月18日经教育部批准升格为全日制普通本科院校。截止到目前为止&#xff0c;湖南女子学院重点专业共有1个专业&#xff0c;其中国家品牌专业0个&#xff0c;省部重点专业1个。下面是学习啦小编给大家带来…

2020计算机考研只考数据结构的学校,【择校必看】十三所计算机专业课只考数据结构的985院校!...

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼敲黑板&#xff1a;本文涉及到的学校计算机专业考研只考数据结构&#xff0c;其中部分院校同时也会考算法、C语言等相关内容。但是&#xff0c;相对其他几门&#xff0c;无疑在专业课的复习上大大降低了难度。如果各位同学目前的专…