`
l241002209
  • 浏览: 88771 次
文章分类
社区版块
存档分类
最新评论

一个G1 的问题引发对Linux命令总结——超级终端裸装apk程序

 
阅读更多

转载于:http://blog.csdn.net/ostrichmyself/article/details/5305547

同事有一个g1, 不能从Market中下载任何应用程序, 导致安装app的程序都无法下载, 因此任何程序都不能安装。 后来查了一些资料, 实现了从超级终端下, 将.apk文件安装到了g1上,顺便也学习了一下androd 管理应用程序的原理, 以及一些常用的命令。相信这类从实践中的总结,不至于让学习变得比较枯燥。

g1 的应用程序管理

g1 下,应用程序分为两类:

一类是google自己开发的应用程序,如gmail, google map, gtalk的客户端程序。 这些随官方rom安装到system/app目录下。

一类是从Market下载的程序,或者是从xxxx论坛下载下来的野程序。这些将安装到data/app目录下。

可以做如下测试:

#cd /system/app

#ls

将看到rom自带的程序

#cd /data/app

#ls

将看到自己安装的程序

(上述命令可能会要求root权限)

在g1的"settings"中,有一个选项为“sd卡和手机存储”, 点进去之后, 其“手机内部存储”的信息,跟安装app的关系是非常密切的。 每安装一个,手机存储将减少一些。这个信息,也可以从命令行看得到:

#busybox df

其中有个选项是描述应用程序的占用情况的, 找到:

/dev/block/mtdblock5 xxxxx xxxxxxxxxxxx /data

这里面有手机的空间信息, 可用空间,跟从"settings"中看到的是一致的。 这个也就证明了, 我们的apk文件,究竟躲到哪里去了。

既然我们知道,安装app的实质,就是将.apk 文件扔到/data/app目录下, 所以我们没有gui类型的安装工具,从命令行,就可以直接吧问题搞定。下面是步骤。

1. 将.apk复制到/data/app目录下

2. 修改该apk的属性, 群组属性,以及访问属性

问题解决!

与此相关的命令是1. 复制命令 2. 修改文件的群组命令 3. 修改文件的访问属性

复制命令:

Linux的复制命令是CP, 后面跟的是源文件, 然后是目标文件夹, 如:

Cp file1 directory

当然,如果要copy整个文件夹,则需要带参数, cp -r, 其他的可以通过查看帮助文档。

通过上述方式,不难把G1的应用程序全都copy出来:

cp -r /data/app /sdcard

(由于是连接,所以应该为: cp -r /system/sd/app /sdcard 连接只能从原始位置拷贝)

相当轻松的把自己安装的程序copy出来了, 很多Market上面的付费软件,通过该方式, 弄出来,简直轻而易举了。

同样,如果你对google内置的程序,如gmail, YouTube,gtalk这类有兴趣, 同样可以copy出来反编译:

cp -r /system/app /sdcard/

当然,目前的反编译技术还是很烂的。估计对理解apk帮助不大。 纯属好玩。

修改访问权限以及群组:

Linux文件访问有两个维度, 第一,文件的所有者和所有群组,第二文件的访问权限。

Linux通过两维关系,目的是为了控制用户对文件访问的管理。

如,对于一个文件,它对应了一个owner,也对应了一组特定用户, 所以可以对他们设置权限。这样管理权限就非常方便。

通过 ls -l命令可以看到Linux文件的群组和权限,比如:

drwxr-xr-x 3 ostrich ostrich 4096 Apr 4 2009 Tracing

  drwxr-xr-x 表示:目录ower有rwx权限; 目录的ower群组有r-x权限 其他用户有r-x权限

数字3表示链接数,标明其他的地方,可以链接到这个目录来

  ostrich ostrich 表示:所有者是ostrich ,owner组是ostrich 。(前面的是用户,后面的是组)
  4096是大小,目录的大小和文件系统有关系,文件的话,大小就是文件真实的大小。

后面的是时间和目录名称。

回到我们的G1, /data/app目录下的文件, 显示大致为:

-rw-r--r-- 1 1000 1000 .....

copy过来的apk,显示为:

-rw-r--r-- 1 0 0 .....

为了保持系统的一致行,需要修改ower以及群组: 1000表示的用户为system, 可以通过如下方式修改:

chown system.system xxx.apk

小圆点隔开了用户和群组,表示用户和群组都为system.

由于访问权限无需修改, 所以这里就不需要再用chmod命令来修改了。

关于用户管理的知识,这篇文章总结得还是比较细致的:


分享到:
评论

相关推荐

    CCC认证程序文件-QC2-031仓库控制程序.doc

    " " " " "家电有限公司 " " " " " "二级文件 " " " " " " " "文件名称:仓库管理控制程序 " "文件编号: QC2-031 " "制定日期: " "发行日期: " "版 本:A/0 " " " " " "核 准 " "审 核 " "制 订 " " " " " " " " ...

    parcel-react-start:使用包裹进行捆绑服务的React Serre裸装服务

    准系统React入门套件 可用于程序包或应用程序创建。 该项目正在使用parcel来捆绑和提供js资产。 查看项目: yarn install yarn start

    国际贸易实务商品包装.pptx

    在国际贸易中,商品包装是非常重要的一个环节。包装的好坏直接影响着商品的安全、运输效率、成本等方面。因此,了解商品包装的种类、要求和正确做法是非常必要的。 首先,让我们了解什么是包装。包装是指商品的容器...

    食品质量安全市场准入审查通则.pptx

    食品质量安全市场准入审查通则 《食品质量安全市场准入审查通则》是对食品生产加工企业质量安全保证能力通用的规范要求。该通则对食品生产加工...现场审查结论的评定结论分为合格、一般不合格和严重不合格三个等级。

    食品质量安全市场准入审查通则.PPT

    《现场审查表》使用说明包括《现场审查表》共六部分 46 项审查内容,第一部分:质量管理职责,第二部分:生产资源提供,第三部分:技术文件管理,第四部分:采购质量控制,第五部分:过程质量管理,第六部分:产品...

    基于单片机的热电偶测温系统设计.pdf

    热电偶的测温原理基于热电效应,将两种不同材料的导体A 和B 串接成一个闭合回路,当两个接点的温度不同时,在回路中就会产生热电动势,并在回路中有一定大小的电流,此种现象称为热电效应。热电动势是由两种导体的...

    ABBVisiVolt 无源电压带电显示装置说明书.pdf

    ABBVisiVolt 无源电压带电显示装置说明书pdf,ABBVisiVolt 无源电压带电显示装置说明书:VisiVolt 是ABB生产的适用于户内外中压系统的...VisiVolt 通过在液晶显示屏上显示一个大而清晰的闪电箭头,指示电压带电状况。

    openwrt-R9.8.30-x64-combined-squashfs.rar

    软路由openwrt-R9.8.30-x64-combined-squashfs最新x64 img镜像 可放虚拟机使用 可直接裸装

    光纤激光的彩色打标

    产品标识除了有助于消费者了解产品信息外,对生产厂家防止假冒、创造品牌效应也有非常重要的作用,所以现在生产厂家对产品标识越来越重视,甚至传统上不需要有标识的裸装产品,如鸡蛋、苹果等也已经有带标识的产品...

    不同厚度壳体装药在混凝土中爆炸的实验研究 (2010年)

    为研究装药壳体厚度对混凝土毁伤效果的影响,设计了不同厚度壳体装药和无边界效应的混凝土靶板,并进行了实验。实验结果表明,在壳体厚度较小时,爆坑体积比裸装药炸药时的爆坑体积大;当壳体厚度增大时,爆坑体积呈...

    基于神经网络的模型参考自适应控制的有源电力滤波器基于滑动模式的方法

    关于有源滤波器

Global site tag (gtag.js) - Google Analytics