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使用教程(第五弹)

Create and Build an Android Studio Project

接下来是以下这四个部分:
- Create projects and modules.
- Work with the project structure.
- Eidt build files to configure the build process.
- Build and run your app.

关于如何创建Project这里就不说了, 默认创建的Project中有一个app的Module。

Add a library module

接下来的部分说一下如何在Project中创建一个library module并且把该library变成程序的一个依赖module。

Create a new library module

  • 点击File菜单后选择New Module或在Project上右键选New Module.
  • 展开页面下方的More Modules选择Android Library后Next.
  • 输入名字这里为了演示方便名字叫做mylibrary后一直Next即可.
    完成之后打开该Module中的build.gradle你会看到apply plugin: 'com.android.library'说明这是一个library.

Add a dependency on a library module

上一步我们创建了mylibrary module, 现在我们想让app module依赖与mylibrary module, 但是构建系统还不知道,
我们需要修改app module下的build.gradle文件添加mylibrary module就可以了。

...
dependencies {
    ...
    compile project(":mylibrary")
}

Build the project in Android Studio

Android Studio中build project点击上面导航栏中的Build菜单然后选择Make Project, 这时窗口底部的状态栏就会显示build的进度。
点击窗口右边底部的Image图标来显示Gradle Console.
Image

在窗口右边栏点击Gradle窗口可以看到当前所有可用的build tasks, 双击里面的task即可执行。
Image

Build a release version

点击Gradle tasks页面, 展开app中的task然后双击assembleRelease即可。

Configure the Build

接下来以MyApplication Project说明以下几个部分:
- Use the syntax from the Android plugin for Gradle in build files.
- Declare dependencies.
- Configure ProGurad settings.
- Configure signing settings.
- Work with build variants.

Build file basics

Android Studio projects中包含一个build file,每个module中也有一个build file名字为build.gradle.
下面是Project中app module的build.gradle文件

apply plugin: 'com.android.application'

android {
    compileSdkVersion 19
    buildToolsVersion "21.1.1"

    defaultConfig {
        applicationId "com.charon.myapplication"
        minSdkVersion 15
        targetSdkVersion 19
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            runProguard false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile project(":mylibrary")
}

apply plugin: 'com.android.application’ 声明了Gradle的类型为Android应用程序,这样会在最高级的build tasks中添加
一个Android程序特有的build任务并且创建android {…}来声明Android程序特殊的build配置。
android {…}部分配置了所有Android程序的build配置:
- compileSdkVersion表明了编译的目标SDK版本。
- buildToolsVersion 声明了当前 build的版本, 可以使用SDK Manager来下载多个build版本。
注意:最好使用高版本的build工具或者是和编译是目标SDK版本对应的build版本。
- defaultConfig配置了AndroidManifest.xml中的重要设置。
- buildTyppes部分控制着如何去build和打包你的程序,默认时会定义两种build类型:debug 和 release. debug类型带有默认的
debugging标示,用debug key进行签名, release版本默认时没有签名,上面的配置中release时没有使用ProGuard.
dependencies部分是在android之外,该部分声明了依赖的module。
注意:当修改项目中得build files时,Android Studio需要进行项目同步来导入相应的build配置变化, 点击Android Studio中黄色通知部分的Sync Now
来进行变化的导入。
Image

Declare dependencies

dependencies {
    // Module dependency
    compile project(":lib")

    // Remote binary dependency
    compile 'com.android.support:appcompat-v7:19.0.1'

    // Local binary dependency
    compile fileTree(dir: 'libs', include: ['*.jar'])
}
  • Module dependency
    为本地依赖的Module.
  • Remote binary dependency
    为远程依赖的二进制文件, 例子中为Android SDK仓库中所有的support v7包。
  • Local binary dependency
    为本地项目中依赖的jar包,这些jar包是在项目中的libs目录中。

Run ProGuard

构建过程中可以使用ProGuard进行代码混淆, 修改build文件中的runProGuard选项为true即可。


...
android {
    ...
    buildTypes {
        release {
            runProguard true
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}
...

getDefaultProguardFile(`proguard-android.txt`)包含了Android SDK安装时默认的ProGuard设置。Android Studio在module的根目录中
添加了proguard-rules.pro文件,可以在这里配置相应的ProGuard规则。

Configure signing settings

debug版本和release版本的应用区别在于应用程序能不能在一些稳定的设备上进行debug和APK是怎样进行签名的。 构建系统对debug版本使用默认的签名并且使用已知的
证书以便在构建过程中不会进行代码提示。如果你不指定签名配置时构建系统不会对release版本进行签名。
下面是如何让程序在release版本进行签名
- 拷贝签名文件到app module的根目录。
这样就可以保证当你在其他机器上构建项目的时候可以找到你的签名文件, 如果你没有签名文件,可以先创建一个。
- 在app module中的build file中配置签名选项。
java
...
android {
...
defaultConfig { ... }
signingConfigs {
release {
storeFile file("myreleasekey.keystore")
storePassword "password"
keyAlias "MyReleaseKey"
keyPassword "password"
}
}
buildTypes {
release {
...
signingConfig signingConfigs.release
}
}
}
...

  • 在Android Studio中的build task页面运行assembleRelease。
    在app/build/apk/app-release.apk下的包现在就是使用签名文件签过名的了。
    注意:把签名密码等写到build文件中不是很安全, 可以把密码配置到环境变量中或者是让其在构建的过程中提示输入密码。 这里我们就先不介绍如何配置了,可以自己搜索下。

至于开始所说利用Gradle可以很简单的进行多渠道打包会在以后专门讲解, 这里先到此为止了。


更多内容请关注本人Github

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

相关推荐

使用AndroidStudio网络抓包

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

lxm20819的专栏 1万+

Android Studio 的 build 过程

我们知道,在 Android 项目的开发过程中,只需要点一下 Android Studio 的运行按钮,就可以将代码编译好并运行在设备上。相信任何一个 Android 开发者都知道,从我们点击按钮到设备上运行 APP,Android Studio 默默地做了编译、打包(生成 APK 文件)、安装、运行等很多事情,安装和运行不是本文所关心的...

weixin_34242819的博客 493

详述字符集与汉字编码

字符集与字符编码是文本处理的基础概念。字符集定义字符集合(如ASCII、GB2312、Unicode),字符编码则规定字符如何存储为二进制数据。汉字编码经历了从区域化(GB2312、GBK、BIG5)到全球化(Unicode)的演进,Unicode通过UTF-8、UTF-16等编码方案实现跨语言兼容。UTF-8因兼容ASCII、节省空间且无乱码风险,成为中文互联网的主流编码。正确处理编码问题需统一标准、明确声明格式,并注意生僻字的特殊处理。

零零发不爱ai的博客 806

Android studio 快速 app Build running

1.打开Android studio/settings/Gradle   2.勾选Offline work   3.重点:配置好正确的.gradle路径及版本(.gradle为系统盘中那个文件夹)

lyjlmy的博客 339

服务器基础知识介绍

服务器,不仅仅是一台高性能计算机,更是网络的核心节点,承担着网络服务的责任。然而,相较于普通计算机,服务器对于稳定性、安全性和性能等方面提出了更高的要求,这使得它们在数字化浪潮中傲然独立。在硬件成本结构中,CPU和芯片组占据约50%的成本,内存占15%,外部存储占10%,其余硬件约占25%。服务器的逻辑结构与普通计算机相似,但由于其需要提供高性能计算,对稳定性、可靠性、安全性、可扩展性和可管理性的要求更高。服务器的分类多种多样,根据产品形式可分为塔式服务器、机架服务器、刀片服务器和机柜服务器。

m0_73576645的博客 1883

Ta-Lib源码解析(三):蜡烛图指标 (Candlestick Indicator) #(附Python重构代码和示意图)(补充中)

蜡烛图指标为识别K线形态的指标,笔者认为重点在于定义方式所提供的思路,背后的投资逻辑可以借鉴但不建议直接参考文档的翻译内容和源码逻辑存在不一致的现象,笔者分别列出中文百科中的定义和源码实际逻辑,供大家参考技术分析理论中的一些模糊词,ta-lib中给出了精确的定义源码

量化就是探索生活 3254

Idea中Gradle插件的“Build and run“设置项

该设置项是用来指定当我们进行 “build” -> “Build Project” 时使用哪种方式来build project 和 run tasks,默认情况下,Ideal使用Gradle的方式,我们也可以选择Idea方式。 我的Idea的Gradle插件中“Build and run using”设置下选中的是"Idea",原因参考关于IDEA建立Gradle项目build/libs/exploded目录无法生成导致Tomcat找不到web模块问题 那么,选择Gradle与选择Idea到底有什么

qq_27579471的博客 1万+

Unity跨平台存储避坑指南:persistentDataPath权限真相

Application.persistentDataPath是Unity中用于持久化数据的核心路径,表面提供跨平台抽象,实则底层访问机制因操作系统而异。其原理并非简单路径映射,而是受Android Scoped Storage、iOS Data Protection、Windows组策略及macOS隐私权限等多层安全模型动态约束。技术价值在于保障用户数据长期可靠存储,但若忽略平台差异,极易引发‘本地正常、真机崩溃’‘iOS可存、Android报错’等线上事故。典型应用场景包括游戏存档、离线缓存、自定义资源包

weixin_32073537的博客 352

AndroidStudio新建项目一直Configure build(Gradle Sync)

新建AS项目,没毛病, 然后因为要学习连接云平台,就import module云平台的SDK 发现一直卡在Configure build,点开右下角看提示是在Gradle Sync,在下载要用到的文件, 瞅着屏幕半天,算是明白了因为有一股神奇的力量阻挠着根本下不来(要外网)。 那就关掉,打算不用这个SDK, 又新建了一个项目, 发现有自动进入Gradle Sync在下载东西, 当时就纳闷了,都没导入SDK了咋还有脾气了?! 无奈百度去查了一早上,有的说添加阿里云接口,就是在build.gradle里添加个u

qq_33829353的博客 8163

Zynq AXI DMA实战:5分钟搞懂S_AXIS_S2MM和M_AXIS_MM2S数据流(附Vivado配置截图)

本文通过Vivado实战配置,清晰解析了Zynq平台AXI DMA IP核中S_AXIS_S2MM和M_AXIS_MM2S数据流的核心概念与连接方法。文章重点阐述了数据流向、主从关系及接口命名规则,并提供了从ADC数据采集到DDR存储,再从DDR读取数据发送至DAC的完整双向数据流搭建指南,帮助工程师快速避坑。

weixin_29200741的博客 451

【突变检验合集】含Pettitt突变检验等

突变检验方法合集

WW、forever的博客 3534

AndroidStudio停留卡在configure build

每次新建都是这样,没有预览图。 解决方案: 打开C:\Users\Laptop.gradle\wrapper\dists\gradle-5.4.1-all (这是我自己电脑的路径)主要是找到gradle\wrapper\dists路径 下载链接: https://pan.baidu.com/s/1f69I3snKHXL49CaaCXYYdQ 提取码: rf7j 找到自己需要对应的gradle版...

hpp74520的博客 7637

ransac拟合2D圆(三点定圆 c++详细版)

RANSAC(Random Sample Consensus,随机采样一致性)算法是一种基于随机采样的迭代算法,主要用于从一组包含大量噪声和异常值(外点)的数据中估计数学模型的参数。

twnkie的博客 1048

android studio configure build报错_FFmpeg编译4.1.4并移植到Android

Android 编译FFmpeg我们编译FFmpeg一般在Linux的系统上进行编译,当然windows也是可以的,这里讲解一下在Linux系统上编译。从官网下载FFmpeg(文档编辑时版本 ffmpeg-4.1.4)将下载下来的ffmpeg进行解压去Android官网下载ndk(文档编辑时版本 ndk-14b)进入已解压的ffmpeg文件目录,修改configure文件SLIBNAME_WITH...

weixin_39562752的博客 808

EMC辐射整改常用的4种整改方法

例如,产品设计研发工程师们根据需求,设计出效果良好的滤波电路,置入产品I/O(输入/输出)接口的前级,可使因传导而进入系统的干扰噪声消除在电路系统的入口处;通过选择元器件和合理安排的电路系统,使干扰的影响减少。有些频率点是通过电路板上走线分布参数所决定的,通过前述方法不大有用,此类整改通过在走线中增加小的电感、电容、磁珠来改变电路参数结构,使其移到限值要求较高的频率点上。电线电缆的分类整理在电子设备中,线间耦合是一种重要的途径,也是造成干扰的重要原因,因为频率的因素,可大体分为高频耦合与低频耦合。

学海无涯的专栏 3124

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

AndroidStudio使用教程(第一弹)

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

Charon_Chui的专栏 1897

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

AndroidStudio使用教程(第二弹)

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

Charon_Chui的专栏 1550

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

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

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

AndroidStudio使用教程(第七弹)

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

Charon_Chui的专栏 1723

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

gitblog_00674的博客 1845

AndroidStudio使用教程(第三弹)

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

Charon_Chui的专栏 1172

AndroidStudio使用教程(第四弹)

AndroidStudio使用教程(第四弹)Gradle讲解到这里我感觉有必要说明一下Gradle。 Gradle是一个基于Apache Ant和Apache Maven概念的项目自动化建构工具。它使用一种基于Groovy的特定领域语言来声明项目设置,而不是传统的XML. 更多介绍请直接参考Gradle或Google搜索。以下是为什么Android Studio选择Gradle的主要原因: -

Charon_Chui的专栏 1662

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

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

紫雾凌寒 9434

AndroidStudio基础教程

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

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

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值