首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用shell脚本的Android自定义任务在构建时无法工作

问使用shell脚本的Android自定义任务在构建时无法工作
EN

Stack Overflow用户
提问于 2019-06-07 12:58:11
回答 1查看 239关注 0票数 2

我加密了一个文件(API密钥,密码等),加进了代码库。我需要添加一个自定义任务(任务encIt)来解密文件(将调用decrypt.sh解密),.This任务被添加到build.gradle文件中。

我通过从终端调用"gradle encIt“对此进行了测试,它运行良好(按预期解密文件),但每次构建gradle时都需要这样做;如何实现?

这是一项任务:

代码语言:javascript
复制
     task encIt(type:Exec) {
       println("WORKING")
       commandLine "./decrypt.sh"
       println("WORKING")
     }

这是脚本文件:

代码语言:javascript
复制
   #!/usr/bin/env sh
   echo "inside working"
   openssl enc -aes-256-cbc -d  -in ../encrypted.key   -out  key.txt                     -pass pass:Abcdk5551
  echo "inside working"

我测试过这个

senario 1:gradle encIt

代码语言:javascript
复制
 result : WORKING
          inside working
          inside working
          WORKING
   The file is decrypted

塞纳里奥1:梯度/梯度(无争论)

代码语言:javascript
复制
 result : WORKING
          WORKING
   The file is not getting decrypted

请帮帮忙!

使用gradle版本5.4.1 macbook 3.4.1

EN

回答 1

Stack Overflow用户

发布于 2019-09-12 06:03:01

编辑app/build.gradle,添加以下代码

代码语言:javascript
复制
task encIt(type:Exec) {
    println("WORKING")
    commandLine "./decrypt.sh"
    println("WORKING")
}

afterEvaluate {
    assembleDebug.dependsOn encIt
    assembleRelease.dependsOn encIt
}

它的作用是:

  1. 单击Android上的run按钮
  2. 运行./gradlew build
  3. 运行./gradlew assemble
  4. 运行./gradlew assembleDebug
  5. 运行./gradlew assembleRelease
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56494841

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档