首页 > 系统 > Android > 正文

Android基础1

2019-11-08 00:20:35
字体:
来源:转载
供稿:网友

Android架构

linux内核层(Linux Kernel) Linux内核 + Driver

系统运行层库(Libraries + Android runtime) Libraries是C/C++编写的程序库,Android runtime是java虚拟机 包括View、Content PRoviders、Resource Manager、Notification Manager、Activity Manager等

应用框架层(application Framework java语言编写) 提供了构建应用程序时可能用到的各种API

应用层(Application java语言编写) 手机上的应用程序

Android开发需要工具

JDK java语言软件开发工具包,包含了Java的运行环境、工具集合、基础类库等内容。

Android SDK Android开发工具包

Android Studio Android开发环境IDE

Android程序结构

.gradle AndroidStudio自动生成文件 .idea AndroidStudio自动生成文件 app   -build 编译时自动生成的文件   -libs 第三方jar包的存储目录,该目录下的jar包会自动添加到构建目录中   -src     -main       -java 代码目录       -res 资源目录         -drawable 图片资源         -layout 布局资源         -mipmap 适配图片资源         -values string,color,dimen,styles等         -AndroidManifest.xml Android项目的配置文件,四大组件的声明,添加权限声明等   -.gitignore app模块内将指定的文件或目录排除在版本控制之外的文件   -app.iml iml是所有Intellij IDEA项目都会自动生成的一个文件   -build.gradle app模块的gradle构建脚本   -proguard-rules.pro 指定项目代码中的混淆规则 build 编译时自动生成的文件 gradle 包含了Gradle wrapper的配置文件 .gitignore将指定的文件或目录排除在版本控制之外的文件 项目名.iml iml是所有Intellij IDEA项目都会自动生成的一个文件 build.gradle 项目全局的gradle构建脚本 gradle.properties 全局的gradle的配置文件 gradlew 用来在命令行界面执行gradle命令的(Linux下用) gradlew.bat 用来在命令行界面执行gradle命令的(Windows下用) local.properties 指定本机的Android SDK的路径,自动生成 settings.gradle 用于指定项目中所有引入的模块  

build.gradle文件

全局项目gradle脚本buildscript { repositories { jcenter()//代码托管仓库,声明后可以轻松引用jcenter上的开源项目 } dependencies { //声明了Gradle插件 classpath 'com.android.tools.build:gradle:2.3.0-beta3' // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files }}allprojects { repositories { jcenter() }}app模块的gradle脚本apply plugin: 'com.android.application'//标明该moudle是一个程序模块,可以直接运行.com.android.library标明是库模块,要依赖其他程序才可以运行android { compileSdkVersion 25 //项目的编译版本 buildToolsVersion "25.0.0" //构建工具的版本 defaultConfig { applicationId "com.hblolj.androidft" //项目的包名 minSdkVersion 14 //最低兼容的Android系统版本 targetSdkVersion 25 //目标Android系统版本 versionCode 1 //版本号 versionName "1.0" //版本名 testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" } buildTypes { release { minifyEnabled false //不混淆 //混淆时使用的规则文件 proguard-android.txt是在Android SDK下,是所有项目通用的混淆规则 //proguard-rules.pro在项目的根目录下,可以编写当前项目的混淆规则 proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } }}//指定当前项目的所有依赖关系dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', { exclude group: 'com.android.support', module: 'support-annotations' }) compile 'com.android.support:appcompat-v7:25.0.0' compile 'com.android.support:design:25.0.0' compile 'com.github.bumptech.glide:glide:3.7.0' compile 'com.android.support.constraint:constraint-layout:1.0.0-alpha4' testCompile 'junit:junit:4.12'}
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表