Android Gradle復制打包的apk到固定目錄
來自: http://blog.csdn.net//guijiaoba/article/details/42655437
最近項目開發工具由原先的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.=========================")
}
} 本文由用戶 fldm 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!