Android Studio BuildConfig.java 中www.example.com配置不正确

abithluo  于 2023-01-26  发布在  Android
关注(0)|答案(3)|浏览(148)

当我运行我的flutter项目时,我得到了以下错误:

C:\Users\Sourav Kannantha B\Documents\AndroidProjects\ecommercestore\build\app\generated\source\buildConfig\debug\com\skbsmk\ecommercestore\BuildConfig.java:14: error: illegal escape character
  public static final String fluttersdk = "C:\Users\Sourav Kannantha B\Documents\Flutter";
                                              ^
.
.
.

我可以理解为什么这是错误的,因为BuildConfig.java包含以下行:

public static final String fluttersdk = "C:\Users\Sourav Kannantha B\Documents\Flutter";

但是我的local.properties文件包含正确格式的路径:

flutter.sdk=C:\\Users\\Sourav Kannantha B\\Documents\\Flutter

我不知道为什么,在构建它的时候跳过了一个反斜杠。我甚至试着把local.properties编辑成这样:

flutter.sdk=C:\\\\Users\\\\Sourav Kannantha B\\\\Documents\\\\Flutter

还有这个

flutter.sdk=C:/Users/Sourav Kannantha B/Documents/Flutter

但是只要我运行这个项目,android studio就会自动把这些改成以前的样子。

    • EDIT**:项目之前运行正常。这一切都是在我将com.google.android.libraries.mapsplatform.secrets-gradle-plugin添加到我的android gradle文件时开始的。但我不确定这是否与此错误有关。
    • 编辑**:我的错误,错误确实与com.google.android.libraries.mapsplatform.secrets-gradle-plugin有关。删除后,错误得到解决。有人能解释一下这种行为吗?
wlwcrazw

wlwcrazw1#

自从我添加secrets插件后,我在Windows上偶然发现了同样的问题。我在文档中发现,你可以将你的秘密移动到插件可以使用的特定属性文件中。这样,你就可以不修改local.properties文件。
请参阅documentation中的第8点。简单地说,您需要在应用的build.gradle中添加以下代码:

secrets {
    propertiesFileName = "secrets.properties"
}

在www.example.com上secrets.properties,写下你的秘密。

1tu0hz3e

1tu0hz3e2#

目前,我隐藏我的MapAPI密钥如下:
将API密钥存储在local.properties

MAPS_API_KEY=<MY_API_KEY>

AndroidManifest.xml中声明API密钥占位符

<meta-data
    android:name="com.google.android.geo.API_KEY"
    android:value="${MAPS_API_KEY}" />

替换模块级别build.gradle中的API密钥占位符

def localProperties = new Properties()
def localPropertiesFile = rootProject.file('local.properties')
localPropertiesFile.withReader('UTF-8') { reader ->
    localProperties.load(reader)
}
def mapsApiKey = localProperties.getProperty('MAPS_API_KEY')
android {
    defaultConfig {
        manifestPlaceholders += [MAPS_API_KEY: mapsApiKey]
    }
}
3phpmpom

3phpmpom3#

我或多或少遇到了同样的问题。自动生成的buildConfig文件在添加其他声明的地方不正确。

/**
* Automatically generated file. DO NOT MODIFY
*/
public final class BuildConfig {
  public static final boolean DEBUG = false;
  public static final String APPLICATION_ID = "com.package";
  public static final String BUILD_TYPE = "release";
  public static final String FLAVOR = "staging";
  public static final int VERSION_CODE = 1;
  public static final String VERSION_NAME = "1.0.0";

  // Added this weird declaration
  public static final String  = ;
  public static final String sdkdir = " C :  U s e r s  A d m i n i s t r a t o r  A p p D a t a  L o c a l  A n d r o i d  S d k " ";
}

删除com.google.android.libraries.mapsplatform.secrets-gradle-plugin修复了此问题

相关问题