主机名不能为空
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”执行失败