關于使用 Gradle4打包出現(xiàn)的一些問題

最近換到了 gradle4,打包文件路徑變成了下面這種:

個人覺得目錄結構有些冗余,比如渠道包很多,批量打包后就變成了這樣,加固、發(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ā)給測試小姐姐啦~~

  1. 打開終端,輸入 open ~/.zshrc
  2. 在末尾添加
alias leo="/Users/name/Documents/MyProject;
../LeoMarketing/gradlew clean;
../LeoMarketing/gradlew assemble_testDebug;
open /Users/Documents/apk"

(/Users/name/Documents/MyProject 和 /Users/Documents/apk換成你的項目地址和打包的輸出路徑,是絕對地址)

  1. 保存,重啟終端,輸入 leo

【關鍵詞】gradle4 打包 修改路徑 outputFileName outputDirectory 無法運行 does not exist on disk

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

友情鏈接更多精彩內容