- 浏览: 2142344 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (1240)
- mac/IOS (287)
- flutter (1)
- J2EE (115)
- android基础知识 (582)
- android中级知识 (55)
- android组件(Widget)开发 (18)
- android 错误 (21)
- javascript (18)
- linux (70)
- 树莓派 (18)
- gwt/gxt (1)
- 工具(IDE)/包(jar) (18)
- web前端 (17)
- java 算法 (8)
- 其它 (5)
- chrome (7)
- 数据库 (8)
- 经济/金融 (0)
- english (2)
- HTML5 (7)
- 网络安全 (14)
- 设计欣赏/设计窗 (8)
- 汇编/C (8)
- 工具类 (4)
- 游戏 (5)
- 开发频道 (5)
- Android OpenGL (1)
- 科学 (4)
- 运维 (0)
- 好东西 (6)
- 美食 (1)
最新评论
-
liangzai_cool:
请教一下,文中,shell、C、Python三种方式控制led ...
树莓派 - MAX7219 -
jiazimo:
...
Kafka源码分析-序列5 -Producer -RecordAccumulator队列分析 -
hp321:
Windows该命令是不是需要安装什么软件才可以?我试过不行( ...
ImageIO读jpg的时候出现javax.imageio.IIOException: Unsupported Image Type -
hp321:
Chenzh_758 写道其实直接用一下代码就可以解决了:JP ...
ImageIO读jpg的时候出现javax.imageio.IIOException: Unsupported Image Type -
huanghonhpeng:
大哥你真强什么都会,研究研究。。。。小弟在这里学到了很多知识。 ...
android 浏览器
Gradle 基本概念
首先我们学习几个gradle 的脚本语法,掌握了这几个语法,你就能非常简单的用gradle构建打包android项目了。 首先,我们来看下一个最简单android build.gradle。
build.gradle
本地依赖
gradle 作为构建工具,能够很方便的使用本地jar包,以下为使用的代码块。
远程依赖
gradle 同时支持maven,ivy,由于ivy我没用过,所以用maven 作为例子,以下为代码块:
android library 依赖
对于项目依赖 android library的话,就不是依赖一个jar,那么简单了,在这里需要使用gradle mulit project 机制。在过去,android library并没有一个很好的包管理方式,简单来说,在gradle出现以前,官方并没有一种用于管理android library 依赖包的方式,一般我们都是直接下载别人的android library project 源码进行集成,而对于第三方的android-maven-plugin 用的是apklib 格式。
而现在,官方终于推出一种android library的打包格式,扩展名为*.aar。前面提到,目前android gradle插件并不支持本地直接使用*.aar文件,不过,支持包管理库的引用方式,下面,我为大家说一下,怎么对android library 发布使用。
打包android library
对android library 进行打包直接在library项目下面使用gradle build 即可,然后,你就会在 build/libs 目录下看到两个*.aar文件,一个debug包用的,一个是release 下用的,看个人需求使用,这里我们用的是release 版本的 .aar 文件。
引用脚本跟前面讲的依赖库相似
最后,分享个maven库地址:http://mvnrepository.com/
首先我们学习几个gradle 的脚本语法,掌握了这几个语法,你就能非常简单的用gradle构建打包android项目了。 首先,我们来看下一个最简单android build.gradle。
build.gradle
//设置脚本的运行环境 buildscript { //支持java 依赖库管理(maven/ivy),用于项目的依赖。 repositories { mavenCentral() } //依赖包的定义。支持maven/ivy,远程,本地库,也支持单文件 dependencies { classpath 'com.android.tools.build:gradle:0.4' } } //声明构建的项目类型,这里当然是android了 apply plugin: 'android' //设置编译android项目的参数 android { compileSdkVersion 17 buildToolsVersion "17" defaultConfig { minSdkVersion 8 targetSdkVersion 17 } //Android默认配置 sourceSets { main { manifest.srcFile 'AndroidManifest.xml' java.srcDirs = ['src'] resources.srcDirs = ['src'] aidl.srcDirs = ['src'] renderscript.srcDirs = ['src'] res.srcDirs = ['res'] assets.srcDirs = ['assets'] } //测试所在的路径,这里假设是tests文件夹,没有可以不写这一行 instrumentTest.setRoot('tests') } //这个是解决lint报错的代码 lintOptions { abortOnError false } /** * 签名设置 */ signingConfigs { myConfigs { storeFile file("签名文件地址") keyAlias "..." keyPassword "..." storePassword "..." } } /** * 混淆设置 */ buildTypes { release { //签名(out下生成的apk,有签名的话生成release的apk,如果无签名则生成debug的apk) signingConfig signingConfigs.myConfigs runProguard true proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } /** * 渠道打包(不同包名) */ productFlavors { qqqq { applicationId = '包名' } hhhhh { applicationId='包名' } } } /** * .so文件的导入 */ task copyNativeLibs(type: Copy) { from fileTree(dir: 'libs', include: 'armeabi/*.so') into 'build/lib' } tasks.withType(Compile) { options.encoding = "UTF-8" } tasks.withType(Compile) { compileTask -> compileTask.dependsOn copyNativeLibs } clean.dependsOn 'cleanCopyNativeLibs' tasks.withType(com.android.build.gradle.tasks.PackageApplication) { pkgTask -> pkgTask.jniFolders = [new File(buildDir, 'lib')] } //依赖库 dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) }
本地依赖
gradle 作为构建工具,能够很方便的使用本地jar包,以下为使用的代码块。
dependencies { //单文件依赖 compile files('libs/android-support-v4.jar') //某个文件夹下面全部依赖 compile fileTree(dir: 'libs', include: '*.jar') } android { }
远程依赖
gradle 同时支持maven,ivy,由于ivy我没用过,所以用maven 作为例子,以下为代码块:
repositories { //从中央库里面获取依赖 mavenCentral() //或者使用指定的本地maven 库 maven{ url "file://F:/githubrepo/releases" } //或者使用指定的远程maven库 maven{ url "远程库地址" } } dependencies { //应用格式: packageName:artifactId:version compile 'com.google.android:support-v4:r13'} android { }
android library 依赖
对于项目依赖 android library的话,就不是依赖一个jar,那么简单了,在这里需要使用gradle mulit project 机制。在过去,android library并没有一个很好的包管理方式,简单来说,在gradle出现以前,官方并没有一种用于管理android library 依赖包的方式,一般我们都是直接下载别人的android library project 源码进行集成,而对于第三方的android-maven-plugin 用的是apklib 格式。
而现在,官方终于推出一种android library的打包格式,扩展名为*.aar。前面提到,目前android gradle插件并不支持本地直接使用*.aar文件,不过,支持包管理库的引用方式,下面,我为大家说一下,怎么对android library 发布使用。
打包android library
对android library 进行打包直接在library项目下面使用gradle build 即可,然后,你就会在 build/libs 目录下看到两个*.aar文件,一个debug包用的,一个是release 下用的,看个人需求使用,这里我们用的是release 版本的 .aar 文件。
引用脚本跟前面讲的依赖库相似
dependencies { compile(name: 'pulltorefresh', ext: 'aar') }
最后,分享个maven库地址:http://mvnrepository.com/
发表评论
-
带你深入理解 FLUTTER 中的字体“冷”知识
2020-08-10 23:40 564本篇将带你深入理解 Flutter 开发过程中关于字体和文 ... -
Flutter -自定义日历组件
2020-03-01 17:56 1019颜色文件和屏幕适配的文件 可以自己给定 import ... -
Dart高级(一)——泛型与Json To Bean
2020-02-23 19:13 921从 Flutter 发布到现在, 越来越多人开始尝试使用 Da ... -
flutter loading、Progress进度条
2020-02-21 17:03 1026Flutter Progress 1 条形无固定值进度条 ... -
Flutter使用Https加载图片
2020-02-21 01:39 893Flutter使用Https加载图片 使用http加载图片出 ... -
flutter shared_preferences 异步变同步
2020-02-21 00:55 761前言 引用 在开发原生iOS或Native应用时,一般有判断上 ... -
Flutter TextField边框颜色
2020-02-19 21:31 848监听要销毁 myController.dispose(); T ... -
flutter Future的正确用法
2020-02-18 21:55 724在flutter中经常会用到异步任务,dart中异步任务异步处 ... -
记一次Flutter简单粗暴处理HTTPS证书检验方法
2020-02-18 14:13 820最近在做Flutter项目到了遇到一个无解的事情,当使用Ima ... -
flutter 获取屏幕宽度高度 通知栏高度等屏幕信息
2019-07-27 08:39 1219##MediaQuery MediaQuery.of(con ... -
关于flutter RefreshIndicator扩展listview下拉刷新的问题
2019-07-10 19:40 989当条目过少时listview某些嵌套情况下可能不会滚动(条目 ... -
flutter listview 改变状态的时候一直无限添加
2019-07-10 16:01 671setstate的时候会一直无限的调用listview.bui ... -
Flutter Android端启动白屏问题的解决
2019-07-09 00:51 1396问题描述 Flutter 应用在 Android 端上启动时 ... -
Flutter中SnackBar使用
2019-07-08 23:43 675底部弹出,然后在指定时间后消失。 注意: build(Bui ... -
Flutter 之点击空白区域收起键盘
2019-07-08 18:43 1654点击空白处取消TextField焦点这个需求是非常简单的,在学 ... -
Flutter 弹窗 Dialog ,AlertDialog,IOS风格
2019-07-08 18:04 1287import 'package:flutter/mate ... -
flutter ---TextField 之 输入类型、长度限制
2019-07-08 14:30 2192TextField想要实现输入类型、长度限制需要先引入impo ... -
【flutter 溢出BUG】键盘上显示bottom overflowed by 104 PIXELS
2019-07-08 11:13 1437一开始直接使用Scaffold布局,body:new Colu ... -
解决Flutter项目卡在Initializing gradle...界面的问题
2019-07-07 12:53 787Flutter最近很火,我抽出了一点时间对Flutter进行了 ... -
关于android O 上 NotificationChannel 的一些注意事项
2019-07-04 11:47 882最近在适配android O,遇到个问题,应用中原本有设置界面 ...
相关推荐
Android Studio Gradle 配置 文档
记录两种不同Gradle版本下配置dex分包的方式。http://blog.csdn.net/q1113225201/article/details/53242203
androidstudio gradle文件下载,下载地址:https://downloads.gradle-dn.com/distributions/gradle-5.4.1-all.zip,其他版本直接改版本号,因为as自动下载太慢,所以建议手动下载解压覆盖
Android studio 配置gradle 2.3.1 插件所需pom、jar文件
Android 开发配置studio gradle 插件文件:pom、jar; 该资源包含gradle-2.2.3的插件文件;
主要为大家详细介绍了Android studio gradle环境变量配置教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
Android studio 自定义安装(jdk配置、gradle配置以及模拟机配置)
然后,在内网电脑上安装Android Studio,将联网电脑上已加载的资源拷贝到离线电脑并配置maven本地依赖。 主要需要以下内容: 1. C:\Users\Administrator\.android,.android文件下创建名为manual-offline-m2的文件夹...
配置a配置android studio3.6.3 gradle 编译报错 连接超时
在线URL下载超时,通过离线下载安装Android studio gradle插件;包含gradle-8.4-bin.zip和gradle-8.4-all.zip,以及一个gradle-wrapper.properties配置文件,下载即可使用,不需联网
请把文件复制在User/.gradle/文件路径下面完成android studio加速,并重新启动AS
使用 Android Studio 开发时经常遇到编译卡住的问题,原因是 Gradle 下载依赖资源过慢。没办法,有长城在,还是得换镜像。 同样,这是个普遍存在的问题,我们希望可以对它进行全局配置。在 .gradle (路径参考 C:\...
主要介绍了gradle配置国内镜像的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
第一步:下载需要的gradle,根据提示的错误来,我上次提示的是不能下载gradle-5.4-all.zip 需要的打开这个网站 第二步:下载好后,打开C:\Users\xxxx\.gradle\wrapper\...第三步:重启android-studio即可自动安装,
android studio 配置gradle 使用android.mk进行编译jni,简单的jni调用,使用android.mk进行编译,注意事项:app下的gradle,以及编译生成的 .h文件,复制修改为 .cpp时,里面的文件的宏逻辑,最好去掉这个宏(#...
Android Studio 通过 gradle配置,实现同时打多个不同包名的包
Android Studio依赖远程的gradle文件示例
AndroidStudio由于使用了gradle的进行项目构建,使我们开发app方便很多,今天我就给大家列出几点是用gradle的方便之处。 一、AndroidStudio Gradle第三依赖统一管理 二、AndroidStudio Gradle基于友盟的多渠道打包 ...