【问题标题】:unable to generating an Android App Bundle from your Ionic app (without Android Studio)无法从您的 Ionic 应用生成 Android App Bundle(没有 Android Studio)
【发布时间】:2020-08-05 10:09:35
【问题描述】:

这主要是 build fail for android 的重复,但目前还没有答案,我的情况略有不同,所以再放一次。

在我的情况下,我能够正确构建 apk,并且我想在命令成功后创建一个应用程序包

ionic cordova build android --prod --release 通过运行这个 cmd 我可以生成 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'

如何解决?

【问题讨论】:

    标签: android cordova ionic3 build.gradle gradlew


    【解决方案1】:

    对于那些最终发现--packageType=bundle 标志似乎不起作用的人,请密切注意注释here

    注意:您应该使用 double -- 来表示这些是特定于平台的参数,例如:

    cordova run android --release -- --keystore=../my-release-key.keystore --storePassword=password --alias=alias_name --password=password --packageType=bundle.

    注意--release 后面的空--。以下假设您已经在 build.json 中配置了密钥库和密码:

    cordova build android --packageType=bundle // flag is silently ignored, generates apk
    cordova build android -- --packageType=bundle // flag works, generates aab
    

    【讨论】:

    • 太棒了!谢谢!很容易被忽视
    • 谢谢!
    【解决方案2】:

    Ionic 具有内置命令行来生成 .aab 格式。

    AAB:

    ionic cordova build android --prod --release -- -- --packageType=bundle
            
    

    它会在 android/app/build/outputs/bundle/release 自动生成 .aab

    APK:

    ionic cordova build android --prod --release 
    

    愿它对某人有所帮助。 谢谢

    【讨论】:

      【解决方案3】:

      在其他答案中,您似乎可以运行:

      ./gradlew bundleRelease
      

      就我而言,它不起作用。 我解决了为 ionic 升级 android 平台版本的问题。

      ionic cordova platform rm android
      ionic cordova platform add android@8
      ionic cordova build android --prod --release
      

      之后,如果你进入platforms\android文件夹,你就可以做

      ./gradlew bundle
      

      我没有检查两个 android 版本的 gradle 版本,但我想它已经改变了。

      问候,文森佐

      【讨论】:

        【解决方案4】:

        我通过更新 build.json 并运行命令 cordova run android --release! 成功构建了它!

        我所做的是:

        1. 将 Gradle 从 v6.7.1 升级到 v7.3.3(Windows 版本,下载 .zip 并设置“路径”)。
        2. build.json 添加,"packageType": "apk"

        构建app-release.apk成功:

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2021-10-14
          • 2019-09-14
          • 1970-01-01
          • 1970-01-01
          • 2020-12-20
          • 1970-01-01
          • 1970-01-01
          • 2020-03-26
          相关资源
          最近更新 更多