Android

Android Gradle 注入编译变量

最近为了制作 Android 应用打包脚本,学习了一下 gradle。Gradle 构建系统语法简洁、功能强大、配置灵活,笔者只是把它当作一个构建工具来使用,基于它所提供的便利制作可以修改版本号、编译号、id 及导入证书的脚本。 对于一个项目或者一个工程,Gradle 可以定义多个构建任务,debug 和 release 是常见的两个构建任务,用户还可以根据需要自定义自己的构建任务,如测试构建任务和预发布构建任务,甚至是针对不同发布渠道的构建任务。这里只用到 debug 任务。 gradle 命令行支持传入自定义参数,并在编译过程注入这些参数。 修改 appid 及 版本号 修改 build.gradle 文件 android { compileSdkVersion 21 buildToolsVersion '26.0.2' defaultConfig { applicationId project.hasProperty('applicationId') ? applicationId : "com.domain.myApp" minSdkVersion 14 targetSdkVersion 21 versionCode project.hasProperty('versionCode') ? versionCode.toInteger() : 100 versionName project.hasProperty('versionName') ? versionName : "1.0.0" testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" } 命令行中传入对应 key 的参数 gradle assembleDebug -PversionCode="200" -PversionName="2.0.0" -PapplicationId="com.domain.myApp.debug" 修改应用 id 的最好同时修改包名,不然会有包名冲突,修改包名需要修改 AndroidManifest.xml 文件,先在 build.gradle 文件中使用 manifestPlaceholders 属性定义一个键:

《第一行代码》

最近为了学习 Android,找从事 Android 开发的朋友推荐些书,最后他推荐了《第一行代码》(第 2 版)和《Android 开发艺术探索》两本书。本文是在阅读了《第一行代码》之后所做的笔记,主要记录 Android 平台上的一些比较有趣的特性以及它和 iOS 的不同之处。 Android 全貌 2008 年 9 月,Google 正式发布 Android 1.0 系统 2014 年 Google I/O 大会上发布号称史上版本改动最大的 Android 5.0 系统,这版本使用 ART 运行环境替换 Dalvik 虚拟机,同时推出 Wear、Auto、TV 系统 2016 年 Google I/O 大会推出 Android 7.0,加入多窗口模式 Android 系统架构 Android 系统架构分为四层:Linux 内核层、系统运行库层、应用架构层、应用层。 Linux 内核层:主要包含一些硬件的底层驱动。 系统运行库层:包含 C/C++ 的底层支持库,例如:支持 3D 绘图的 OpenGL|ES 库、浏览器内核 Webkit 库和 SQLite 数据库支持库。另外还包含 Android 运行时库。 应用架构层:包含构建应用程序用到的 API,开发人员主要使用这层提供的 API 来构建应用。 应用层:包含手机上安装的应用,联系人、短信等。 Android 系统为开发人员提供了: 四大组件,活动(Activity)、服务(Service)、广播接收器(Broadcast Receiver) 和内容提供器(Content Provider) 系统控件 SQLite 数据库 多媒体,音乐、视频、图片、拍照、闹铃等 地理位置定位 Android 开发环境及工具 环境:JDK + Android SDK