【发布时间】: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