
個人覺得目錄結構有些冗余,比如渠道包很多,批量打包后就變成了這樣,加固、發(fā)送給運營人員不太方便:

網(wǎng)上各種修改路徑的方法:
android {
android.applicationVariants.all { variant ->
variant.outputs.all {
variant.getPackageApplication().outputDirectory = new File(project.rootDir.absolutePath + "/app/build/outputs/apk")
outputFileName = "leo_v${variant.versionName}${variant.productFlavors[0].name}_${variant.buildType.name}_${new Date().format("yyyyMMdd")}.apk"
}
}
}
}
emmm,確實有用的,但是這樣我點擊 run 按鈕會報這個錯,不知道其他人的電腦會不會這樣:
Google 了一會兒,參考這個帖子 https://stackoverflow.com/questions/46985530/change-apk-output-folder-in-gradle-4-1 ,改成了
android.applicationVariants.all { variant ->
variant.outputs.all {
outputFileName = "../../leo_v${variant.versionName}${variant.productFlavors[0].name}_${variant.buildType.name}_${new Date().format("yyyyMMdd")}.apk"
}
}
OK 了,搞定!!
Tips
另外再分享個小技巧,一個打包的小腳本,比如我們公司的產(chǎn)品是樂偶云,命令行輸入 leo ,腳本會一次運行 clean、build、打開文件瀏覽器,然后就可以直接把包發(fā)給測試小姐姐啦~~
- 打開終端,輸入 open ~/.zshrc
- 在末尾添加
alias leo="/Users/name/Documents/MyProject;
../LeoMarketing/gradlew clean;
../LeoMarketing/gradlew assemble_testDebug;
open /Users/Documents/apk"
(/Users/name/Documents/MyProject 和 /Users/Documents/apk換成你的項目地址和打包的輸出路徑,是絕對地址)
- 保存,重啟終端,輸入 leo
【關鍵詞】gradle4 打包 修改路徑 outputFileName outputDirectory 無法運行 does not exist on disk