android_studio

本文详细介绍了如何在Android Studio中导入和编译Android源码,以及如何使用自定义的framework库。步骤包括执行启动脚本、编译idegen和导入项目。此外,还讲解了Android Studio的项目目录结构,各个目录的功能以及重要文件的作用。对于依赖管理,文章对比了不同类型的依赖选项,如compile、provided等,并介绍了Android Studio 3.0之后的新依赖类型Implementation、API等。最后,列举了一系列常用的Android Studio快捷键,帮助提升开发效率。

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 计算变量值



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值