Android文件目录分析的几个常识问题

1. 区分abd命令和Android的shell命令,如 pull/push命令是abd中的命令,很容易用在shell中。

2. shell中的几个常用命令:

su:获得超级用户权限;

chmod:文件权限的修改,对文件进行操作时先看清权限。

3. init.rc文件:

4. 属性服务:

5. ADB进程:

6. 服务管理器ServiceManager:

7. 进程间通信Binder机制(类似与Linux中ICP的概念):

8. Ashmem(类似与malloc):

9. AID和UID:


10.临时Root和永久Root

3.Android中常见的文件目录: 

shell中的所有命令在system/bin目录下

init.rc在根目录下

静默安装:

1.安装方式:

a.系统应用安装:开机时完成,需要加入开机执行的脚本,没有安装界面

b.网络下载应用安装:通过系统market应用完成,没有安装界面

c.ADB工具中进行安装:使用pm install命令,没有安装界面

d.第三方应用安装:通过APK文件安装,有界面,由PackageInstaller.apk应用处理安装及卸载过程的界面

2.安装流程及路径:

a./system/app:x系统自带的应用程序存放,Root权限才可更改

b./data/app:用户程序的安装目录,有删除权限。安装时把apk文件复制到此目录下

c./data/data:存放应用程序的数据

d./data/dalvik-cache:将apk中的dex文件安装到此目录下

3.安装过程:复制apk安装包到data/app目录下,解压并扫描安装包,把dex文件(Dalvik字节码)保存到dalvik-cache目录下,并在data/data目录下创建对应的应用数据目录。

我们在应用程序中控制安装应用app,即PackageInstaller.apk,其实就是发送一个如下的intent,去调用PackageInstaller.apk进行安装:

<span style="white-space:pre">	</span>/*安装apk*/
<span style="white-space:pre">	</span>Intent intent=new Intent();
<span style="white-space:pre">	</span>intent.setAction(Intent.ACTION_VIEW);
<span style="white-space:pre">	</span>intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
<span style="white-space:pre">	</span>intent.setDataAndType(Uri.parse("file://"+fileName),"application/vnd.android.package-archive");
<span style="white-space:pre">	</span>context.startActivity(intent);
静默安装就是绕过 PackageInstaller.apk中的权限授予提示,继续完成安装步骤。有两种方式:

1.找到PackageInstaller.apk原码,跳过权限授予提示,直接调用后面的安装API即可完成安装。

2.使用pm install命令进行安装。


待续。。。。。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值