看android sdk guide, 做一些笔记,方便自己以后看。
1.android是一个多用户linux系统,为每一个APP分配一个不同的用户ID,
系统根据用户ID为一个APP中的所有文件设置权限,只有该用户才有权限访问这些文件.
2.每一个进程运行在属于自己的虚拟机,和其它APP的代码运行时完全隔离。
3.每一个APP运行在它自己的linux进程中
4.android采用最小权限原则,每一个APP只能根据分派的权限访问有限的资源。
5.给两个APP设置相同的linux用户ID, 能使他们共用一个虚拟机,并访问对方的文件。
声明APP需要相机和使用Android 2.1 (API Level 7) API, manifest file 中需要声明如下:
<manifest ... >
<uses-feature android:name="android.hardware.camera.any"
android:required="true" />
<uses-sdk android:minSdkVersion="7" android:targetSdkVersion="19" />
...
</manifest>
之后没有相机并且API level低于2.1的不能通过Google Play安装该APP。
如果App声明使用相机,但不是必须的,则android:required="false", 运行时需要检查相机是否可用。如不可用,则app运行时去掉相机相关的功能。