您的位置:首页 > 移动开发 > Android开发

Android Gradle复制打包的apk到固定目录

2015-01-12 23:51 337 查看
最近项目开发工具由原先的Eclipse转移到Android Studio,原先的打包工具由ant转化到gradle。

原先写过用python重名多渠道打包的apk,现在由于使用的时Android Studio,项目编译使用的时Gradle,同事Gradle是基于Groovy的,反正也是一种类似Pythong的脚本语言。

这个语言是基于Jvm的,就是说,你开发的Java程序完全可以在这个上面跑,同时可以在gradle中编写Java代码。

项目中apk编译生成的apk存放的目录在

${Project}/app/build/outputs/apk

中,而且我使用还是mac系统,在Android studio中完全看不到这个目录,每次去获取apk的时候,非常麻烦,所以我写了下面的脚本,自动复制和重名生成的apk。

命名格式如下所示,

 // eg: org.liushui.test_v1.0.20_20150107151516_realse_site.apk

String appName = String.format("%s_v%s_%s_%s_%s.apk", applicationId, versionName, time, buildType, channel);

如果你会Java的话,那么上面的代码则是很容理解的。

下面是主要的脚本,放到${Project}/app/build.grale中即可。

apply plugin: 'com.android.application'

android {
// ***
}

dependencies {
// *****
}
/// **********************下面的代码才是最主要的*************************
build {
    doLast {
        def fileName = "app-release.apk"
        def fromFile = "./build/outputs/apk/" + fileName
        def intoFile = "./outapks/"

        def applicationId = android.defaultConfig.applicationId
        def versionName = android.defaultConfig.versionName
        def time = new java.text.SimpleDateFormat("yyyyMMddHHmmss").format(new Date())
        def buildType = "realse"
        def channel = "site"

        def appName = "${applicationId}_v${versionName}_${time}_${buildType}_${channel}.apk"

        // copy --> rename
        copy {
            from fromFile
            into intoFile

            rename {
                appName
            }
        }

        println("=====================build.doLast success.=========================")
    }
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Android Gradle 打包 工具
相关文章推荐