【问题标题】:Package 'com.class.xxx.test' from AndroidManifest.xml is not a valid Java package name as 'class' is a Java keywordAndroidManifest.xml 中的包“com.class.xxx.test”不是有效的 Java 包名称,因为“类”是 Java 关键字
【发布时间】:2019-11-22 04:25:40
【问题描述】:

我是在 android 中进行意式浓缩咖啡测试的新手。当我尝试构建测试 apk 时,出现此错误:

Package 'com.class.xxx.test' from AndroidManifest.xml is not a valid Java package name as 'class' is a Java keyword.

是否有任何可能的方法来更改测试构建配置或任何其他解决方案中的包名称?

谢谢!

【问题讨论】:

    标签: java android unit-testing keyword package-name


    【解决方案1】:

    就像它说的那样简单。

    不是一个有效的 Java 包名,'class' 是一个 Java 关键字。

    Java 中有一些保留关键字。你不能使用。您使用的是 class,这是保留字。

    您可以更改类包名称作为解决方案。

    List of Java reserved keywords.

    【讨论】:

    • 我只需要在构建测试 apk 时更改包名称,您可能知道该怎么做吗?
    • 只需使用名称折射,选择要重命名的包(类),然后按shift + F6 重命名折射。它将自动处理所有导入。
    • 是的,但它是自动生成的,当我更改它时,它会在构建时恢复到旧版本...
    • 您不能只更改测试包名称。我认为,更改应用程序包名称,您无需更改build.gradle 包名称,只需在您的manifest.xml 包名称中使用折射。
    【解决方案2】:

    我得到这个是因为我有一个包含- 的包名(即test-support)。在模块的AndroidManifest.xml 我有

    <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.thomas.myapp.test-support" />

    Java Language Spec

    如果域名包含连字符或标识符中不允许的任何其他特殊字符(第 3.8 节),请将其转换为下划线。

    我没有转换为下划线,只是删除连字符即可。我将AndroidManifest.xml 更改为

    <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.thomas.myapp.testsupport" />

    它现在工作正常。 Khemraj's answer 让我走上正确的道路来解决这个问题。

    【讨论】:

      猜你喜欢
      • 2023-02-01
      • 2014-06-08
      • 1970-01-01
      • 2012-09-14
      • 1970-01-01
      • 2022-11-23
      • 2012-10-27
      • 1970-01-01
      • 2012-08-23
      相关资源
      最近更新 更多