我已经设置了使用fastlane进行持续部署,处理我对发布应用程序的代码签名,令人讨厌的是,当我在我的机器上运行调试时,android工作室失败,因为它无法找到路径它们(它们被声明为env变量,如下所示)。我可以通过为env变量创建虚拟数据来解决这个问题,但是除非它正在运行一个发布版本,否则安卓工作室会忽略这段代码。
所以在我app/build.gradle
后defaultConfig
signingConfigs {
release {
storeFile file(System.getenv("MYAPP_STOREFILE"))
storePassword System.getenv("MYAPP_STORE_PASSWORD")
keyAlias System.getenv("MYAPP_KEY_ALIAS")
keyPassword System.getenv("MYAPP_KEY_PASSWORD")
}
}
我认为把它放在release
之下就可以了,但没有运气:/
答案 0 :(得分:1)
不是一个超级优雅的解决方案,只是用try-catch包装它?
signingConfigs {
release {
try {
storeFile file(System.getenv("MYAPP_STOREFILE"))
storePassword System.getenv("MYAPP_STORE_PASSWORD")
keyAlias System.getenv("MYAPP_KEY_ALIAS")
keyPassword System.getenv("MYAPP_KEY_PASSWORD")
} catch (Exception ignored) {
// Do stuff or just ignore
}
}
}
如果您不想尝试尝试,可以尝试以下方法:
signingConfigs {
release {
storeFile System.getenv("MYAPP_STOREFILE") ? file(System.getenv("MYAPP_STOREFILE")) : null
storePassword System.getenv("MYAPP_STORE_PASSWORD")
keyAlias System.getenv("MYAPP_KEY_ALIAS")
keyPassword System.getenv("MYAPP_KEY_PASSWORD")
}
}