位置: 编程技术 - 正文

Android studio第一次使用配置(三)gradle项目构建(Android studio第一行报错)

编辑:rootadmin

推荐整理分享Android studio第一次使用配置(三)gradle项目构建(Android studio第一行报错),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:Android studio第一次新建项目报错,androidstudio第一次新建项目很慢吗,android studio第一次加载多久,Android studio第一个程序,Android studio第一个项目helloworld,androidstudio第一次新建项目很慢吗,Android studio第一个程序,androidstudio第一次新建项目很慢吗,内容如对您有帮助,希望把文章链接给更多的朋友!

1、gradle的概念

2、gradle配置jar包,和libs文件夹导入jar包的区别

3、签名打包:

(1)Studio

(2)命令行

(3)gradle wrapper的原理

4、BuildConfig的使用

5、简单介绍module中build.gradle文件参数含义

一、gradle的概念:

gradle是一个构建工具gradle是以Groovy语言为基础的gradle主要面向的是Java语言

打开Android Studio内置的终端,在输入如下命令查看gradle版本:

如果是第一次运行这个命令,系统会帮我们下载gradle到本地,下载到的路径是:

输入上述命令后,查看到gradle的版本2.2.1,如下图所示:

二、通过gradle来导入jar包:

我们在上一篇文章中第二段的第3小节中讲到了通过拷贝文件到libs文件夹来导入jar包。这次来讲一下怎么通过gradle来配置jar包。我们还是以谷歌的gjson.jar为例,如果之前已经通过拷贝文件方式倒入过了,请先自行删掉。

1、通过gradle配置第三方jar包

我们看到,每个module都有一个build.gradle文件,它其实是对应module的配置文件。关于build.gradle文件中具体内容的含义,我们将在最后一段进行讲解。

我们先来看一下名为app的这个module,它的build.gradle对应的图形界面其实是下面这个Project Stucture:

上图中,切换到dependencies标签下,如下图所示:

上图中,点击添加,然后选择"Library dependency",弹出如下界面:

上图中,我们在搜索框中输入“gson”,然后确定,就弹出了箭头处的我们需要的jar包,添加它即可:

之后我们会发现,app这个module的build.gradle中多了一行代码,表示引入了gson.jar:

其实,如果你能记得住上方这行代码,直接写出代码来也是可以导入的。

此时,gson这个jar包不再是出现在libs这个文件夹下了,而是出现在最下方的External Libraries中,如下图所示:(而且是最新版本哦)

2、gradle导入jar包的特点:(和libs文件夹导入jar包的区别)

gradle导入jar包更方便,一行代码即可搞定。不像后者那样还要自己去官方下载。如果官方将jar包更新了,我们只需要在build.gradle中改一下版本号就行了,不用重新去官网下载。

3、通过gradle导入的jar包是从哪里来的:

需要注意的是:不是所有的jar包都是可以通过gradle来导入的。那通过gradle导入的jar包是从哪里来的呢?解释如下:

我们发现HelloWorld这个project的目录下有一个build.gradle文件,打开它:

上图中第行的"jcenter()"的意思是,所有通过gradle导入的jar包都是从 1.1.0是android的一个gradle插件(也是从中央仓库扒下来的)。而我们自己使用的gradle版本如下图所示:

我们自己下载好的gradle的路径如下:

三、签名打包的两种方式:

注:给我们自己开发的app签名,就代表着我自己的版权,以后要进行升级,也必须要使用相同的签名才行。签名就代表着自己的身份(即keystore),多个app可以使用同一个签名。

如果不知道签名是啥意思,请自行百度哦。在eclipse中签名的方法是:选中工程,邮件选择"export-android-export android application",

1、方式1:通过Android Studio进行签名:

选中app这个module,选择菜单栏"Build-Generate signed apk":

弹出如下界面:

Android studio第一次使用配置(三)gradle项目构建(Android studio第一行报错)

上图中,如果你是第一次使用签名,就单击红框部分创建一个新的签名;如果你之前有过签名的文件,就选择蓝框部分进行导入即可。那我就先选择红框部分吧:

上图中,点击"finish"之后,可以看到Android Studio的最下方显示:Gradle正在执行assembleRelease这样一个任务,如下图所示:

生成签名好的apk之后,会弹出提示:

2、方式2:通过命令行的方式进行签名:

(1)加载Key Store:

我们先删掉上面的通过第一种方式所签名的apk文件。接下来进行第二种方式来签名,即命令行的方式。

打开Project Stucture图形化界面:

上图中,选中app这个module,然后切换到singning标签栏,紧接着点击添加,然后生成release签名信息,紧接着点击"OK"。接着做如下操作:

上图中,切换到Build Types标签,将Signing config选择为"release",即将刚刚生成的release签名信息配置进去。

操作完成之后,我们可以看到app这个module的build.gradle文件多出了如下红框部分的代码:

然后执行菜单栏的"build-clean Project":

(2)生成realease版本的apk:

紧接着在命令行Terminal输入如下命令:(AS已经将命令行Terminal集成到了软件当中)

gradlew assembleRelease

如果运行成功,效果如下:

生成的签名好的apk在如下位置:

3、为什么要使用gradlew命令而不是gradle命令:

在HelloWorld工程目录下有一个gradle文件夹,在gradle/wrapper目录下有一个gradle-wrapper.properties文件,打开它:

上图代表着HelloWorld这个工程所依赖的gradle的版本信息。上图的红线表示,如果我们的工程中没有gradle,软件会根据这个url去下载gradle,终于知道为啥第一次打开AS时会这么慢了吧?

如果我们执行了gradlew命令,实际上是执行上面的gradle wrapper,然后找到我们已经下载好的gradle 2.2.1。如果现在有很多个工程,但是每个工程的gradle版本都不一样,我就必须要将每个版本的gradle都要配置到环境变量当中,而执行了gradlew命令,就会避免这个麻烦。

四、BuildConfig文件:

BuildConfig是IDE自动生成的一个类,在elipse中即存放在gen目录下(如R文件)。而在Adroid Studio中,BuildConfig文件存放的位置是:app/build/generated/source/buildconfig/dubug/<packagename>/BuildConfig.java中。如下图所示:

五、module中build.gradle文件参数含义:

主要是module的build.gradle,截图如下:

行:apply plugin: 'com.android.application' 表示该module是这个应用程序的module

行:applicationId "com.smyhvae.helloworld" 应用程序的包名

、行:向下兼容的最小版本、编译版本。 注:在app/src/main/AndroidManifest.xml中不再出现这个信息了。

行:需不需要利用行的proguard文件来混淆代码。在release状态下,最好改为true。

图文来源:

版权声明:本文为博主原创文章,未经博主允许不得转载。

Android 开发系列 3 Intent 预留版权声明:本文为博主原创文章,未经博主允许不得转载。

[置顶] 使用Apktools反编译apk应用 使用Apktools反编译apk应用1.获取APK的classes.dex文件:得到你想要的应用的apk文件,用解压软件打开apk,从apk中复制出classes.dex文件。2.classes.dex转化为.jar解压

VideoView申请音频焦点问题 问题现象:使用VideoView写了一个悬浮框播放视频程序,在悬浮框代码中注册音频焦点监听事件,监听悬浮框的音频焦点获取和丢失。发现悬浮框和Music同

标签: Android studio第一行报错

本文链接地址:https://www.jiuchutong.com/biancheng/379610.html 转载请保留说明!

上一篇:Android百度地图导航部分报JNI相关错误(Android百度地图定位 sdk 地理围栏监听)

下一篇:Android 开发系列 3 Intent(android开发范例实战宝典)

  • 企业自建房产缴契税吗
  • 预缴所得税退回
  • 长期待摊费用怎么算
  • 可供出售金融资产包括哪些内容
  • 公司法人必须办社保吗?
  • 代订餐如何赚钱
  • 服务业按什么结算工资
  • 小规模无进项怎么补税
  • 融资租赁和经营租赁的特点
  • 自产产品用于广告要交消费税吗
  • 增值税发票的抵扣联丢了怎么办
  • 预缴企业所得税怎么做会计分录
  • 城建税纳税申报表
  • 一般劳务报酬和税收区别
  • 收到员工归还借款属于现金流量表
  • 土地出让金评估费怎么算
  • 购货无法取得发票财务如何处理
  • 生产企业有哪些费用
  • 医院业务支出包括哪些内容科目
  • 三证合一之后还有税务登记证吗
  • 房产税申报后多久缴纳税款
  • 怎么在网上申请变更姓名
  • 公司前三季度实现营业收入59.17亿元
  • 生产型企业一般会有哪些外来文件
  • 企业劳务外包取费的标准以及依据是什么?
  • 专票当普票入帐有问题吗
  • 账面销项税额与申报表不一致怎么处理
  • 交通费进项税抵扣计算
  • 2021最新版眼保健视频
  • 净现值法的优点包括
  • php在apache中有哪些工作方式
  • pc安装苹果系统
  • 房地产企业开发成本
  • 缴纳季度企业所得税比例
  • vue组件继承并重写属性方法
  • 触屏不灵敏怎么调整oppo
  • SwinIR实战:详细记录SwinIR的训练过程
  • win11的截屏
  • uni-app编译
  • 优秀员工奖励现金是工资还是福利
  • 本月增值税申报截止日
  • 福利费工会经费教育经费计提比例
  • 员工聚餐谁出钱
  • 增值税普通发票税率
  • 公司租用员工的车辆交什么税
  • python中选择结构也称为什么
  • 总账和明细账期间相同吗
  • 印花税申报怎么更正采集处理
  • 销项负数发票能作废吗
  • sqlserver行列转换多行多列
  • 一般纳税人建筑劳务税率
  • 增值税防伪税控系统
  • 股东权益是资产吗
  • 出口退税红字冲减
  • 企业代购是什么意思
  • 怎样银行存款,预付帐款,应收帐款余额做资金平衡表
  • 一次性压缩洗脸巾
  • mysql 5.7.33安装
  • Win7系统如何清除流氓屏保
  • microsoft office诊断
  • flashplayer不能正常运行
  • 在Linux系统中安装虚拟window
  • Win8.1 64位系统安装Office365出现30125-1011错误提示的故障原因及解决方法
  • linux系统中touch
  • linux fdisk -l
  • centos运行程序
  • linux的内存
  • linux服务器安全配置
  • unity shader editor
  • js函数命名
  • python开发技术详解(全27集),5
  • jquery中可以用什么方法来获取和设置元素属性
  • 深入理解Python特性 达恩·巴德尔
  • 现在哪个行业的税负很重了
  • 江苏省国税务局严三国
  • 非正常户解除申请理由
  • 青岛电子税务局电话人工客服电话
  • 税源管理科是干什么的工作
  • 什么叫售后回租赁合同
  • 会计专业有必要读博士吗
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设