主机名不能为空

Posted

技术标签:

【中文标题】主机名不能为空【英文标题】:Host name may not be empty 【发布时间】:2020-09-19 12:34:05 【问题描述】:

升级我的 android Studio 后,每当我想生成一个签名的 Apk 时都会收到此错误(没有任何关于问题所在的详细信息)。刚建Apk的时候没有问题。

The Host name may not be empty

【问题讨论】:

【参考方案1】:

检查您的 Gradle 脚本根目录。如果有这个文件:gradle.properties(全局属性),检查值是否正确。

就我而言,我删除了所有这些属性,我的问题解决了

systemProp.http.proxyHost=
systemProp.http.proxyPort=80
systemProp.https.proxyHost=
systemProp.https.proxyPort=80

【讨论】:

@RaviParmar 可能在不同情况下会发生此错误。对于我的问题,它有效 文件位置:~/.gradle/gradle.properties 我有同样的问题,但这个解决方案不适合我 对于 Windows,它位于 C:\Users\username\.gradle\ 文件夹中【参考方案2】:

uploadMappingFile 可能有问题

在您的应用级 build.gradle 文件中将 firebaseCrashlytics.enableMappingFileUpload Gradle 扩展属性设置为 true。

// To enable Crashlytics mapping file upload for specific product flavors:
  flavorDimensions "environment"
  productFlavors 
    staging 
      dimension "environment"
      ...
      firebaseCrashlytics 
        mappingFileUploadEnabled false
      
    
    prod 
      dimension "environment"
      ...
      firebaseCrashlytics 
        mappingFileUploadEnabled true
      
    
  

更多详情请访问here

【讨论】:

这对我有帮助。许多其他建议没有,但这个建议。谢谢【参考方案3】:

是的,问题从 AS 4.0 开始。这是更清晰的修复...(因为有些人可能认为 "gradle.properties" 这里所说的文件是 AS 项目中的,而不是全局的。

从您 PC gradle 安装位置的 "gradle.propeties" 文件中删除以下行

systemProp.http.proxyHost= systemProp.https.proxyHost= systemProp.https.proxyPort=80 systemProp.http.proxyPort=80

如下图所示,这是 gradle.propeties 文件的典型文件位置

现在在您的项目和 VIOLA 中单击重建...问题解决了

【讨论】:

工作。谢谢。【参考方案4】:

我遇到了同样的问题,我通过应用 Proguard 规则解决了这个问题,

https://firebase.google.com/docs/crashlytics/get-deobfuscated-reports?platform=android

在项目 proguard-rules.pro 中

-keepattributes SourceFile,LineNumberTable -keep public class * 扩展 java.lang.Exception

分级

firebaseCrashlytics mappingFileUploadEnabled true

【讨论】:

【参考方案5】:

此问题是由于您的 res 目录中的空 xml 文件引起的。在 explorer/finder 中打开 res 目录,根据它们的大小对所有 xml 进行排序。找到 0kb / 空 xml 的 xml 并将其删除。现在您可以创建已签名的捆绑 apk。

【讨论】:

以上是关于主机名不能为空的主要内容,如果未能解决你的问题,请参考以下文章

ORACLE SQL Developer 所需的属性主机名不能为空或为空

主机名不能为空并出现错误:任务“:app:uploadCrashlyticsMappingFileRelease”执行失败

MySql初步学习

centos7主机名修改

利用iis创建网站后为什么不能设置主机名

iis为啥不能通过主机名登陆网页?