通过adb把apk安装到系统分区

以谷歌拼音为例:
GooglePinyin1.4.2.apk
提取出so文件
libjni_googlepinyinime_4.so
libjni_googlepinyinime_latinime_4.so

bat批处理脚本内容如下:
path "D:\Program Files\完美刷机\tools";%path%

prompt $G
cd /d "%1"
cls

adb devices

adb shell su -c "mount -o remount rw /system"

set APK=GooglePinyin1.4.2.apk
adb push %APK% /data/local/tmp/
adb shell su -c "cat /data/local/tmp/%APK% > /system/app/%APK%"
adb shell su -c "chown 0.0 /system/app/%APK%"
adb shell su -c "chmod 644 /system/app/%APK%"

set LIB=libjni_googlepinyinime_4.so
adb push %LIB% /data/local/tmp/
adb shell su -c "cat /data/local/tmp/%LIB% > /system/lib/%LIB%"
adb shell su -c "chown 0.0 /system/lib/%LIB%"
adb shell su -c "chmod 644 /system/lib/%LIB%"

set LIB=libjni_googlepinyinime_latinime_4.so
adb push %LIB% /data/local/tmp/
adb shell su -c "cat /data/local/tmp/%LIB% > /system/lib/%LIB%"
adb shell su -c "chown 0.0 /system/lib/%LIB%"
adb shell su -c "chmod 644 /system/lib/%LIB%"

adb shell su -c "mount -o remount rw /system"
pause

adb reboot

如果apk软件特别多的话,需要用批量安装脚本,内容如下
path "D:\Program Files\完美刷机\tools";%path%

prompt $G
cd /d "%1"
cls
@echo 当前目录:cd  =%cd%
@echo 当前文件:file=%file%
@echo.
adb wait-for-device
adb devices

adb shell su -c "mount -o remount rw /system"

for /f "delims=" %%i in ('dir /b /a-d /s *.apk') do (
echo push %%~nxi to /system/app
set APK=%%~nxi
adb push %%~nxi /data/local/tmp/
adb shell su -c "cat /data/local/tmp/%%~nxi > /system/app/%%~nxi"
adb shell su -c "chown 0.0 /system/app/%%~nxi"
adb shell su -c "chmod 644 /system/app/%%~nxi"
adb shell su -c "rm /data/local/tmp/%%~nxi"
)

for /f "delims=" %%j in ('dir /b /a-d /s *.so') do (
echo push %%~nxj to /system/lib
set LIB=%%~nxj
adb push %%~nxj /data/local/tmp/
adb shell su -c "cat /data/local/tmp/%%~nxj > /system/lib/%%~nxj"
adb shell su -c "chown 0.0 /system/lib/%%~nxj"
adb shell su -c "chmod 644 /system/lib/%%~nxj"
adb shell su -c "rm /data/local/tmp/%%~nxj"
)

adb shell su -c "mount -o remount rw /system"

pause
adb reboot

这个脚本还支持,把apk文件夹拖动到上面自动安装。

通过adb把apk安装到系统分区的更多相关文章

  1. 安装ubuntu系统 ——分区

    安装ubuntu 系统主要分四个区 目录 建议大小 格式 描述 / 10G-20G ext4 根目录 swap <2048M swap 交换空间 /boot 400M左右 ext4 Linux的 ...

  2. ubuntu安装时系统分区设置

    1. 创建主分区:主分区,用于存放系统 20G    主分区    空间起始位置    Ext4日志文件系统    / 2. 创建swap分区:逻辑分区.大小设置为电脑内存大小,2G: 2048MB  ...

  3. adb将Apk内置到系统中(system/priv-app)

    https://blog.csdn.net/starhosea/article/details/78697007 so文件的处理是目前遇到过的问题.文章中解释了. 正文: 有时候我们在Android ...

  4. 使用拷贝的方式(adb push) 绕过Android系统和adb install直接安装APK

    某些情况下定制的Android系统为了限制用户安装应用,例如电视盒子,车载中控等,通过修改代码屏蔽了正常安装应用的方式 本文探讨如何在 adb shell 具有读写data分区目录的权限前提下,通过a ...

  5. MacBook安装双系统(Windows多分区)

    分区 ---------- 启动电脑,放入mac os安装盘,按alt选择光盘启动. 1. 在工具菜单里选择磁盘工具对整个硬盘进行分区: ----------- 第一个是  exFAT.Msdos 格 ...

  6. 重装windows7企业版时提示“安装程序无法创建新的系统分区,也无法定位现有系统

    第一步:把win7镜像发在你电脑的非系统盘的其他硬盘上. 第二步:重启机器,通过U 盘启动.进入win pe系统,关于这点我说一下,有些朋友也许不知道什么叫win pe系统,这个win pe 究竟有什 ...

  7. 使用U盘安装win7系统,遇到“无法定位现有系统分区”问题

    朋友的本子貌似因为安装360wifi而导致一进入系统就蓝屏重启,虽然之后就卸载了360wifi,但是问题依旧,上网Google了一下,发觉网上不少网友诉苦,也有人分析原因,说是因为360wifi导致了 ...

  8. 解决Win7系统安装时“安装程序无法定位现有 系统分区,也无法创建新的系统分区”提示

    第一步:U盘启动装系统时,格式化主分区的内容后出现上面的问题 第二步:重启机器,通过U 盘启动.进入win pe系统. 第三步:把windows 7的ISO镜像解压到电脑的非系统盘的其他硬盘上.如D: ...

  9. Winodws安装系统时,通过安装磁盘进行分区

    今天使用一个系统盘安装的时候,很奇怪,分区总是分出来一个系统磁盘,一个MBR,剩下的只能分主分区. 这样就导致我在进行windows激活时,激活工具都找不到启动磁盘的盘符(因为自动分出来的系统磁盘和M ...

随机推荐

  1. java基础17 模板模式

    1.模版模式 解决某类事物的步骤有些是固定的,有些会发生改变的,那么这个时候我们可以为这一类事物提供一个模版代码,从而提高效率. 2.模版模式的步骤 1.先写出解决该类事物的其中一种解决方案;     ...

  2. JSP和Servlet那些事儿系列--HTTPS

    原文:http://qingkangxu.iteye.com/blog/1614053 <JSP和Servlet那些事儿 >系列文章旨在阐述Servlet(Struts和Spring的MV ...

  3. 16/11/22_plsql

    1.数据类型: char 固定长度,varchar 字符长度按照实际长度, varchar2 字符均存储2个字节, nvarchar 按照Unicode存储.number(m,n)总长度m,小数 n. ...

  4. python包/模块路径

    当Python执行import语句时,它会在一些路径中搜索Python模块和扩展模块.可以通过sys.path查看这些路径,比如: >>> import sys >>&g ...

  5. SQLServer判断指定列的默认值是否存在,并修改默认值

    SQLServer判断指定列的默认值是否存在,并修改默认值 2008年10月21日 星期二 下午 12:08 if exists(select A.name as DefaultName,B.name ...

  6. MySQL学习笔记:exists和in的区别

    一.exists函数 表示存在,常常与子查询配合使用. 用于检查子查询是否至少会返回一行数据,该子查询实际上并不返回任何数据,而是返回值True或False. 当子查询返回为真时,则外层查询语句将进行 ...

  7. django model常用字段类型

    摘自 http://www.cnblogs.com/wt869054461/p/4014271.html V=models.AutoField(**options) #int:在Django代码内是自 ...

  8. 简单实现textview文本每隔两秒就改变一次

    //这个方法可以实现文本每隔两秒就改变一次, public void textTask(){ final android.os.Handler handler=new android.os.Handl ...

  9. [翻译]Gulp.js简介

    我们讨论了很多关于怎么减少页面体积,提高重网站性能的方法.有些是操作是一劳永逸的,如开启服务器的gzip压缩,使用适当的图片格式,或删除一些不必要的字符.但有一些任务是每次工作都必须反复执行的.如 新 ...

  10. codeforces Educational Codeforces Round 9 E - Thief in a Shop

    E - Thief in a Shop 题目大意:给你n ( n <= 1000)个物品每个物品的价值为ai (ai <= 1000),你只能恰好取k个物品,问你能组成哪些价值. 思路:我 ...