android studio开发工具
来源:互联网 发布:淘宝复制天猫宝贝违规 编辑:程序博客网 时间:2024/05/16 11:24
android studio开发应用过程
AS目录结构
创建工程
- AS的工程目录结构:每个project目录(类似于eclipse Workplace)下可以有多个应用程序(eclipse project)。
- 创建过程中会新建一个应用程序,可以选择Minimum SDK,最小适配版本。
- 创建完成后,project目录下默认有两个分类:工程名 和 Extenrnal Libraies
工程目录
- .idea
Intellij IDEA配置文件 - app(与具体应用相关)
应用程序模块和文件 - build
存放build之后生成的文件 - gradle
存放gradler-wrapper文件 - .gitignore git代码管理所忽略的文件列表文件
- build.gradle 构建系统的配置文件,可在其中设置应用程序签名等信息
- gradlew.bat gradle启动脚本(for Windows)
- .imi intelliJ IDEA存放工程目录文件。
- local.properties 与具体电脑相关的一些配置文件,最常用信息是本机sdk的存放路径。
Android Application Modules
每个Android Application Modules都是最终可以构建出apk文件的模块,包括应用程序的源代码和资源文件,其中大部分代码都可以直接通过IDE生成,少量特殊文件需要自己创建。
-build/ 存放特殊变种的build
- libs/ 存放私有库(相对project目录的库来说)
- src/ 源代码路径,src文件包含 Java源代码和res文件 - main/java
java文件 - main/jni JNI编程生成的*.so文件
Library Module(SDK tools>14)
- 包含着通用的代码以及资源文件,类似JDK库,Android Application Modules可以引用其中的library在编译apk时,也会把编译后的代码编进apk,多个Application Modules可以引用相同的库。
- 可以包含jar文件
- 应用场景:多个应用程序所共用的代码和资源文件,
- :多个相关的应用程序。
- 一个程序有付费版和免费版,很多部分都是相同,也可以把共同部分放在Library Module
Test Projects ###
- 路径在/src/androidTest路径
- android测试模块
一般包含java文件
编译和运行
Android studio采用gradle构建工具,就我的理解是类似于linux下编译C和C++项目的make工具,写好脚本,然后自动化执行。 构建:在工程目录下运行 gradle assembleDebug(构建整个工程,调试版本) 或者在Application Modules路径下运行 gradle assembleDebug,单独build应用程序。 构建流程图, 过程分析,
1. 资源文件-->R.java,Android studio对文件采取自动保存,每次修改资源文件(layout,value等)就会通过aapt文件自动更新R.java文件,如果执行 gradle clean之后,AS会提示找不到R.java文件。可通过 gradle generateDebugSources生成R.java文件,从图中可以看出是通过调用aapt程序来完成这一步。
.
AIDL (Android Interface Definition Language) 安卓接口定义语言(几乎没有接触,就自己理解这来写),这里的接口是指interprocess communication的接口(跨进程通信接口)。由于Android的设计,应用程序是不能读写其他应用程序的内存的。 所以通信可以采取这种方式。
这一步和我们平时所进行java编程很类似,生成.class 字节码文件。虽然Android基于java虚拟机,加载的不是jvm虚拟机,而是dalvik虚拟机,
然后通过dex工具(类似于gradle dexDebug等命令)将class文件和第三方类库文件打包在一起,生成.dex文件。
,
生成apk文件,compiled Resources文件是指编译后资源文件,R.java是资源索引文件,都是通过aapt生成。
然后通过Jarsigner工具进行签名,签名。然后使用zipalign进行4bit对齐。 Debug版本系统提供好了Debug签名并且会自动进行对齐。 Release版本在签名时也会自动进行对齐。
一些其他的笔记
- dalvik虚拟机:
jvm与dalvik,简单来说,dalvik是google官方开发出来的针对android平台经过很多优化的java 运行环境,每启动一个APP都会新建一个虚拟机实例,各应用程序不会互相影响。 签名和对齐 , 签名主要是为了验证应用程序身份,通过对签名和包名的双重校验能确定应用程序的唯一性。防止应用程序被恶意替换。 对齐是为了优化应用程序数据存储格式,在加载到内存中速度更快,加快应用程序执行速度。
AS签名方法,可通过菜单build进入签名菜单。
- 通过gradle中配置:
配置gradlle - 代码混淆 : 作用:主要为了保护代码,apk的反编译是很简单的,混淆之后反编译出来的代码可读性很差。
可以在gradle配置文件中配置混淆。
- android studio 开发工具
- android studio开发工具
- Android Studio(开发工具)
- Android Studio开发工具快捷键
- Android Studio开发工具详解
- Android Studio开发工具使用
- Android开发工具-Android Studio开发入门
- Android开发工具全面转向Android Studio
- Android开发工具之Android Studio----Gradle
- 开发工具Android ADT和Android Studio
- Android开发工具Android Studio的使用
- Android studio开发工具设置默认编码
- Android开发工具studio下载地址
- 开发工具之Android Studio快捷键
- Android studio快速开发工具合集
- 有用的Android开发工具 Studio
- Android Studio开发工具的设置
- Android Studio 作为官方开发工具
- epoll 解析
- android 源码环境 启动模拟器
- JQuery中的事件以及动画
- android rtsp流媒体播放介绍
- [乐意黎原创] 谷歌chorme浏览器开发版假死解决办法
- android studio开发工具
- 用命令测试安装好的OpenStack环境
- 使用JS实现页面倒数计数
- 软件设计模式-适配器模式
- C++ 迭代器
- Kafka#4:存储设计
- Django小例子 – 模型数据的模板呈现
- 使用zookeeper实现静态数据中心化配置管理
- 最小生成树