From Flash to Air? what tools i need?

Hello I have some apps done in Adobe Animate (Flash) any idea how to make them in pure AIR so I can upload new apps with 64bit in PlayStore.

Currently PlayStore doesn´t update animate(flash) apps for some reason even they are alreday done with AIR 33 64 bit.

I know the reason…they don´t like people are able to do so wonderful interactive stuff by just one person in so little time!!

1 Like

required

  • command-line environment
  • Java 8 installed

Quick Command-line Getting started

Windows 7 / 8 / 8.1 / 10
You got CMD.exe (Command Prompt) by default
if you want to keep using it then install Chocolatey

If you want Bash there too, you got 2 choices
install something like Cygwin and run Bash
or
install Windows Subsystem for Linux (WSL) and run Bash

macOS
You got Bash by default. just run the Terminal.app

Linux
You got Bash by default. just run the default terminal

any of the following

Attention:
There are two AIR SDK

  • Adobe AIR SDK & Compiler
    use the big blue button “download now”
    this one is standalone, you don’t need a Flex SDK
  • Original AIR SDK
    use the blue links in the grey area
    this one require to be merged with a Flex SDK
    see Overlay AIR SDK on Flex SDK

documentation

Ideally, with Java you would also install Apache Ant
and follow the doc to compile with Ant
eg.

<property name="SDK_HOME" value="C:/Flex46SDK"/> 
<property name="MAIN_SOURCE_FILE" value="src/myApp.mxml"/> 
<property name="DEBUG" value="true"/> 
<target name="compile"> 
    <java jar="${MXMLC.JAR}" fork="true" failonerror="true"> 
        <arg value="-debug=${DEBUG}"/> 
        <arg value="+flexlib=${SDK_HOME}/frameworks"/> 
        <arg value="+configname=air"/> 
        <arg value="-file-specs=${MAIN_SOURCE_FILE}"/> 
    </java> 
</target>

and ADT package command

<property name="SDK_HOME" value="C:/AIRSDK"/> 
<property name="ADT.JAR" value="${SDK_HOME}/lib/adt.jar"/> 
 
<target name="package"> 
    <java jar="${ADT.JAR}" fork="true" failonerror="true"> 
        <arg value="-package"/> 
        <arg value="-storetype"/> 
        <arg value="pkcs12"/> 
        <arg value="-keystore"/> 
        <arg value="../../ExampleCert.p12"/> 
        <arg value="myApp.air"/> 
        <arg value="myApp-app.xml"/> 
        <arg value="myApp.swf"/> 
        <arg value="icons/*.png"/> 
    </java>
</target>

Note:
you can use

<java jar="${MXMLC.JAR}" fork="true" failonerror="true">

as well as

<mxmlc file="${SRC_DIR}/Main.mxml" output="${DEPLOY_DIR}/Main.swf">

see Using Flex Ant Tasks to build Flex projects
to learn how to define

<taskdef resource="flexTasks.tasks" classpath="${basedir}/libs/flexTasks.jar"/>

but you can use any other build automation like GNU make, and 1000+ others
see List of build automation software

and in short, with the AIR 33 SDK you will be able to define 2 targets:

<!-- Android ARM 32-bit -->
<target name="android-armabi-v7a">
    <java jar="${ADT.JAR}" fork="true" failonerror="true"> 
        <arg value="-package"/> 
        <arg value="-arch"/> 
        <arg value="armv7"/> 
        ...
    </java>
</target>

<!-- Android ARM 64-bit -->
<target name="android-arm64-v8a"> 
    <java jar="${ADT.JAR}" fork="true" failonerror="true"> 
        <arg value="-package"/> 
        <arg value="-arch"/> 
        <arg value="armv8"/> 
        ...
    </java>
</target>

If you are not sure of which arguments and the orders of arguments (important) are supported

go to where you installed the SDK, and find the adt tool, usually in a bin/ folder
for example

/sdk/air/32_0/
├── AIR\ SDK\ Readme.txt
├── AIR\ SDK\ license.pdf
├── air-sdk-description.xml
├── airsdk.xml
├── ant
│   └── lib
│       └── flexTasks.jar
├── asdoc
│   ├── build.xml
│   └── templates
│       ├── ...
├── atftools
│   ├── ...
├── bin
│   ├── aasdoc
│   ├── aasdoc.bat
│   ├── acompc
│   ├── acompc.bat
│   ├── adl
│   ├── adt          <-- HERE
│   ├── ...

and run the command like this
$ ./adt -help or $ ./adt or $ adt help
you will get all the commands

adt -package SIGNING_OPTIONS? -target bundle SIGNING_OPTIONS? ARCH_OPTIONS? <output-package> ( <app-desc> FILE-AND-PATH-OPTIONS | <input-package> )
...
ARCH_OPTIONS : -arch (armv7 | armv8 | x86 | x64)

the order of the commands is important,
if you see SIGNING_OPTIONS before ARCH_OPTIONS
do respect that order

1 Like

Ok, thanks a lot, will see if I can figure it out.