Sunshine 代码资源库 (ZIP 下载)
Toy App 资源库 (ZIP 下载)
看项目配置:
File——Project Structure—— app——flavors
设置 minSDK
minSDK 是你的应用可以在上面运行的最低级别的 SDK。你可以选择支持哪些级别的设备。设置 minSDK 就像添加过滤器——Google Play 不会在所搭载的 Android 版本低于你的最低 SDK 版本的设备上显示你的应用。
所以为何不将 minSDK 设置为 1,并支持所有的设备?通常,你希望面向尽可能多的用户,但是支持更低版本的设备存在一定的成本,例如为被弃用或更新的 API 创建不同的执行路径,或为具有不同功能的设备提供不同的用户体验。你需要在扩大用户群与支持这些设备带来的成本代价之间找到平衡点。
同时注意,每个版本都推出了新的 API 和硬件支持,所以没必要使应用面向不支持你的最低功能集的设备。以下是与不同版本相关联的硬件支持和功能示例。
主屏幕小部件 (Cupcake)
多手指跟踪 (Froyo)
平板电脑 (Honeycomb)
Android Beam (Jellybean)
Android TV、Auto、Wear (Lollipop)
Pro Audio (Marshmallow)
设置 targetSDK
相比较而言,符合 targetSDK 条件的设备不多——它用于声明你是在哪个版本上测试应用。 面向特定 API 或 Android 版本的应用将继续与未来版本兼容,Android 使用 targetSDK 值的目的是,当未来版本对预期行为作出重大更改时,如果用户升级了手机,你的应用不会崩溃。
Android Studio 默认地面向的是最新版本。如果你开发的是新应用,则最好面向最新的 Android 版本,一旦推出应用,则记得在新的 Android 版本推出时更新 targetSDK 并尽快测试应用,这样应用便可以利用所有的 Android 优化和改进功能。
gradle
当android studio使用adb安装好apk后,会在使用adb启动应用,主要activity的包和类名。然后通过远程shell发送一个启动命令。
构成应用的组件主要有四种:
- activity
- server
- broadcast receivers
- content provides
android之所以认识这些组件,是因为他们都在Android清单文件中进行了注册