繁体   English   中英

使用软件包名称中的大写字母构建Cordova Android项目时出错

[英]Error building cordova android project with uppercase letters in package name

我有一个使用了Cordova的应用程序已有好几年了,它的包装名称中带有大写字母。

以前,它与旧版本的Cordova并在Eclipse中进行构建时运行良好。

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

我检测到它不会为src文件夹中的应用程序类创建文件夹结构和文件。 它应该创建PackageFirst文件夹,然后在其中创建PackageSecond,因为软件包名称为PackageFirst.PackageSecond

我自己生成并复制了这些文件。 cordova prepare命令将删除该文件夹,因此我运行prepare,然后将其复制回。然后尝试编译。 但是它再次中断并且构建没有成功,并出现以下错误:

这是我的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]

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

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

程序包名称具有不同的大小写。 这可能是原因

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM