【问题标题】:Error building cordova android project with uppercase letters in package name在包名称中使用大写字母构建cordova android项目时出错
【发布时间】:2016-05-04 11:36:40
【问题描述】:

我有一个几年前的 Cordova 应用程序,它的包名中有大写字母。

它之前运行良好,使用旧版本的 Cordova 并在 Eclipse 中构建。

现在我无法使用 Cordova 6.1.1 和 gradle 构建它。它给出了错误。

我检测到它没有在 src 文件夹中为 app 类创建文件夹结构和文件。它应该创建 PackageFirst 文件夹,然后在其中创建 PackageSecond,因为包名称是 PackageFirst.PackageSecond

我自己生成并复制了这些文件。科尔多瓦准备命令删除文件夹,所以我运行准​​备,然后将文件夹复制回来。然后我尝试编译。但它再次中断,构建没有成功,出现以下错误:

这是我的LogCat。

BUILD FAILED    at com.android.dx.command.dexer.Main.run(Main.java:277)
at com.android.dx.command.dexer.Main.main(Main.java:245)
at com.android.dx.command.Main.main(Main.java:106)
Caused by: com.android.dx.cf.iface.ParseException: class name (PackageFirst/PackageSecond/MainActivity) does not match path (packagefirst/packagesecond/MainActivity.class)
at com.android.dx.cf.direct.DirectClassFile.parse0(DirectClassFile.java:520)
at com.android.dx.cf.direct.DirectClassFile.parse(DirectClassFile.java:406)

我一直在研究,我找到的唯一解决方案是我需要将包名全部设为小写。由于这个应用程序是在 Google Play 上发布的,我相信我不能这样做,因为它会是一个不同的包名称。

到现在为止,我多年来一直能够完美地构建它。

谁能给我一个不涉及更改包名称的问题的解决方案?非常感谢您的帮助!

编辑:

我可以成功构建包,但它不能在设备上运行。通过所有测试,我将大写字母留在一个地方,而将小写字母留在另一个地方。一旦我修复了它,它就会构建,但是当我尝试在设备上运行它时,我收到以下错误:

Error: Failed to install apk to device: pkg: /data/local/tmp/android-debug.apk

失败 [INSTALL_PARSE_FAILED_MANIFEST_MALFORMED]

【问题讨论】:

  • 规范似乎确实需要小写。 (以下 URL 的起始数字以下划线为前缀,减号为下划线。)

标签: java android cordova gradle


【解决方案1】:

请以小写字母命名您的包。正如我从您上面发布的错误中看到的那样

com.android.dx.cf.iface.ParseException: class name 
(PackageFirst/PackageSecond/MainActivity) does not match path 
(packagefirst/packagesecond/MainActivity.cla ss) 

包名有不同的大小写。这可能是一个原因

【讨论】:

  • 包名是PackageFirst.PackageSecond,不知道为什么编译时生成的是小写的那个路径。正如我所提到的,由于该应用程序已有数年历史并安装在许多设备上,因此我现在无法更改包名称。这不是我正在创建的新应用程序。该应用程序多年来一直完美编译。
  • 你尝试重建项目了吗
  • 是的,我做到了。经过多次测试,我终于可以成功构建它。但是尝试使用 cordova run 命令将其安装在设备上时仍然失败。错误错误:无法将apk安装到设备:pkg:/data/local/tmp/android-debug.apk失败[INSTALL_PARSE_FAILED_MANIFEST_MALFORMED]
猜你喜欢
  • 1970-01-01
  • 2018-06-10
  • 1970-01-01
  • 2015-04-14
  • 2016-12-21
  • 1970-01-01
  • 2011-11-04
  • 2011-03-11
  • 2019-11-11
相关资源
最近更新 更多