批量安装apk到/system/app下2014.10.22
来源:互联网 发布:北京邮电大学软件硕士 编辑:程序博客网 时间:2024/05/17 18:44
批量安装必须获取root权限后
String paramString = "adb push SVRadio.apk /system/app" +"\n"+ // // "adb push SVSetUp.apk /system/app" +"\n"+ "adb shell" +"\n"+ "su" +"\n"+ //<span style="color: rgb(51, 51, 51); font-family: Helvetica, Tahoma, Arial, sans-serif; font-size: 14px; line-height: 24px; background-color: rgb(245, 245, 245);">切换到 root 用户</span> "mount -o remount,rw -t yaffs2 /dev/block/mtdblock3 /system" +"\n"+ //<span style="color: rgb(51, 51, 51); font-family: Helvetica, Tahoma, Arial, sans-serif; font-size: 14px; line-height: 24px; background-color: rgb(245, 245, 245);">让分区可写</span> "cat /sdcard/SVRadio.apk > /system/app/SVRadio.apk" +"\n"+ //<span style="color: rgb(51, 51, 51); font-family: Helvetica, Tahoma, Arial, sans-serif; font-size: 14px; line-height: 24px; background-color: rgb(245, 245, 245);">// 这一步可以用 cp 实现,但一般设备中没有包含该命令。如果使用 mv 会出现错误:failed on '/sdcard/NetWork.apk' - Cross-device link。 </span> // "cat /sdcard/SVSetUp.apk > /system/app/SVSetUp.apk" +"\n"+ "mount -o remount,ro -t yaffs2 /dev/block/mtdblock3 /system" +"\n"+ //<span style="color: rgb(51, 51, 51); font-family: Helvetica, Tahoma, Arial, sans-serif; font-size: 14px; line-height: 24px; background-color: rgb(245, 245, 245);">// 还原分区属性,只读。</span> "exit" +"\n"+ "exit"; if(RootCmd.haveRoot()){ if(RootCmd.execRootCmdSilent(paramString)==-1){ Toast.makeText(MainActivity.this, "安装不成功", Toast.LENGTH_LONG).show(); }else{ Toast.makeText(MainActivity.this, "安装成功", Toast.LENGTH_LONG).show(); String paramString2= "adb root" +"\n"+ "adb shell" +"\n"+ "su" +"\n"+ "mount -o remount rw /system"+"\n"+ "chmod 777 /system/app/SVRadio.apk"+"\n"+ // "chmod 777 /system/app/SVSetUp.apk"+"\n"+ "exit" +"\n"+ "exit"; if(RootCmd.execRootCmdSilent(paramString2)==-1){ Toast.makeText(MainActivity.this, "授权不成功", Toast.LENGTH_LONG).show(); } else { Toast.makeText(MainActivity.this, "授权成功可重启", Toast.LENGTH_LONG).show(); }// }}else{ Toast.makeText(MainActivity.this, "没有root权限", Toast.LENGTH_LONG).show();}
<pre name="code" class="java">import java.io.DataInputStream;import java.io.DataOutputStream;import java.io.InputStream;import java.io.OutputStream;public final class RootCmd {// 执行linux命令并且输出结果protected static String execRootCmd(String paramString) {String result = "result : ";try {Process localProcess = Runtime.getRuntime().exec("su ");// 经过Root处理的android系统即有su命令OutputStream localOutputStream = localProcess.getOutputStream();DataOutputStream localDataOutputStream = new DataOutputStream(localOutputStream);InputStream localInputStream = localProcess.getInputStream();DataInputStream localDataInputStream = new DataInputStream(localInputStream);String str1 = String.valueOf(paramString);String str2 = str1 + "\n";localDataOutputStream.writeBytes(str2);localDataOutputStream.flush();String str3 = null;//while ((str3 = localDataInputStream.readLine()) != null) {//Log.d("result", str3);//}localDataOutputStream.writeBytes("exit\n");localDataOutputStream.flush();localProcess.waitFor();return result;} catch (Exception localException) {localException.printStackTrace();return result;}}// 执行linux命令但不关注结果输出protected static int execRootCmdSilent(String paramString) {try {Process localProcess = Runtime.getRuntime().exec("su");Object localObject = localProcess.getOutputStream();DataOutputStream localDataOutputStream = new DataOutputStream((OutputStream) localObject);String str = String.valueOf(paramString);localObject = str + "\n";localDataOutputStream.writeBytes((String) localObject);localDataOutputStream.flush();localDataOutputStream.writeBytes("exit\n");localDataOutputStream.flush();localProcess.waitFor();int result = localProcess.exitValue();return (Integer) result;} catch (Exception localException) {localException.printStackTrace();return -1;}}// 判断机器Android是否已经root,即是否获取root权限protected static boolean haveRoot() {int i = execRootCmdSilent("echo test"); // 通过执行测试命令来检测if (i != -1) {return true;}return false;}}
0 0
- 批量安装apk到/system/app下2014.10.22
- 安装 apk 到 /system/app 目录下
- android push需要安装的apk到system/app以及删除system/app下的apk
- 安装包含jni的工程apk到system/app下
- android 安装apk 到 /system/app 目录
- android 安装apk 到 /system/app下面
- Android 使用系统限制的权限的apk应安装到 /system/app 目录下
- root后不能将 apk放置到 /system/app 下
- 使Android的system分区可写及安装apk到system/app
- 如何将应用安装到/system/app下
- 如何将应用安装到/system/app下
- 如何将应用安装到/system/app下
- 如何将应用安装到/system/app下
- 删除system/app下的apk
- 删除system/app下的apk
- 删除system/app下的apk
- 删除system/app下的apk
- 删除system/app下的apk
- form的submit与onsubmit的用法
- Android照片墙完整版,完美结合LruCache和DiskLruCache
- Base32编码
- 今天开始陆续把个人笔记开放到博客中
- 网狐根据在线时间送分机制(泡点设置)
- 批量安装apk到/system/app下2014.10.22
- android sdk manager更新速度慢的解决方法
- cocosbuilder 入门1
- cp命令
- Sencha Touch 2.4+PhoneGap(Cordova)Win7下开发环境搭建准备软件:
- 加码时尚战略 阿里“双十一”将卖特斯拉
- php安装配制全步骤
- 安装sql2008时,出错了:此计算机上安装了 Microsoft Visual Studio 2008 的早期版本解决方法
- jenkins配置发送邮件报Authentication unsuccessful错误解决方法