Android Studio
下载
导入Android源码
//进入项目目录,启动脚本
source build/envsetup.shlunch// 编译idegen
make idegen//或者mmm development/tools/idegen///执行idegen.sh
sh ./development/tools/idegen/idegen.sh打开studio 选择 .ipr 文件导入
Android Studio中如何使用自定义的framework库
1.在需要使用这些定制化API的module中加入该framework.jar的引用
dependencies {
compile files('libs/abcdd.jar')
provided files('libs/framework.jar')
}
2. 在project层的build.gradle文件中添加如下代码
allprojects {
repositories {
jcenter()
}
gradle.projectsEvaluated {
tasks.withType(JavaCompile) {
options.compilerArgs.add('-Xbootclasspath/p:app/libs/framework.jar')
}
}
}
android studio project目录结构
-project
--/.gradle gradle项目产生的文件夹(自动编译工具产生的文件)
--/.idea IDEA项目文件夹(开发工具产生的文件)
--/app(Module) module模块
--/build 构建时生成文件的地方
--/captures 捕获系统信息的日志目录
--/commonlibrary(Module)
--/core(Module)
--/gradle gradle环境支持文件夹
--/keystore(custom) 自定义(无用)
--/MPChartLib(Module)
--/tunnel(Module)
--.gitignore git源码管理文件
--build.gradle gradle运行环境配置文件
--gradle.properties gradle运行环境配置文件
--gradlew 自动完成gradle环境的linux mac脚本,配合gradle文件夹使用
--gradlew.bat 自动完成gradle环境的windows脚本,配合gradle文件夹使用
--local.properties Android SDK NDK 环境路径配置
--settings.gradle gradle项目的子项目包含文件
--Project.iml IDEA项目文件
-External Libraries
目录详细说明
.gradle目录 gradle运行时自动生成的目录,一般情况不做修改,不需要纳入项目源代码管理中
--/.gradle
---/4.4 gradle版本
----/fileChanges
----/fileContent
----/fileHashes
----/javaCompile
----/taskHistory
.idea目录 Intellij IDEA 运行时候生成的文件目录,一般情况不做修改,不需要纳入项目源代码管理中。
Intellij IDEA是JetBrains公司推出的Java集成开发环境,Android Studio是基于IDEA Commutity Edition开发的,Community 版本不仅是免费的而且是开源的。
--/.idea
---/libraries
----/modules.xml
module(app) 目录
--/app
---/build module编译时所生成文件的目录
---/libs 第三方依赖库所在目录
---/src module源码所在目录
----/androidTest android Studio生成的测试模块,可删除
----/main
-----/java
------/src
-----/res
-----AndroidManifest.xml
----/test 单元测试模块,可删除
---.gitignore module中的git管理文件
---app.iml module中的IDEA 项目文件
---build.gradle module自动编译的配置文件
---proguard-rules.pro module代码混淆配置文件
builde目录 编译时产生的文件 不需要修改 也不需要纳入项目源代码管理中
captures目录 系统信息日志保存目录 不需要纳入项目源代码管理中
gradle目录 声明了gradle的目录与下载路径以及当前项目使用的gradle版本。默认的路径我们一般不会更改
--/gradle
---/wrapper
----/gradle-wrapper.jar
----/gradle-wrapper.properties
.gitignore文件 git对项目文件管理,可以在里面添加你不希望纳入git管理的文件。
build.gradle文件 项目的编译环境配置,可以说是Gradle最主要的配置文件,这里是对Project的配置,是最顶层的配置
在module中同样有一个build.gradle文件,是对module的配置,如果module里没有进行配置,将使用这里的配置信息。一个是声明仓库的源,这里可以看到是指明的jcenter(), jcenter可以理解成是一个新的中央远程仓库,兼容maven中心仓库,而且性能更优。另一个是声明了android gradle plugin的版本
gradle.properties文件 配置gradle运行环境的文件,比如配置gradle运行模式,运行时jvm虚拟机的大小。在创建的项目中,暂时是没有内容的
gradlew & gradlew.bat 文件 分别是linux下的shell脚本和windows下的批处理文件,它们的作用是根据gradle-wrapper.properties文件中的distributionUrl下载对应的gradle版本。这样就可以保证在不同的环境下构建时都是使用的统一版本的gradle,即使该环境没有安装gradle也可以,因为gradle wrapper会自动下载对应的gradle版本。
local.properties文件 配置android NDK,SDK的地方,非android项目可能没有这个文件,这个路径根据不同想电脑不同,一般也不会纳入源代码管理之中。
setting.gradle文件 声明当前项目中含有什么module。如果有多个module会以‘,’分开,如:include ‘:app’, ‘:app2’
Test.iml文件 编译项目时生成的文件,其名为‘项目名.iml’,iml文件是Android Studio识别项目的配置文件,跟Eclipse里面的.project文件作用类似。
依赖相关
依赖相关(有点老android studio 2.0)
compile:默认选项,使用该方式依赖的库将会参与编译和打包。
provided:只在编译时使用,类似eclipse中的external-libs,只参与编译,不打包到最终apk。
APK:只会打包到apk文件中,而不参与编译,所以不能再代码中直接调用jar中的类或方法,否则在编译时会报错。
Test compile:针对单元测试代码的编译编译以及最终打包测试apk时有效,而对正常的debug或者release apk包不起作用。
Debug compile:针对debug模式的编译和最终的debug apk打包
Release compile:针对Release 模式的编译和最终的Release apk打包。
依赖关系(android studio 3.0)
Implementation 只能在内部使用此模块,比如我在一个libiary中使用implementation依赖了gson库,然后我的主项目依赖了libiary,那么,我的主项目就无法访问gson库中的方法。这样的好处是编译速度会加快,推荐使用implementation的方式去依赖,如果你需要提供给外部访问,那么就使用api依赖即可
API (对应2.0 的 compile)
Complie only (对应2.0的 provided)
Runtime only (对应2.0的 APK)
Unit Test implementation
Test implementation
Debug implementation
Release implementation
快捷键
AndroidStudio快捷键
-----文本操作
ctrl+z 撤销
ctrl+c 复制
ctrl+v 粘帖
ctrl+shift+up 代码向上移动
ctrl+shift+down 代码向下移动
ctrl+/ 注释代码
ctrl+w 选中代码
ctrl+a 全选
ctrl+s 保存
ctrl+g 定位到指定行
ctrl+r 替换
ctrl+y 删除当前行
ctrl+[ 光标移动到代码块初始
ctrl+] 光标移动到代码块结尾
ctrl+shift+n 查找文件
ctrl+d 在当前行下方复制一行
ctrl+f 在当前文件中查找
文件操作
ctrl+e 最近文件
ctrl+n 查找类或文件
ctrl+b 打开方法或声明调用处
ctrl+m 滚动到屏幕中心
ctrl+j 快捷代码
ctrl+h 显示类的继承结构图
ctrl+u 选择父类或者继承的接口
ctrl+o 显示父类中可继承的方法
ctrl+space 自动匹配内容
ctrl+alt+l 格式划代码(和ubuntu锁屏冲突)
alt+insert 生成代码
alt+shift+c 最近修改的代码
ctrl+shift+space 自动补全代码(和输入法冲突)
ctrl+space 代码提示(和输入法冲突)
ctrl+alt+space 类名或接口名提示(和输入法冲突)
ctrl+p 方法参数提示
ctrl+shift+alt+n 查找类中的方法或变量
shift+F6 重构-重命名
alt+F1 查找代码所在位置(ubuntu系统冲突)
alt+1 快速打开或隐藏工程面板
ctrl+alt+left 返回上个浏览位置
ctrl+alt+right 返回下个浏览位置
alt+left 切换代码视图
alt+right 切换代码视图
alt+up 在方法中快速定位
alt+down 在方法中快速定位
F2 高亮错误或警告快速定位
shift+F2 高亮错误或警告快速定位
tab 代码标签输入完成后,按Tab,生成代码。
ctrl+shift+F7选中文本,按Ctrl+Shift+F7 ,高亮显示所有该文本,按Esc高亮消失。
alt+F3 选中文本,按Alt+F3 ,逐个往下查找相同文本,并高亮显示。
ctrl+shift+backspace 跳转到上次编辑的地方
ctrl+q 查看当前方法的声明
alt+F8 计算变量值
本文详细介绍了如何在Android Studio中导入和编译Android源码,以及如何使用自定义的framework库。步骤包括执行启动脚本、编译idegen和导入项目。此外,还讲解了Android Studio的项目目录结构,各个目录的功能以及重要文件的作用。对于依赖管理,文章对比了不同类型的依赖选项,如compile、provided等,并介绍了Android Studio 3.0之后的新依赖类型Implementation、API等。最后,列举了一系列常用的Android Studio快捷键,帮助提升开发效率。

被折叠的 条评论
为什么被折叠?



