主机名不能为空。

20
升级了Android Studio之后,每当我想生成签名的Apk时都会出现这个错误(没有任何详细信息说明问题出在哪里)。仅构建Apk时没有问题。
The Host name may not be empty
8个回答

49

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

在我的情况下,我删除了所有这些属性,然后我的问题得到解决。

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

@RaviParmar 或许这个错误会在不同情况下出现。对于我的问题,它起作用了。 - Mona Baharlou
2
文件位置:~/.gradle/gradle.properties - DoronK
1
我有同样的问题,但这个解决方案对我不起作用。 - iffan majid
1
对于Windows系统,它位于C:\Users{username}.gradle\文件夹中。 - Nikunj Paradva
2
更具体地说,它是系统级别的 ./gradle 目录,其中包含 gradle.properties 文件。例如,对于 Mac 路径为 /Users/[username]/.gradle/gradle.properties - pRaNaY

12
可能是上传映射文件(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
      }
    }
  }

欲了解更多详情,请访问此处


1
这个对我很有帮助。许多其他的建议都没有用,但是这个确实有用。谢谢。 - Konstantin Kozirev

10

是的,问题始于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文件。

enter image description here

enter image description here

现在在您的项目中点击“重建”,问题解决。


工作完成。谢谢。 - Rafael Pereira Ramos
谢谢您添加图片。它绝对有效。 - Raj Kanchan

0

这个问题是由于您的res目录中存在空xml文件引起的。在资源目录中打开资源管理器/查找器,按照大小对所有xml进行排序。找到大小为0kb / 空xml的文件并将其删除。现在您可以创建已签名的捆绑apk。


0

当我移除了所有的http.proxyPort时,它就可以工作了。


你的回答可以通过提供更多支持信息来改进。请编辑以添加进一步的细节,例如引用或文档,以便他人可以确认你的答案是正确的。您可以在帮助中心中找到有关如何编写良好答案的更多信息。 - Community

0

对我来说,问题在于WebDriver需要一个完全限定的URL。将localhost:9000切换到http://localhost:9000/对我有用(希望也能帮助其他人)。

这是因为WebDriver方法void get(String url);被调用并出现错误:

The Host name may not be empty

参数的Java文档说明如下:

Params: url – 要加载的URL。必须是完全限定的URL


0

0
对于Mac用户,请检查位于/Users/[username]/.gradle/gradle.propertiesgradle.properties文件并移除以下属性。
systemProp.http.proxyHost=
systemProp.http.proxyPort=80
systemProp.https.proxyHost=
systemProp.https.proxyPort=80

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接