airsdk / Adobe-Runtime-Support

Report, track and discuss issues in Adobe AIR. Monitored by Adobe - and HARMAN - and maintained by the AIR community.
202 stars 11 forks source link

adt -installApp -platform android -package not working on macOS Ventura #2516

Closed apofis1969 closed 1 year ago

apofis1969 commented 1 year ago

Problem Description

When executing the command adt -installApp -platform android -package MyApp.aab I get this error message: Failed to install /Users/path/a-airsdk/SDKS/sdk50.2.1.1/AIRSDK_MacOS/bin/MyApp.aab: com.android.tools.build.bundletool.model.exceptions.CommandExecutionException: Installation of the app failed.Caused by: com.android.ddmlib.InstallException: Failed to commit install session 907014108 with command cmd package install-commit 907014108. Error: INSTALL_PARSE_FAILED_NO_CERTIFICATES: Failed to collect certificates from /data/app/vmdl907014108.tmp/1_base-master__: Attempt to get length of null array

Building the aab file with the command: adt -package -target aab -storetype pkcs12 -keystore mycertificate.p12 -storepass xxxxx MyApp.aab MyApp-app.xml -extdir lib MyApp.swf google-services.json values.xml sound01.wav sound02.wav res AppIcons

All works on my Mac with Monterey.

What do I have to do to get it running on macOS Ventura 13.2.1 ?

Thanks for your help.

apofis1969 commented 1 year ago

I added a keystore.debug to the new computer. Sorry forgot this.

esdebon commented 5 months ago

I added a keystore.debug to the new computer. Sorry forgot this.

Same problem, what need to do?

ajwfrost commented 5 months ago

Usually I think you can solve this by using Android Studio - i.e. just create any blank project and build it, and it will then set up the environment with a default debug keystore.

I believe the problem happens because AAB files don't have the same signing mechanism as APK files, and when you try installing an AAB, it has to first generate the appropriate APK files. bundletool does this but looks for a default debug keystore: see https://developer.android.com/tools/bundletool

If you want to deploy the APKs to a device, you also need to include your app's signing information, as shown in the following command. If you don't specify signing information, bundletool attempts to sign your APKs with a debug key for you.