AndroidStudio使用教程(第四弹)

AndroidStudio SonarLint和SonarQube的使用 环境:搭建 windows 本地环境 简介 SonarQube是一种自动代码审查工具,用于检测代码中的错误、漏洞和代码Bug。它可以与您现有的工作流程集成,以支持跨项目分支和拉取请求的持续代码检查。 环境要求 运行 SonarQube 的唯一先决条件是在你的机器上安装 Java 11(Oracle JRE 11 或 OpenJDK 11)且配置了环境变量。如果未安装Java 11 ,SonarQube(Version:9.1)服务启动失败; 下载SonarQube Download | Son. 阅读详情

AndroidStudio使用教程(第四弹)

Gradle

讲解到这里我感觉有必要说明一下Gradle。
Gradle是一个基于Apache Ant和Apache Maven概念的项目自动化建构工具。它使用一种基于Groovy的特定领域语言来声明项目设置,而不是传统的XML.
更多介绍请直接参考Gradle或Google搜索。

以下是为什么Android Studio选择Gradle的主要原因:
- 使用领域专用语言(Domain Specific Language)来描述和处理构建逻辑。(以下简称DSL)
- 基于Groovy。DSL可以混合各种声明元素,用代码操控这些DSL元素达到逻辑自定义。
- 支持已有的Maven或者Ivy仓库基础建设
- 非常灵活,允许使用best practices,并不强制让你遵照它的原则来。
- 其它插件时可以暴露自己的DSL和API来让Gradle构建文件使用。
- 允许IDE集成,是很好的API工具

Overview

AndroidStudio build系统是一个你可以用来build, test, run, package your apps的工具。 build系统与Android Studio之间是独立的,
所以你可以在Android Studio中或者
command line中去执行。写完自己的应用程序之后,你可以用build系统来做以下事情:     
- 自定义、配置和扩展build过程.。
- 用同一个工程根据不同的特性来创建多个APK。
- 重复利用代码和资源。
Android Studio灵活的build系统能让你不用修改项目和核心文件而完成上面所有的工作。

Overview of the Build System

Android Studio的构建系统包含一个Gradle的Android插件,Gradle是一个管理依赖关系并且允许自定义构建逻辑的高级构建工具。 许多软件都用Gradle来进行构建。
Gradle的Android插件并不依赖Android Studio, 虽然Android Studio全部集成了Gralde, 这就意味着:    
- 你可以用用命令行的方式去构建Android应用或者是在一些没有安装Android Studio的机器上。
- 你可以用命令行构建时的配置和逻辑来在Android Studio中进行构建Android项目。
不管你是通过命令行还是远程机器或者是Android Studio来进行构建的产出都是一致的。

Build configuration

项目的构建配置都在Gralde build files中, 都是些符合Gradle要求的选项和语法,Android插件并不依赖Android
通过
build文件来配置一下几个方面:
-
Build variants构建系统能对同一个项目通过不同的配置生成多个APK,当你想构建多个不同版本时这是非常有用的,因为不用为他们建立多个不同的项目。
-
Dependencies构建系统管理项目的依赖关系,并且支持本地已经远程仓库的依赖关系。 这样你就不用再去搜索、下载,然后再拷贝相应的包到你工程的目录了。
-
Manifest entries构建系统能够通过构建配置去指定清单文件中中某些元素的值。 当你想生成一些包名、最低SDK版本或目标SDK版本不同的APK时是非常有用的。
-
Signing构建系统能在build配置中设置指定的签名, 在构建的构成会给APK进行签名。
-
ProGuard构建系统允许根据不同的构建配置设置不同的混淆规则, 在构建的过程中会运行ProGuard来对class文件进行混淆。
-
Testing构建系统会根据项目中的测试代码生成一个测试APK, 这样就不需要创建一个单独的测试工程了, 在构建的过程中会运行相应的测试功能。
Gradle构建文件使用Groovy语法,Groovy是一门可以自定义构建逻辑并且能通过Gradle的Android插件与Android`一些特定元素通信的语言。

Build by convention

Android Studio构建系统对项目结构和一些其他的构建选项做了一些很好的默认规范声明,如果你的项目符合这些条件,Gradle的构建文件就非常简单了。 如果你的项目不符合
其中的一些要求, 灵活的构建系统也允许你去配置几乎所有的构建选项。例如你项目的源码没有放在默认的文件夹中,你可以通过build文件去配置它的位置。

Projects and modules

Android Studio中的Project代表了一个完整的Android应用,每个Project中可以有一个或多个Module。 Module是应用中可以单独build, test或debug的组件。
Module中包含应用中的源码和资源文件, Android Studio中的Project包含以下三种Module:
- 包含可复用代码的Java library modules. 构建系统对Java library module会生成一个JAR包。
- 有可复用Android代码和资源的Android library modules. 对该library modules构建系统会生成一个AAR(Android ARchive)包。
- 有应用代码或者也可能是依赖其他library modules的Android application modules, 虽然很很多Android应用都只包含一个application module.
对于application modules
构建系统会生成一个APK包。

Android Studio projects在project的最外城都包含一个列出所有modules的Gradle build file, 每个module也都包含自己的Gradle build file.

Dependencies

Android Studio的构建系统管理着依赖项目并且支持module依赖, 本地二进制文件依赖和远程二进制文件的依赖。

  • Module Dependencies
    一个项目的module可以在构建未见中包含一系列所依赖的其他modules, 在你构建这个module的时候,系统回去组装这些所包含的modules.
  • Local Dependencies
    如果本地文件系统中有module所依赖的二进制包如JAR包, 你可以在该module中的构建文件中声明这些依赖关系。
  • Remote Dependencies
    当你的依赖是在远程仓库中,你不需要去下载他们然后拷贝到自己的工程中。 Android Studio支持远程Maven依赖。 Maven是一个流行的项目管理工具,
    它可以使用仓库帮助组织项目依赖。

    许多优秀的软件类库和工具都在公共的Maven仓库中, 对于这些依赖只需按照远程仓库中不同元素的定义来指定他们的Moven位置即可。
    构建系统使用的Maven位置格式是group:name:version. 例如Google Guava16.0.1版本类库的Maven坐标是
    com.google.guava:guava:16.0.1.

    Maven Central Repository现在被广泛用于分发许多类库和工具。

下面分别为以上三种依赖关系的配置;

dependencies {
    compile project(":name")
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.google.guava:guava:16.0.1'
}

Build tasks

Android Studio构建系统定义了一些列的构建任务, 高级别的任务调用一些产出必要输出的任务。 构建系统提供了project tasks来构建app和module tasks
来独立的构建modules.

可以通过Andorid Studio或者命令行看到当前可用任务的列表,并且执行里面的任务。

The Gradle wrapper

Android Studio项目包含了Gradle wrapper, 包括:     
- A JAR file
- A properties file
- A shell script for Windows platforms
- A shell script for Mac and Linux platforms
声明:需要把这些文件提交到代码控制系统。

使用Gradle wrapper(而不用本地安装的Gradle)能确保经常运行配置文件中配置的Gralde版本。 通过在配置文件中定义最新的版本来确保你的工程一直使用最新版的Gradle。

Android Studio从你项目中的Gradle wrapper目录读取配置文件,并且在该目录运行wrapper, 这样在处理多个需要不同Gradle版本的项目时就会游刃有余。
声明:Android Studio不使用shell脚本,所以对于他们的任何改变在IDE构建时都不会生效,你应该在Gradle build files中去设置自定义的逻辑。

你可以在开发及其或者是一些没有安装Android Studio的及其上使用命令行运行shell脚本来构建项目。

直接上图:
Image


更多内容请关注本人Github

Android环境配置 AndroidStudio安装教程、 基础配置 以及部分快捷键使用 本文旨在教导初学Android以及从eclipse转到AndroidStudio上的童鞋进行AndroidStudio的下载安装以及配置。希望大家都能开心的学习! 阅读详情

相关推荐

使用AndroidStudio网络抓包

抓包的方式有很多种,Filder需要添加手机代理,还有抓包神奇Charles,不过他需要一些繁琐的配置。今天主要说一下使用AndroidStudio进行网络抓包。 主要使用到的工具是Profile,首先说一下打开步骤: 设置完成以后,界面主要分成几个模块 在这里,我们主要使用的是NETWORK模块,可以看到网络请求发生时,会有网络曲线波动, 点击刚才的NETWORK模块...

lxm20819的专栏 1万+

Android学习(二):Android Studio创建并运行Android项目(Hello World ~.~)

目录 环境 创建项目 运行第一个项目-HelloWorld 环境 Windows 7 Android Studio 所有SDK已经下载配置完毕 小米MIX2(这里我没有使用Android Studio自带的模拟器,使用的是真机调试) 创建项目 1. 第一次运行的时候其实就会创建一个项目,这里在仔细记录一下,首先打开创建新新项目的页面: 上面可以选择的类型有...

dakerKing 1万+

开关电源EMC整改实录:用WSX系列共模电感搞定30MHz辐射超标

本文详细介绍了开关电源EMC整改实战,通过WSX系列共模电感成功解决30MHz频段辐射超标问题。文章分析了共模干扰的产生机制,对比了不同磁芯材料的性能差异,并提供了电路布局优化与安装技巧,最终通过实测数据验证了整改方案的有效性。

weixin_29305313的博客 415

Android Studio gradle配置详解

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_34198453的博客 577

Python经常遇到导入xlwings就出错,如何解决

Python经常在导入xlwings时遇到错误。有人建议尝试重装或升级xlwings,但这些操作后仍然无法解决导入错误问题。

felix_8的博客 1740

ARM芯片内部的高速公路:手把手教你用AMBA Designer配置NIC-400互连控制器

本文详细介绍了如何使用AMBA Designer工具配置ARM芯片中的NIC-400互连控制器,涵盖从基础拓扑构建到高级QoS设置的完整流程。通过实际案例演示,帮助开发者掌握AXI协议下的高效片上网络设计,提升SoC性能与能效比。

weixin_26750481的博客 314

Android中多语言设置

Demo效果图 Demo中主要设置了三种情况:跟随系统、简体中文和英文具体步骤如下: 一、在资源文件中建立多语言环境的资源文件,具体步骤可参考以下链接: https://blog.youkuaiyun.com/MakerCloud/article/details/83146600 二、新建工具类MultiLanguageUtils.java, public class MultiLanguageUtils ...

weixin_43695010的博客 5719

Photoshop实战技巧(9)——高效去除复杂水印的五种进阶方法

本文详细介绍了Photoshop中高效去除复杂水印的五种进阶方法,包括色阶通道爆破法、频率分离高阶应用、智能填充+手动修复组合拳等专业技巧。针对半透明水印、密集文字水印等复杂场景,提供分步操作指南和实战案例,帮助用户精准去除水印同时保留原始图像细节,大幅提升工作效率。

cake8的博客 963

2023最新Android Studio安装、卸载、解决c盘占用教程

2023最新Android Studio安装、卸载、解决c盘占用教程,从安装到hello world运行

Sis7tin的博客 1万+

软考高级信息系统项目管理师系列论文之:百篇软考高级信息系统项目管理师论文范文

软考高级信息系统项目管理师系列论文之:百篇软考高级信息系统项目管理师论文范文

zhengzaifeidelushang的博客 3581

基于STM32设计的心率脉搏测量仪(项目资料ID:9)

本设计基于STM32F103单片机开发了一款便携式心率脉搏测量仪,通过光电传感器采集脉搏信号,经放大(约1200倍)、滤波(低通及四阶低通滤波)、比较及偏置电压调理后,由STM32进行ADC采样与数据处理。硬件采用Altium Designer设计,包含信号调理电路(限定心率范围43.4-800次/分钟)及电源管理模块;软件基于STM32CubeMX开发,利用队列存储和时间间隔平均算法优化精度,实现多终端显示(OLED实时心率/动画、MATLAB波形分析、蓝牙传输至手机)。系统支持自动启停(检测脉搏启

以培养嵌入式工程师为己任 1万+

Android系统默认语言改为中文

修改 build/tools/buildinfo.sh echo "ro.product.locale.language=zh" echo "ro.product.locale.region=CN" 就可以修改Android系统默认语言为中文。

依然怡然 1万+

【踩坑记录】colmap中的相机位姿的坐标系定义及其可视化结果的隐含转换

1 坐标系定义及转换   首先介绍一下世界坐标系和相机坐标系之间的转换,它们之间是存在一个转换关系的。现假设空间中一点X,它在相机坐标系下的坐标是Xcamera,在世界坐标系下的坐标是Xworld。假设它通过R和t实现从相机坐标系到世界坐标系之间的转换: Xworld = RXcamera + t   那么,由上式,我们可以推得从世界坐标系向相机坐标系的转换关系(RT=R-1,所以通常直接使用RT即可): Xcamera = RTXworld - RTt   所以,两个坐标系之间的转换,需要看其具体

zeeq的博客 2万+

AndroidStudio使用教程(第一弹)

AndroidStudio使用教程(第一弹)Android Studio是一套面世不久的IDE(即集成开发环境),免费向谷歌及Android的开发人员发放。Android Studio以IntelliJ IDEA为基础, 旨在取代Eclipse和ADT(Android开发者工具)为开发者提供更好的开发工具。 运行相应速度、智能提示、布局文件适时多屏预览等都比Eclipse要强,但也不能说全部都是

Charon_Chui的专栏 1897

Open3D 使用CPD算法对点云配准【2025最新版】

Coherent Point Drift相干点漂移算法实现点云配准(python代码)博客长期更新,本文最近更新时间为:2025年2月2日。

点云侠的博客 8万+

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

AndroidStudio使用教程(第二弹)

AndroidStudio使用教程(第二弹) 迁移Eclipse工程到Android Studio 官方文档中说Android Studio可以兼容Eclipse的现有工程,但需要做一些操作: Eclipse进行项目构建 首先升级ADT到最新版本, 好像是22之后,选择需要从Eclipse导出的工程,右键选择Export并选择Android下的Gen

Charon_Chui的专栏 1550

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

AndroidStudio使用教程(第七弹)

AndroidStudio使用教程(第七弹)本文讲解一下Gradle的应用,大家都知道Gradle使用起来非常方便,那他究竟方便在哪里?                           很多时候我们在打印Log日志的时候都是需要在Debug版本中进行打印,而在正式版本中关闭。 通常我们都是用一个Config文件来配置,不知道大家有没有遇到过正式版中忘记关闭Log日志的情况。 多渠道包非常让人头

Charon_Chui的专栏 1723

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

AndroidStudio中使用plantUML

Unified Modeling Language (UML)又称统一建模语言或标准建模语言,用来描述 类(对象的)、对象、关联、职责、行为、接口、用例、包、顺序、协作,以及状态。用来帮助自己理清众多类之间复杂关系的不二利器,也能帮助别人快速理解你的设计思路。那么,我们怎么在AndroidStudio中创建自己的UML类图呢?接下来我就教大家如何用正确的姿势创建UML类图。

GcsSloop 3万+

AndroidStudio使用教程(第六弹)

AndroidStudio使用教程(第六弹)DebugAndorid Studio中进行debug: - 在Android Studio中打开应用程序。 - 点击状态栏中的Debug图标。 - 在接下来的选择设备窗口选择相应的设备或创建虚拟机, 点击OK即可。 Android Studio在debug时会打开Debug工具栏, 可以点击Debug图标打开Debug窗口。 设置断点与Ec

Charon_Chui的专栏 1447

AndroidStudio使用教程(第三弹)

AndroidStudio使用教程(第三弹)熟悉了基本的使用之后,可能关心的就是版本控制了。 SVN 下载Subversion command line 方法一 下载地址是Subversion里面有不同系统的版本。 以Windows为例,我们采用熟悉的VisualSVN. 进入下载页后下载Apache Subversion comman

Charon_Chui的专栏 1172

【亲测免费】 AndroidStudio 中文汉化包安装与使用教程

AndroidStudio 中文汉化包安装与使用教程 1. 项目目录结构及介绍 AndroidStudio-ChineseLanguagePackage 项目的目录结构如下: AndroidStudio-ChineseLanguagePackage/ ├─ AndroidStudio_v2.0.0.20_zh-cn/ │ ├─ resources_cn/ │ ├─ resources_cn...

gitblog_00674的博客 1845

AndroidStudio使用教程(第五弹)

AndroidStudio使用教程(第五弹)Create and Build an Android Studio Project接下来是以下这四个部分: - Create projects and modules. - Work with the project structure. - Eidt build files to configure the build process. - B

Charon_Chui的专栏 2341

AndroidStudio 插件 之 Findbugs 安装与简单使用教程

前言         对于代码质量的检查,一直是一个比较棘手的问题。虽然我们部门有关于java代码的各种规范,领导也多次强调对代码的评审。但是在实际执行过程中,由于开发人员的水平参差不齐,在开发项目时还有各种其他因素,比如时间紧任务重,自己的代码不规范没有意识到,就疏于对代码质量的检查,然后草率的提交。还有就是大家对代码检测的不重视,有种意识就是即使代码不规范,我们的程序也可以正常运行,为什

紫雾凌寒 9434

Git在AndroidStudio中的使用

总而言之,成功是留给准备好的人的。无论是参加什么面试,都要做好充足的准备,注意好面试的礼仪和穿着,向面试官表现出自己的热忱与真诚就好。即使最后没有过关,也要做好经验的总结,为下一次面试做好充足准备。这里我为大家准备了一些我在面试后整理的面试专题资料,除了面试题,还总结出了互联网公司Android程序员面试涉及到的绝大部分面试题及答案,并整理做成了文档,以及系统的进阶学习视频资料分享给大家,希望能帮助到你面试前的复习,且找到一个好的工作,也节省大家在网上搜索资料的时间来学习。

2401_84132496的博客 928

AndroidStudio基础教程

AndroidStudio简单设置 AndroidStudio基础教程百度云 1.Android视图结构,适用于大部分的开发工作 2.对AndroidStudio进行相关的设置(Ctrl+Alt+S)     字体 16号建议 4.导入eclipse的adt工程     关闭现有工程(打开AS的欢迎界面)->选择import project(Eclipse ADT.

心若明,则志坚 1205
上一篇: AndroidStudio使用教程(第二弹)
下一篇: AndroidStudio使用教程(第三弹)
CharonChui
博客等级 码龄12年 66粉丝 134原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值