Android被Linux内核主线中除名原因

Android只采用了Linux内核,其他Linux内容未采用

Android的更新由google一家说了算,违背开源意愿

只能采用Java进行程序开发

Android系统架构

Linux内核层

为各种硬件提供底层驱动

系统运行层

提供一些c/c++库

Android运行时库

应用框架层

提供各种API

应用层

程序员开发的app

Android开发目录(Project模式)

  1. .gradle和.idea--------自动生成
  2. app----------代码和资源
  3. build---------编译时自动生成的文件
  4. gradle---------gradle wrapper的配置文件
  5. .gitignore----------指定目录或文件不进行版本控制
  6. build.gradle--------全局gradle构建脚本
  7. gradle.properties------全局gradle配置文件
  8. gradlew和gradlew.bat----------在命令行中执行gradlew命令
  9. xxxxx.iml-----------表示为idea项目
  10. local.properties--------指定android sdk路径
  11. settings.gradle----------指定所有引入模块

APP目录

  1. build
  2. libs--------使用的第三方jar包
  3. androidTest--------测试用例
  4. java-------源代码
  5. res--------资源文件
  6. AndroidManifest.xml---------配置文件
  7. test--------Unit Test用例
  8. .gitignore
  9. app.iml
  10. build.gradle
  11. proguard-rules.pro--------防止代码被**,指定项目代码的混淆规则

RES目录

  1. drawable---------存放图片
  2. mipmap----------存放图标
  3. layout------------存放布局文件
  4. values--------存放字符串、样式、颜色等

build.gradle文件(根目录)

1、简介

repositories--------代码仓库配置

google()-----google自己的代码仓库

jcenter()-----第三方开源库

dependencies----------插件声明,具体格式如图

build.gradle文件(app目录)

1、简介

1、简介

前三行为插件声明

android闭包中为项目的各种属性:

  1. compileSdkVersion--------编译版本
  2. buildToolsVersion----------构建工具版本

defaultConfig闭包---------更多细节

  1. applicationId-------应用唯一标识符
  2. minSdkVersion-------最低兼容版本
  3. targetSdkVersion--------目标版本
  4. versionCode------项目版本号
  5. versionName------项目版本名
  6. testInstrumentationRunner--------在当前项目中启用JUnit测试

buildTypes---------生成apk的相关配置,通常由debug、release闭包组成,但是debug可以忽略

  1. minifyEnabled--------是否启用混淆
  2. proguardFiles---------指定混淆规则文件

dependencies----------指定项目的依赖关系

  1. implementation fileTree------本地以来声明
  2. implementation----------远程依赖声明
  3. testImplementation、androidTestImplementation--------声明测试用例库

调试技巧

使用Log工具

  1. Log.v()-------意义最小的信息
  2. Log.d()-------调试信息
  3. Log.i()-------比较重要的信息
  4. Log.w()------警告
  5. Log.e()--------错误

格式:Log.d(TAG,MESSAGE)

相关文章: