当前位置: 首页 > 知识库问答 >
问题:

使用Android Studio在gradle中正确使用系统环境变量的方法

公良信然
2023-03-14

我正在使用Android Studio在Ubuntu14.04系统上构建我的项目。

signingConfigs {
 debug {

    storeFile file(System.getenv("KEYSTORE"))
    storePassword System.getenv("KEYSTORE_PASSWORD")
    keyAlias System.getenv("KEY_ALIAS")
    keyPassword System.getenv("KEY_PASSWORD")        
 }

但是gradle sync错误出以下错误:错误:(49,0)路径和基目录都不能为null或空字符串。path='null'basedir='./pathto/tmessagesproj'

My.bashrc包含:源~/.gradlerc和My~/.gradlerc包含以下内容:

export KEYSTORE="/home/myname/keystore/mykey"
export KEYSTORE_PASSWORD='mypass'
export KEY_ALIAS='mykey'
export KEY_PASSWORD='keypass'

我已经确认shell正确导入了这些变量。然而,我不确定为什么Android Studio的构建环境没有接收到它。

在Gradle中使用环境变量的正确方法是什么?

共有1个答案

端木澄邈
2023-03-14

我也喜欢在我的环境变量上拥有我的密钥库信息,而不是在项目中拥有它。您的代码看起来很好,但我在文件路径上遇到了同样的问题。我通过在将该值传递给文件()之前将其转换为字符串来解决这个问题:

signingConfigs {
 debug {
    storeFile file(String.valueOf(System.getenv("KEYSTORE")))
    storePassword System.getenv("KEYSTORE_PASSWORD")
    keyAlias System.getenv("KEY_ALIAS")
    keyPassword System.getenv("KEY_PASSWORD")        
 }

希望这有帮助。

 类似资料:
  • 问题内容: 是否可以在log4j xml配置文件中引用系统环境变量(与Java系统属性相反)? 我希望能够执行以下操作: 并使其从系统环境变量中获取,因此我可以避免必须通过-D参数传递太多内容。 问题答案: 仅在log4j 2.X中记录了此语法,因此请确保使用正确的版本。它不适用于1.X版本。

  • 问题内容: Java是否具有默认的“系统环境变量”,当我们设置它时将始终读取/附加它?/ etc似乎仅适用于TOMCAT / JBOSS等。 我不想通过Java系统属性(通过-Dprop1 = value1 -Dprop2 = value2传递)来设置它,因为它涉及shell / batch脚本。 它应可跨操作系统使用,例如Windows中的双击jar文件。 它应该可以在不同的JRE(Sun,IB

  • 问题内容: 我一直在阅读官方文档,但无法找到有关环境变量的任何信息。显然,有一些社区项目支持环境变量,但这对我来说可能是过大了。所以我想知道在使用Vue CLI创建的项目上是否有一些简单的开箱即用的功能可以正常工作。 例如,我可以看到,如果执行以下操作,则会打印出正确的环境,这意味着已经设置好了吗? 我对环境变量和Node有点陌生。 仅供参考,使用Vue CLI 3.0 beta版。 问题答案:

  • 最佳实践最好在values.yaml文件中定义环境变量还是在templates/deployment.yaml放入中定义环境变量? 如果有您使用的示例应用程序,您能提供帮助吗?

  • 本文向大家介绍python访问系统环境变量的方法,包括了python访问系统环境变量的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了python访问系统环境变量的方法。分享给大家供大家参考。具体如下: 希望本文所述对大家的Python程序设计有所帮助。

  • 本文向大家介绍PowerShell获取系统环境变量的方法,包括了PowerShell获取系统环境变量的方法的使用技巧和注意事项,需要的朋友参考一下 本文介绍在PowerShell中,如何获取环境变量的值。可以列出所有的环境变量,也可以指定通过变量名称来获取环境变量的值。 在开发过程中,经常需要用到环境变量(比如当前计算机名、登录的用户名、Path环境变量等),那么在PowerShell中如何知道有