我已经加密了添加在代码库中的文件(API密钥,密码等)。我需要添加一个自定义任务(任务encIt)来解密文件(将调用crypto.sh进行解密)。此任务添加在build.gradle文件中。
我已经通过从终端调用“ gradle encIt ”进行了测试,它可以正常工作(按预期方式解密文件),但是我需要在每次构建gradle时都做到这一点;怎么做?
这是任务:
task encIt(type:Exec) {
println("WORKING")
commandLine "./decrypt.sh"
println("WORKING")
}
这是脚本文件:
#!/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:渐变加密
result : WORKING
inside working
inside working
WORKING
The file is decrypted
senario 1:gradle / gradlew(无参数)
result : WORKING
WORKING
The file is not getting decrypted
请帮助!
使用gradle版本5.4.1 的MacBook Pro android studio 3.4.1
答案 0 :(得分:1)
编辑app/build.gradle
,在代码下方添加
task encIt(type:Exec) {
println("WORKING")
commandLine "./decrypt.sh"
println("WORKING")
}
afterEvaluate {
assembleDebug.dependsOn encIt
assembleRelease.dependsOn encIt
}
它与:
run
按钮./gradlew build
./gradlew assemble
./gradlew assembleDebug
./gradlew assembleRelease