如何解决颤振中的 build.gradle 错误。如何解决此错误“评估项目 ':app' 时出现问题。> 格式错误的 \uxxxx 编码。”

Posted

技术标签:

【中文标题】如何解决颤振中的 build.gradle 错误。如何解决此错误“评估项目 \':app\' 时出现问题。> 格式错误的 \\uxxxx 编码。”【英文标题】:How to resolve build.gradle errors in flutter. How to resolve this error "A problem occurred evaluating project ':app'. > Malformed \uxxxx encoding."如何解决颤振中的 build.gradle 错误。如何解决此错误“评估项目 ':app' 时出现问题。> 格式错误的 \uxxxx 编码。” 【发布时间】:2021-07-29 23:57:58 【问题描述】:

构建文件中有错误。我尝试了一切,但没有任何效果 收到此错误FAILURE:构建失败并出现异常。

在哪里: 构建文件 'D:\Flutter App\covid19\android\app\build.gradle' 行:31

出了什么问题: 评估项目 ':app' 时出现问题。

格式错误的 \uxxxx 编码。

尝试: 使用 --stacktrace 选项运行以获取堆栈跟踪。使用 --info 或 --debug 选项运行以获得更多日志输出。运行 --scan 以获得完整的见解。

通过https://help.gradle.org获得更多帮助

在 6 秒内构建失败 正在运行 Gradle 任务“assembleRelease”... 运行 Gradle 任务 'assembleRelease'... 完成 7.4 秒 Gradle 任务 assembleRelease 失败,退出代码为 1

android 文件夹中的build.gradle 文件

'''   

buildscript 
        ext.kotlin_version = '1.3.50'
        repositories 
            google()
            jcenter()
        

dependencies 
            classpath 'com.android.tools:r8:2.1.75'
            classpath 'com.google.gms:google-services:4.3.2'
            classpath 'com.android.tools.build:gradle:4.1.1'
            classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
        
    
    
allprojects 
        repositories 
             google()
             jcenter()
  

        
 rootProject.buildDir = '../build'
    subprojects 
        project.buildDir = "$rootProject.buildDir/$project.name"
    
    subprojects 
        project.evaluationDependsOn(':app')
    
    
    task clean(type: Delete) 
        delete rootProject.buildDir
    

'''

android 应用文件夹中的 build.gradle 文件

也尝试了此文件中所有可能的更改,但没有成功 请提出一些改变。

''' 
 def localProperties = new Properties()
    def localPropertiesFile = rootProject.file('local.properties')
    if (localPropertiesFile.exists()) 
        localPropertiesFile.withReader('UTF-8')  reader ->
            localProperties.load(reader)
        
    
    

def flutterRoot = localProperties.getProperty('flutter.sdk')
if (flutterRoot == null) 
    throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.")

    
def flutterVersionCode = localProperties.getProperty('flutter.versionCode')
if (flutterVersionCode == null) 
    flutterVersionCode = '1'


def flutterVersionName = localProperties.getProperty('flutter.versionName')
if (flutterVersionName == null) 
    flutterVersionName = '1.0'

    
 apply plugin: 'com.android.application'
 apply plugin: 'kotlin-android'
 apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"

   def keystoreProperties = new Properties()
   def keystorePropertiesFile = rootProject.file('key.properties')
   if (keystorePropertiesFile.exists()) 
       keystoreProperties.load(new FileInputStream(keystorePropertiesFile))
   
    
   

     android 
            compileSdkVersion 28
        
            sourceSets 
                main.java.srcDirs += 'src/main/kotlin'
            
        
        



  defaultConfig 
            // TODO: Specify your own unique Application ID 
 (https://developer.android.com/studio/build/application-id.html).
            applicationId "com.abhishekbhamare.covid19"
            minSdkVersion 16
            targetSdkVersion 28
            versionCode flutterVersionCode.toInteger()
            versionName flutterVersionName
        
        
 

 signingConfigs 
       release 
           keyAlias keystoreProperties['keyAlias']
           keyPassword keystoreProperties['keyPassword']
           storeFile keystoreProperties['storeFile'] ? file(keystoreProperties['storeFile']) : null
           storePassword keystoreProperties['storePassword']
       
   

  
 '''

提前致谢

附:这是我第一次发布关于堆栈溢出的帖子,所以如果帖子格式有任何错误,请忽略并为此道歉。

【问题讨论】:

【参考方案1】:

在您的 key.properties 文件中,而不是 storeFile= C:\Users\upload-keystore.jks

使用这个 storeFile=C:/Users/username/upload-keystore.jks

将文件路径中的\ 替换为/

如果是这种情况,这将解决错误。

【讨论】:

【参考方案2】:

在完成keystorepath storeFile=path to filekey.properties 文件中,子目录使用“/”而不是“\” 即,如果路径是 C:/user/[username]/keystore.jks(Windows 中显示的路径),则将其更改为 C:\user\[username]\keystore.jks

【讨论】:

【参考方案3】:

我刚刚在 Windows 上遇到了同样的问题,您可能也是这种情况。 由于提到了编码的错误,所以我从头开始编写了key.properties文件的内容,而不是从flutter网站复制粘贴,这可能会引入一些字符串编码问题。 然后我不再有这个错误。 我仍然对密钥库文件的路径有一些问题,我也解决了,但这是另一个问题,而不是您遇到的问题。在这里,我只是试图满足 Gradle 移动密钥库文件并将密钥库文件名调整为 Gradle 预期的内容。 然后我终于得到了一个签名版本。

【讨论】:

以上是关于如何解决颤振中的 build.gradle 错误。如何解决此错误“评估项目 ':app' 时出现问题。> 格式错误的 \uxxxx 编码。”的主要内容,如果未能解决你的问题,请参考以下文章

如何修复错误 - 执行 com.android.build.gradle.internal.tasks.Workers$ActionFacade 时发生故障

颤振问题中的 Firebase 实施

build.gradle 不工作。红色下划线但没有掉毛错误

如何解决“flutter build apk”上的此错误

使用颤振运行命令时出现此错误

Maven:如何使用 build.gradle 文件?