这主要是build fail for android的副本,但还没有答案,我的情况略有不同,所以把它再说一遍。
在我的情况下,我能够正确地构建apk,我想在命令成功后创建一个应用程序包ionic cordova build android --prod --release
通过运行此命令,我能够生成APK。
之后,我将转到/platform/android
并运行./gradlew bundle
,此时出现此错误
The Task.leftShift(Closure) method has been deprecated and is scheduled to be removed in Gradle 5.0. Please use Task.doLast(Action) instead.
FAILURE: Build failed with an exception.
* What went wrong:
Task 'bundle' is ambiguous in root project 'android'. Candidates are: 'bundleAppClassesDebug', 'bundleAppClassesDebugAndroidTest', 'bundleAppClassesDebugUnitTest', 'bundleAppClassesRelease', 'bundleAppClassesReleaseUnitTest', 'bundleDebug', 'bundleRelease'
如何修复?
6条答案
按热度按时间rkue9o1l1#
对于那些最终发现
--packageType=bundle
标志似乎不起作用的人,请密切注意下面的注解:注意:您应该使用double --来表示这些是平台特定的参数,例如:
cordova run android --release -- --keystore=../my-release-key.keystore --storePassword=password --alias=alias_name --password=password --packageType=bundle
.请注意
--release
后面的空--
。下面假设您已经在build.json
中配置了密钥库和密码:ymdaylpp2#
Ionic有内置的命令行来生成.aab格式。
AAB:
它将在android/app/build/output/bundle/release中自动生成.aab文件
APK:
希望它能帮助一些人。谢谢
gstyhher3#
在其他答案中似乎可以运行:
在我的情况下,它不工作。我解决了升级Android平台版本的离子。
之后,如果您进入platforms\android文件夹,您可以执行以下操作
我没有检查两个android版本的gradle版本,但我想它已经改变了。
此致,文森佐
ercv8c1e4#
我通过更新build.json并运行命令
cordova run android --release
成功地构建了它!我所做的是:
1.将Gradle从v6.7.1升级到v7.3.3(Windows版本,下载.zip并设置“路径”)。
1.添加
,"packageType": "apk"
。构建app-release.apk成功:
332nm8kg5#
我的要求与最初的问题不同,但这对某些人来说可能仍然有用。升级Cordova后,下面的构建命令生成了一个
.aab
文件,而在更新之前,它生成了一个.apk
。我们的构建管道是为签署APK文件而设置的,所以我想将APK作为默认设置。当我从cordova 8.x.x升级到10.x.x时,此命令默认生成一个.aap文件
添加
-- --packageType=apk
不起作用。我必须在cordova应用程序根目录下创建一个build.json,如下所示:
这一切都很完美。
4nkexdtk6#
这对我很有效,密钥已经生成。