我有几年前的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]
答案 0 :(得分:0)
请以小写字母命名您的包裹。正如我从上面发布的错误中看到的那样
com.android.dx.cf.iface.ParseException: class name
(PackageFirst/PackageSecond/MainActivity) does not match path
(packagefirst/packagesecond/MainActivity.cla ss)
包名称有不同的情况。这可能是一个原因