最近要做一个 android 产品的变种版本,需要编出不同版本,每个版本有不同的包名.图标等等,和一些特有的逻辑. 很久之前做过类似的工作,当时没有 gradle, 用的方法是把公共代码抽成一个 library,不同版本建一个工程引用公共 libery.但是这种方法每个版本要建一个工程,工作量较大,并且会有一些重复代码,不好维护. 现在的工程是用 gradle 构建的,网上查了一下应该用 product flavors 做这个事情,之前没接触过,现在把方法记录在这里. 定义多版本 Product…
深入理解gradle编译-Android基础篇 导读 Gradle基于Groovy的特定领域语言(DSL)编写的一种自动化建构工具,Groovy作为一种高级语言由Java代码实现,本文将对Gradle一些常见问题进行一一介绍: 理解Gradle与android app之间的关系,以及Gradle需要构建的build文件. 在Android Studio中执行Gradle命令. 在Android app添加java库文件. 将eclipse工程导入Eclipse ADT工程 如何为一个APK文件进…
在项目开发过程中,经常会有需要打包不同版本的 APK 的需求. 比如 debug版,release版,dev版等等. 有时候不同的版本中使用到的不同的服务端api域名也不相同. 比如 debug_api.com,release_api.com,dev_api.com等等. 不同的版本对应了不同的 api 域名,还可能对应不同的 icon 等. 如果每次都在打包前修改我们都手动来修改,这样实在是不够方便. 但如果我们使用了 Android Studio 和 Gradle,这个麻烦就可以轻松省去.…
在项目开发过程中,经常会有需要打包不同版本的 APK 的需求. 比如 debug版,release版,dev版等等. 有时候不同的版本中使用到的不同的服务端api域名也不相同. 比如 debug_api.com,release_api.com,dev_api.com等等. 不同的版本对应了不同的 api 域名,还可能对应不同的 icon 等. 如果每次都在打包前修改我们都手动来修改,这样实在是不够方便. 但如果我们使用了 Android Studio 和 Gradle,这个麻烦就可以轻松省去.…
初学者遇到 Android Studio, 导入工程后, 会出现各种奇葩错误, 如果管理好各个插件, gradle, SDK, SDK Tools, 各种官方依赖库 的版本, 会将错误大大的减少; 这里将常用的 Android Studio 常用的 相关版本 总结下. 相关网站 : -- Android中support库的版本 : http://blog.liudonghua.com/?p=326; -- 官方文档 : https://developer.android.com/topic/li…
一.环境的搭建: 首先搭建好AndroidStudio环境.我使用的是Ubuntu 12.04系统(由于此机器还要运行其他程序,为避免兼容性问题,暂未更新到最新,而继续沿用此稳定版),java和jdk都是现成的,无需配置.FQ后从Google网站http://developer.android.com/sdk/index.htm下载最新的AndroidStudio for Linux.之后更新SDK. 一切顺利,将所有2.2之后的SDK下载完毕,就可以进行项目的开发了. 二.问题的产生 完成后,…
目录 Android如何提升Gradle编译速度或减少Gradle编译时间 最终优化方案 优化效果比对 将所有项目源码,各种缓存临时目录都移动到高性能SSD磁盘上 gradle.properties 配置 碰到的问题 3. Android Studio 设置里勾选了自动编译功能却无效的问题? 2. 在 Gradle Scan报告里 Timeline - FROM-CACHE - Build cache result - Unpack 时间耗时很长怎么办? 1. 按照 参考资料: Android项…
错误提示 * What went wrong: A problem occurred evaluating project ':App'. > Failed to apply plugin 'com.android.internal.application'. > Android Gradle plugin requires Java 11 to run. You are currently using Java 1.8. You can try some of the following o…
Gradle project sync failed Android Studio每次更新版本都会更新Gradle这个插件,但由于长城的问题每次更新都是失败,又是停止在Refreshing Gradle Project ,有时新建项目的时候报 Gradle Project Compile Error 等等相关的问题 解决这些问题办法是 首先打开android studio项目 找到项目目录gradle\wrapper\gradle-wrapper.properties这个文件 内容如下 #Wed…
引言:经过上两篇的论述,我们已经从代码到架构都简单的熟悉了一遍,理论上,只要知道android app的编译过程,我们大可以自己写一份用gradle编译app的插件,插件内将将整个流程用Task的依赖串联起来.现在我们看看gradle是怎么做的. 复习,android 编译流程 面试中经常出现的问题,android的编译流程.这个问题十分简单和好记.android是用java来开发的,所以最基本的流程和java一致:.java -> .class.android有着自己独特的虚拟机环境dalvi…