使用包名称中的大写字母构建cordova android项目时出错

时间:2016-05-04 11:36:40

标签: java android cordova gradle

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

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

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

我检测到它没有在src文件夹中为app类创建文件夹结构和文件。它应该创建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]

1 个答案:

答案 0 :(得分:0)

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

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

包名称有不同的情况。这可能是一个原因