Adobe-Runtime-Support icon indicating copy to clipboard operation
Adobe-Runtime-Support copied to clipboard

package -arch all error

Open rainssong opened this issue 10 months ago • 12 comments

Steps to Reproduce

call adt -package -target apk-captive-runtime -arch all -storetype pkcs12 -keystore "..\..\..\cert\xxx.p12" -storepass xxx..\..\..\bin-release\xxx.apk app.xml -C ..\..\..\bin . -extdir ..\..\..\lib Error -arch must be followed by (armv7 | x86 | armv8 | x64)

But according to https://airsdk.dev/docs/building/air-developer-tool/commands/package

-arch
Application developers can use this argument to create an APK for a specific platform architecture, it takes following values:

armv7 - ADT packages an APK for the Android armv7 platform.
armv8 - ADT packages an APK for the Android armv8 platform.
x86 - ADT packages an APK for the Android Intel x86 platform.
x64 - ADT packages an APK for the Android Intel x64 platform.
all - ADT packages a "universal APK" containing all architectures.

I can package universal APK with -arch all

Known Workarounds

Air SDK:50.1

<uses-sdk  
android:minSdkVersion="21"
android:targetSdkVersion="33" />

rainssong avatar Mar 31 '24 14:03 rainssong

The all option should be possible with an APK target, and when you're using the 'new' Gradle-based build system. Possibly it's the second of these checks which is failing.. are you able to get more debug info via the adt.log file, or from using the AIR SDK Manager "troubleshooting" page?

thanks

ajwfrost avatar Mar 31 '24 17:03 ajwfrost

I‘m just using the cmd to package with AIRSDK 50.2.4.4

and the adt -help shows image

so i guess the adt do not support -arch all

rainssong avatar Apr 02 '24 17:04 rainssong

This works fine for us - the help output is missing this option, as you've highlighted, but as long as it's building an APK file with Gradle, then -target apk -arch all is working fine here...

ajwfrost avatar Apr 02 '24 23:04 ajwfrost

This works fine for us - the help output is missing this option, as you've highlighted, but as long as it's building an APK file with Gradle, then -target apk -arch all is working fine here...

The -arch only allow (armv7 | x86 | x64 | armv8 ).When I use -target apk -arch all,an error has occurred -arch must be followed by (armv7 | x86 | armv8 | x64).

This problem has been bothering us for a long time. Usually, the app store can only upload one APK package which must include armv7 and armv8, except for Google Play.

It is really important for an APK package to support multiple platforms.

pengyangjin avatar Apr 10 '24 02:04 pengyangjin

We'd need to see the ADT log to see why this isn't working in your case. Are you able to provide this please:

  • either, add DebugOut=true to a file in c:\users\username.airsdk\adt.cfg, then run the ADT command again, and check the contents of c:\users\username\adt.log
  • or, open up the AIR SDK Manager, go to the Troubleshooting page, and then run the ADT command again

thanks

ajwfrost avatar Apr 10 '24 06:04 ajwfrost

*** ADT Logging at 2024/04/10 14:51:39 *** Called by: D:\SDK\flex_4.13_air_33.1_x64_50.2.4.4\lib\adt.jar ADT 50.2.4.4 called with: -package -tsa none -storetype pkcs12 -keystore D:\yttx\client\trunk\tools\ane_android\fb47_apk_feidou\fb47_apk_honor\buildANE/key/air/cert.p12 -storepass xxxxxx -target ane Honor.ane extension.xml -swc Library.swc -platform Android-ARM -C Android-ARM/ . -platform Android-ARM64 -C Android-ARM64/ . *** ADT Logging at 2024/04/10 14:51:48 *** Called by: D:\SDK\flex_4.13_air_33.1_x64_50.2.4.4\lib\adt.jar ADT 50.2.4.4 called with: -certificate -cn UnitedMindsetSelfSignedCertificate -ou Software Development -o UnitedMindset -c US 2048-RSA ${KEYSTORE} 111111 *** ADT Logging at 2024/04/10 14:51:50 *** Called by: D:\SDK\flex_4.13_air_33.1_x64_50.2.4.4\lib\adt.jar ADT 50.2.4.4 called with: -package -target apk-captive-runtime -arch all -storetype jks -keystore key/apk/yttx-android.keystore -storepass xxxxxx D:\yttx\client\trunk\tools\ane_android\fb47_apk_feidou\fb47_apk_honor\AndroidHonorSample\ant_packer/../../AndroidHonorSample/release/yttx-andBD-0.0.1-20240410-145138.apk D:\yttx\client\trunk\tools\ane_android\fb47_apk_feidou\fb47_apk_honor\AndroidHonorSample\ant_packer/../../AndroidHonorSample/build/Main-apk-app.xml -C D:\yttx\client\trunk\tools\ane_android\fb47_apk_feidou\fb47_apk_honor\AndroidHonorSample\ant_packer/../../AndroidHonorSample/build D:\yttx\client\trunk\tools\ane_android\fb47_apk_feidou\fb47_apk_honor\AndroidHonorSample\ant_packer/../../AndroidHonorSample/build/Main.swf -extdir D:\yttx\client\trunk\tools\ane_android\fb47_apk_feidou\fb47_apk_honor\AndroidHonorSample\ant_packer/../../AndroidHonorSample/ane -C D:\yttx\client\trunk\tools\ane_android\fb47_apk_feidou\fb47_apk_honor\AndroidHonorSample\ant_packer/../../AndroidHonorSample/ane_assets . -C D:\yttx\client\trunk\tools\ane_android\fb47_apk_feidou\fb47_apk_honor\AndroidHonorSample\ant_packer/../../AndroidHonorSample/build -platformsdk D:/application/Android/Sdk Not requested a legacy APK build, but could not find Javac and/or Android SDK hence falling back to legacy build UsageError: -arch must be followed by (armv7 | x86 | armv8 | x64) 

------------------ 原始邮件 ------------------ 发件人: "airsdk/Adobe-Runtime-Support" @.>; 发送时间: 2024年4月10日(星期三) 下午2:34 @.>; @.@.>; 主题: Re: [airsdk/Adobe-Runtime-Support] package -arch all error (Issue #3150)

We'd need to see the ADT log to see why this isn't working in your case. Are you able to provide this please:

either, add DebugOut=true to a file in c:\users\username.airsdk\adt.cfg, then run the ADT command again, and check the contents of c:\users\username\adt.log

or, open up the AIR SDK Manager, go to the Troubleshooting page, and then run the ADT command again

thanks

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you commented.Message ID: @.***>

pengyangjin avatar Apr 10 '24 06:04 pengyangjin

Ah yes, so that's the issue:

Not requested a legacy APK build, but could not find Javac and/or Android SDK hence falling back to legacy build

Have you got Android Studio and an Android SDK installed? If so, ADT is failing to find these, so you would need to add them into the ADT config file: e.g.

JAVA_HOME=C:/Program Files/Java/jdk-11
AndroidPlatformSDK=C:/Users/username/AppData/Local/Android/Sdk

thanks

ajwfrost avatar Apr 10 '24 07:04 ajwfrost

I have set it in the configuration file ..\lib\adt.cfg.

For convenience, rather than using "-platformsdk" on the command line, these can be set up here:

AndroidPlatformSDK=D:\application\Android\Sdk #iOSPlatformSDK=path_to_sdk

JAVA_HOME is usually picked up from an environment variable but this can override it:

JAVA_HOME=D:\application\jdk-11.0.17-full

------------------ 原始邮件 ------------------ 发件人: "yangjin1" @.>; 发送时间: 2024年4月10日(星期三) 下午2:53 @.@.>; @.@.***>; 主题: 回复: [airsdk/Adobe-Runtime-Support] package -arch all error (Issue #3150)

*** ADT Logging at 2024/04/10 14:51:39 *** Called by: D:\SDK\flex_4.13_air_33.1_x64_50.2.4.4\lib\adt.jar ADT 50.2.4.4 called with: -package -tsa none -storetype pkcs12 -keystore D:\yttx\client\trunk\tools\ane_android\fb47_apk_feidou\fb47_apk_honor\buildANE/key/air/cert.p12 -storepass xxxxxx -target ane Honor.ane extension.xml -swc Library.swc -platform Android-ARM -C Android-ARM/ . -platform Android-ARM64 -C Android-ARM64/ . *** ADT Logging at 2024/04/10 14:51:48 *** Called by: D:\SDK\flex_4.13_air_33.1_x64_50.2.4.4\lib\adt.jar ADT 50.2.4.4 called with: -certificate -cn UnitedMindsetSelfSignedCertificate -ou Software Development -o UnitedMindset -c US 2048-RSA ${KEYSTORE} 111111 *** ADT Logging at 2024/04/10 14:51:50 *** Called by: D:\SDK\flex_4.13_air_33.1_x64_50.2.4.4\lib\adt.jar ADT 50.2.4.4 called with: -package -target apk-captive-runtime -arch all -storetype jks -keystore key/apk/yttx-android.keystore -storepass xxxxxx D:\yttx\client\trunk\tools\ane_android\fb47_apk_feidou\fb47_apk_honor\AndroidHonorSample\ant_packer/../../AndroidHonorSample/release/yttx-andBD-0.0.1-20240410-145138.apk D:\yttx\client\trunk\tools\ane_android\fb47_apk_feidou\fb47_apk_honor\AndroidHonorSample\ant_packer/../../AndroidHonorSample/build/Main-apk-app.xml -C D:\yttx\client\trunk\tools\ane_android\fb47_apk_feidou\fb47_apk_honor\AndroidHonorSample\ant_packer/../../AndroidHonorSample/build D:\yttx\client\trunk\tools\ane_android\fb47_apk_feidou\fb47_apk_honor\AndroidHonorSample\ant_packer/../../AndroidHonorSample/build/Main.swf -extdir D:\yttx\client\trunk\tools\ane_android\fb47_apk_feidou\fb47_apk_honor\AndroidHonorSample\ant_packer/../../AndroidHonorSample/ane -C D:\yttx\client\trunk\tools\ane_android\fb47_apk_feidou\fb47_apk_honor\AndroidHonorSample\ant_packer/../../AndroidHonorSample/ane_assets . -C D:\yttx\client\trunk\tools\ane_android\fb47_apk_feidou\fb47_apk_honor\AndroidHonorSample\ant_packer/../../AndroidHonorSample/build -platformsdk D:/application/Android/Sdk Not requested a legacy APK build, but could not find Javac and/or Android SDK hence falling back to legacy build UsageError: -arch must be followed by (armv7 | x86 | armv8 | x64)

------------------ 原始邮件 ------------------ 发件人: "airsdk/Adobe-Runtime-Support" @.>; 发送时间: 2024年4月10日(星期三) 下午2:34 @.>; @.@.>; 主题: Re: [airsdk/Adobe-Runtime-Support] package -arch all error (Issue #3150)

We'd need to see the ADT log to see why this isn't working in your case. Are you able to provide this please:

either, add DebugOut=true to a file in c:\users\username.airsdk\adt.cfg, then run the ADT command again, and check the contents of c:\users\username\adt.log

or, open up the AIR SDK Manager, go to the Troubleshooting page, and then run the ADT command again

thanks

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you commented.Message ID: @.***>

pengyangjin avatar Apr 10 '24 07:04 pengyangjin

Hi

So it may be worth checking: values that are in the adt.cfg file that's in c:\users\username.airsdk folder will be used in preference to values in the adt.cfg file in the AIR_SDK\lib folder.

But also, please note you need forward slashes (or double-backslashes) because this file is read in by Java...

AndroidPlatformSDK=D:/application/Android/Sdk
JAVA_HOME=D:/application/jdk-11.0.17-full

thanks

ajwfrost avatar Apr 10 '24 07:04 ajwfrost

You're right, change to this,it succeed. Also, if I only want to support armv7 and armv8 instead of all. How should I set the parameters,some SDKs only provide support for armv7 and armv8. #JAVA_HOME=D:\application\jdk-11.0.17-full JAVA_HOME=D:/application/jdk-11.0.17-full

------------------ 原始邮件 ------------------ 发件人: "154689075" @.>; 发送时间: 2024年4月10日(星期三) 下午3:10 @.@.@.>; @.@.>; 主题: 回复: [airsdk/Adobe-Runtime-Support] package -arch all error (Issue #3150)

I have set it in the configuration file ..\lib\adt.cfg.

For convenience, rather than using "-platformsdk" on the command line, these can be set up here:

AndroidPlatformSDK=D:\application\Android\Sdk #iOSPlatformSDK=path_to_sdk

JAVA_HOME is usually picked up from an environment variable but this can override it:

JAVA_HOME=D:\application\jdk-11.0.17-full

------------------ 原始邮件 ------------------ 发件人: "yangjin1" @.>; 发送时间: 2024年4月10日(星期三) 下午2:53 @.@.>; @.@.***>; 主题: 回复: [airsdk/Adobe-Runtime-Support] package -arch all error (Issue #3150)

*** ADT Logging at 2024/04/10 14:51:39 *** Called by: D:\SDK\flex_4.13_air_33.1_x64_50.2.4.4\lib\adt.jar ADT 50.2.4.4 called with: -package -tsa none -storetype pkcs12 -keystore D:\yttx\client\trunk\tools\ane_android\fb47_apk_feidou\fb47_apk_honor\buildANE/key/air/cert.p12 -storepass xxxxxx -target ane Honor.ane extension.xml -swc Library.swc -platform Android-ARM -C Android-ARM/ . -platform Android-ARM64 -C Android-ARM64/ . *** ADT Logging at 2024/04/10 14:51:48 *** Called by: D:\SDK\flex_4.13_air_33.1_x64_50.2.4.4\lib\adt.jar ADT 50.2.4.4 called with: -certificate -cn UnitedMindsetSelfSignedCertificate -ou Software Development -o UnitedMindset -c US 2048-RSA ${KEYSTORE} 111111 *** ADT Logging at 2024/04/10 14:51:50 *** Called by: D:\SDK\flex_4.13_air_33.1_x64_50.2.4.4\lib\adt.jar ADT 50.2.4.4 called with: -package -target apk-captive-runtime -arch all -storetype jks -keystore key/apk/yttx-android.keystore -storepass xxxxxx D:\yttx\client\trunk\tools\ane_android\fb47_apk_feidou\fb47_apk_honor\AndroidHonorSample\ant_packer/../../AndroidHonorSample/release/yttx-andBD-0.0.1-20240410-145138.apk D:\yttx\client\trunk\tools\ane_android\fb47_apk_feidou\fb47_apk_honor\AndroidHonorSample\ant_packer/../../AndroidHonorSample/build/Main-apk-app.xml -C D:\yttx\client\trunk\tools\ane_android\fb47_apk_feidou\fb47_apk_honor\AndroidHonorSample\ant_packer/../../AndroidHonorSample/build D:\yttx\client\trunk\tools\ane_android\fb47_apk_feidou\fb47_apk_honor\AndroidHonorSample\ant_packer/../../AndroidHonorSample/build/Main.swf -extdir D:\yttx\client\trunk\tools\ane_android\fb47_apk_feidou\fb47_apk_honor\AndroidHonorSample\ant_packer/../../AndroidHonorSample/ane -C D:\yttx\client\trunk\tools\ane_android\fb47_apk_feidou\fb47_apk_honor\AndroidHonorSample\ant_packer/../../AndroidHonorSample/ane_assets . -C D:\yttx\client\trunk\tools\ane_android\fb47_apk_feidou\fb47_apk_honor\AndroidHonorSample\ant_packer/../../AndroidHonorSample/build -platformsdk D:/application/Android/Sdk Not requested a legacy APK build, but could not find Javac and/or Android SDK hence falling back to legacy build UsageError: -arch must be followed by (armv7 | x86 | armv8 | x64)

------------------ 原始邮件 ------------------ 发件人: "airsdk/Adobe-Runtime-Support" @.>; 发送时间: 2024年4月10日(星期三) 下午2:34 @.>; @.@.>; 主题: Re: [airsdk/Adobe-Runtime-Support] package -arch all error (Issue #3150)

We'd need to see the ADT log to see why this isn't working in your case. Are you able to provide this please:

either, add DebugOut=true to a file in c:\users\username.airsdk\adt.cfg, then run the ADT command again, and check the contents of c:\users\username\adt.log

or, open up the AIR SDK Manager, go to the Troubleshooting page, and then run the ADT command again

thanks

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you commented.Message ID: @.***>

pengyangjin avatar Apr 10 '24 07:04 pengyangjin

You should be able to restrict the list of architecture using the application descriptor file: https://airsdk.dev/docs/building/application-descriptor-files/elements/android#buildarchitectures

So e.g. within the <android> section, add:

<buildArchitectures>armv7,armv8</buildArchitectures>

When used in combination with APK and 'all', or when used with an AAB format, this should limit the ABIs that are packaged up..

ajwfrost avatar Apr 10 '24 08:04 ajwfrost

thanks.

------------------ 原始邮件 ------------------ 发件人: "airsdk/Adobe-Runtime-Support" @.>; 发送时间: 2024年4月10日(星期三) 下午4:03 @.>; @.@.>; 主题: Re: [airsdk/Adobe-Runtime-Support] package -arch all error (Issue #3150)

You should be able to restrict the list of architecture using the application descriptor file: https://airsdk.dev/docs/building/application-descriptor-files/elements/android#buildarchitectures

So e.g. within the <android> section, add: <buildArchitectures>armv7,armv8</buildArchitectures>
When used in combination with APK and 'all', or when used with an AAB format, this should limit the ABIs that are packaged up..

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you commented.Message ID: @.***>

pengyangjin avatar Apr 10 '24 08:04 pengyangjin