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

标签 java android cordova gradle

我有一个使用了几年的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) 

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

关于java - 使用软件包名称中的大写字母构建Cordova Android项目时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37026684/

相关文章:

java - Cypher 查询给出 java.lang.OutOfMemoryError

java - ArrayList 调整当前底层数组的大小或创建一个新数组?

java - 如何将多个 Activity 锁定为纵向?

java - android中的空指针异常错误

android - Eclipse AVD Nexus 5 模拟器不工作

ios - [__NSDictionaryM cordovaSettingForKey :]: unrecognized selector sent to instance

javascript - 如何使用 Javascript 或 HTML 将裁剪后的图像作为新图像?

cordova - 如何在PhoneGap Build中设置域白名单?

java - 接受/拒绝聊天客户端中的文件传输

java - 'ehcache 2.10.1'使用什么版本的spring?