DeployGate / gradle-deploygate-plugin

DeployGate plugin for the Gradle build system.
87 stars 24 forks source link

Support App Bundle #60

Closed jmatsu closed 4 years ago

jmatsu commented 5 years ago

The approach is to build a universal apk by bundletool from App Bundle.

Links

jmatsu commented 5 years ago

Split modules cannot be available by assembling an apk so we need to build it from App Bundle. However, android.databinding.layouts.BindingInfo will be duplicate so D8 cannot create dex files. So it means we cannot create a univesal apk if dynamic modules enable DataBinding without any hack.

jmatsu commented 5 years ago

It sounds https://github.com/DeployGate/gradle-deploygate-plugin/issues/60#issuecomment-457896126 has been solved by upgrading R8. Maybe it was a bug fortunately. 👀

jmatsu commented 5 years ago
jmatsu commented 5 years ago

~til we support this feature, https://github.com/DroidKaigi/conference-app-2019/blob/e714989139f182fe499b1b3d4d4a4f5e8b9cd9cc/scripts/create_universal_apk_from_aab.bash is good for this.~

Not integrated but I had prepared a sample.

https://github.com/DeployGate/gradle-deploygate-plugin/blob/96b3692b97b6924628f73c42e01569d9ed376f60/example/app/build.gradle#L68

jmatsu commented 4 years ago

Now DeployGate can accept app bundle files with a few limitations. e.g. dynamic modules do not work, only universal apk is supported... Gradle plugin 2.1.0 will support uploading app bundle files as same as apk upload.

jmatsu commented 4 years ago

uploadDeployGateAabXXX will upload aab artifacts to DeployGate directly.

jmatsu commented 4 years ago

Ver 2.1.0 supports uploading App Bundles.