gradle执行打包并导出Apk到指定文件夹

使用Gradle打包apk 前提 Eclipse 4.4.1 ADT 23.0.4 Gradle 2.2.1 流程: 1.安装gradle以及配置环境变量就不多说了,网上搜一下一大堆。 2.首先在eclipse中选中的自己项目,然后export-》Android-》Genearte Gradle build files 此时,会在项目文件的最下面会出现一个build.gradle的文件,这个就是grad 阅读详情

例:build.gradle(:app)配置如下

...

 buildTypes {
        release {
         ...
        }
      
        debug {
          ...
        }
    }


    productFlavors {
        product {
            ...
        }
        
        develop {
            ...
        }
    }
    
    

通过自定义复制Task实现打包并导出到指定文件夹实现如下:

def releaseTime = new Date().format("yyyy-MM-dd_HH-mm", TimeZone.getTimeZone("GMT+8"))
def versionName = android.defaultConfig.versionName

def defaultDestinationPath = rootDir.getAbsolutePath() +
        "${File.separator}package-output${File.separator}"
def defaultNewFileName = "App_${versionName}_${releaseTime}_release.apk"

android.applicationVariants.all { variant ->
     //取正式发布环境
    if ("product" == variant.productFlavors[0].name && "release" == variant.buildType.name) {
        def releaseCollect = project.task('CollectApk', type: Copy)
        String outputApkPath =
                variant.getPackageApplicationProvider().get().outputDirectory.getAsFile().get().getPath() +
                File.separator +
                variant.getPackageApplicationProvider().get().outputScope.getMainSplit().outputFileName
                    
        releaseCollect.doFirst {
            if (!file(defaultDestinationPath).exists()) {
                file(defaultDestinationPath).mkdirs()
            }
        }
        releaseCollect.from(outputApkPath)
        releaseCollect.into(defaultDestinationPath)
        releaseCollect.rename { defaultNewFileName }
        releaseCollect.outputs.file(defaultNewFileName)
        releaseCollect.dependsOn project.tasks.getByName(
                "assemble"
                        + "${variant.productFlavors[0].name.capitalize()}"
                        + "${variant.buildType.name.capitalize()}")

        if (variant.buildType.minifyEnabled) {
            variant.getAssembleProvider().get().doLast {
                copy {
                    from variant.mappingFile
                    into "${defaultDestinationPath}" +
                            "${File.separator}mappings" +
                            "-${android.defaultConfig.versionCode}" +
                            "-${android.defaultConfig.versionName}" +
                            "-$releaseTime"
                    rename { String fileName ->
                        "mapping-${flavorName}.txt"
                    }
                }
            }
        }
    }

}

javaFX打包成android的apk详细步骤 因为工作需要,需要将javafx打包apk,在网上找了一些实例,研究了几天,也成功的打包成了apk,下面我将详细的说一下步骤,每一步都有截图 第一步,准备工作 1.安装,android sdk,且配置环境变量。 2.下载根据官方改的示例,解压。 第二步,命令行打包 ... 阅读详情

相关推荐

Unity离线/内网Gradle打包Apk

一切源于内网外隔离。Unity版本为2018.4.17 1.下载Android SDK和NDK。 网上一大堆攻略烂大街,不赘述。 我是从Android官网下载 Android Studio3.4版本,然后通过里面的SDK Manager下载SDK和NDK。 把它们传到内网,找个位置放着。 Unity点击菜单Editor->Preferences->External Tools,把SD...

a40210042的博客 3407

最新最全Android Gradle 自定义打包输出路径和文件名,复制到某一文件夹

最新最全的安卓打包文件名修改,基于android studio 4.1 gradle 6.5 附加低版本gradle适配

我的博客 7937

VSCode开发react-native app进行android apk打包

生成keystore密钥 keytool -genkey -v -keystore my-test.keystore -alias androiddebugkey -keyalg RSA -keysize 2048 -validity 10000 输入密钥口令,然后确认口令,接下来输入必要的信息,会生成一个keystore文件,这个文件就在命令执行的路径 设置gradle的环境变量 1、把keystore文件放到你工程中的android/app文件夹下(app/assert/my-test.

chali1314的博客 3272

Gradle 命令行打包APK,输出指定路径

Window系统下: 1.打开命令行工具 2.切换到gradlew的路径下 举例: cd C:\Users\54225\Desktop\myProject\My 3. 命令行输入: gradlew assembleDebug 在build\Output中生成deb...

3205

as通过gradle实现多渠道打包+使用配置文件进行版本管理+指定apk输出路径和apk文件名

as通过gradle实现多渠道打包+使用配置文件进行版本管理+指定apk输出路径和apk文件名这几天的工作,主要是忙着进行Jenkins+Gradle实现app多渠道持续打包发布的工作,因为开发平台刚转到android studio,什么都不熟,这三天就是一边摸索一边干活,现在弄好了,就记录一下自己在这个过程中的所得。既然是使用Gradle进行打包,那么少不了学习android一些基本的gradle

沉思的猿某人的专栏 9662

【Android】配置Gradle打包apk的环境

通过下面这张图可以看到已经生成秘钥文件了,如果你的目录结构跟我的不一样,注意看图中的左上角,我选择的是Project的结构,你的应该是Android目录结构。如果你没有看到生成的秘钥文件,需要你鼠标右键app目录,选择Reload from Disk刷新下即可。我们需要先在项目的根目录新建一个keystore.properties文件,这个文件是用来将秘钥信息给抽离出来的。上面这步是用来打包的,我们只需要生成秘钥文件,现在不需要打包,取消即可。在菜单栏中,依次点击。

提笔忘字的帝国 6037

Android---使用Gradle生成APK文件

使用Gradle生成APK文件 1、编辑 app/build.gradle 文件,在 android 闭包中添加如下内容 可以看到,在android闭包中添加了一个signingConfigs的闭包,在signingConfigs又添加了一个config的闭包。接着在config的闭包中配置keystore文件的各种信息 storeFile:指定keystore文件的位置 stor

strong90的博客 9226

Unity2019使用Gradle打包Apk的问题

Unity2019提供了全套的Android打包工具,使用UnityHub安装时把这些工具全选就行了,但是gradle插件是需要在打包时自动下载的,因此打包时可能会因为各种原因出现错误。 关于打包Gradle出错的问题 首先最主要的问题就是gradle联网下载插件是连接的谷歌,解决方案是科学上网,如果没有科学上网工具的话也可以使用阿里提供的仓库来下载,这需要修改一下gradle的配置文件,配置文...

JousonRen的博客 3万+

gradle命令打包apk

1.之前一直用android studio 的generate Signed APK方式打包apk,最近同事都是用命令行来打包感觉逼格有点高,学习了下以记录,前提是要在module的build.gradle 文件下匹配值如下文件2.打开cmd命令行,使用gradle命令3.如果没有配置gradle 环境变量的如下图:接着把GRADLE_HOME添加到Path中如下图:如果gradle配置成功如下图...

cencibuqi的博客 2万+

android studio 自动签名打包,拷贝apk指定目录

android studio build.gradle中配置实现自动签名打包,重命名apk,拷贝apk指定目录 序言 目前android开发基本上都是在android studio上进行的,而android studio是使用的gradle进行项目构建的,不同于之前使用eclipse时使用的ant脚本构建,gradle的语法更加的灵活强大,gradle可以使用groovy进行编写,但是本...

fight__fight的博客 7972

Unity2018导出Android工程自行生成apk(总)

所用版本unity2018.4.19 打包流程:使用unity的gradle导出工程,在导出的工程中添加androidstudio生成的库工程以及做其他的设置,使用gradle打包最终的apk。 下面是在这个过程中遇到的一些问题进行记录。 1.如果需要开启自定义的.gradle文件,要勾选Playersetting中android的custom gradle template: 会自动生成一个mainTemplate.gradle 文件,然后对这个文件进行自定义的修改(适配后续需要添加的and.

u012138730的专栏 1万+

gradle 指定导出包的名字和路径

为了方便识别apk文件,一般我们都希望通过androoid studio打包的文件,会带上app的名字,时间,之类的,使用多渠道打包的时候,还希望带上渠道名称 以前我都这样做 //修改生成的apk名字 android{ applicationVariants.all { variant -> if (variant.buildType.name...

Caesar Home 6464

Android Gradle 多版本多APK打包,修改生成APK名称

前言在之前写过Android 多渠道打包的文章,可以发布不同APP商店的版本。有时候,我们也会遇到这样的需求,就是应用可能有一个测试版,线上版本等不同版本,可能不同的版本的一些配置信息不同,比如服务器地址,应用名称,图标等,如果我们在每安装一个版本的时候,都去代码里边更改这些值的话,就会显得很繁琐,而且效率很低。下边就说一下如何利用Gradle高效的实现这一需求!多版本打包首先,我们要对app的bu

苦逼的程序猿☺ 1万+

理解使用Gradle编译打包Android apk

本篇的目的:理解Gradle构建过程,解读Android Gradle插件的配置,提供如何寻找解决问题方法的思路。阅读本文一定是要使用过Gradle生成apk,文中不会讲如何安装运行Gradle,如有需要可先看文末的参考文章。APK包是一个ZIP压缩包,从Java源代码、资源文件到生成这个APK,经过了编译打包一系列特定的过程,这个过程可以参看《使用Ant打包Android应用——apk生成过程》

要想到做到 7855

Android开发Android studio之gradle打包apk重命名的方法

老套路,先看效果图: 首先第一步在gradle里面写个获取当前时间的方法如下: //获取时间的方法 GMT+8代表北京时间 static def getNowTime() { return new Date().format("yyyy-MM-dd HH-mm-ss", TimeZone.getTimeZone("GMT+8")) } 然后写重命名apk的方法: /**...

xiayiye5的博客 2206

gradle新建文件夹打包_vue 打包 exe或apk

首先打包vue,这个就不多说了,学vue的应该都会1、下载项目 https://github.com/electron/electron-quick-start下载以后解压2、将自己项目vue打包后的dist拷贝到项目 electron-quick-start 中的dist3、修改路径// main.js 原始内容 mainWindow.loadFile('index.html') // 修改后的...

weixin_28799111的博客 603

记录gradle命令行打包apk

记录使用gradle打包

deng_ta的专栏 4436

破解Gradle(八) 从Gradle Plugin 构建看APK打包流程解析

目前,Android在进行构建APK,最常用到的就是Gradle打包。而要了解Android Apk打包的过程,就要深入了解Gradle Plugin的整个构建过程,在了解了之后,我们才能对Gradle Plugin开发游刃有余。 我们先了解一下APK内部的结构: 一、Android APK包结构 来看看一个正常的APK的结构。 我们可以打开build–outputs–apk–debug下的apk文件,就得到了下图,通常一个APK打包完之后,会有下面几个目录,用来存放不同的文件。 class.dex ja

Lebron_xia的博客 4378
上一篇: RSA 非对称加密算法的Java实现
下一篇: Android Gradle Plugin v3.6.0/3.6.1 构建Bug
millerkevin
博客等级 码龄11年 7粉丝 43原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值