Skip to content
Tua Rua edited this page Sep 24, 2019 · 38 revisions

Welcome to the Firebase-ANE wiki!

N.B. You must use a Mac to build an iOS app using these ANEs. Windows is NOT supported.

Prerequisites

You will need

  • AIR 32.0.0.103 or greater
  • Xcode 10.1
  • wget on Mac
  • Powershell on Windows
  • 7-Zip on Windows

Downloading Required Files

Using Terminal on Mac | Command Prompt on Windows

Check out the repo

git clone https://github.com/tuarua/Firebase-ANE.git

Change directory into the example folder eg

cd /MyMac/dev/AIR/Firebase-ANE/example

Run the "get_dependencies" scripts for iOS

bash /MyMac/dev/AIR/Firebase-ANE/example/get_ios_dependencies.sh

Run the "get_dependencies" scripts for Android

bash /MyMac/dev/AIR/Firebase-ANE/example/get_android_dependencies.sh

If using Windows for Android use Powershell

PS get_android_dependencies.ps1

These scripts download the FirebaseANEs and dependencies. eg:

  • example/ios_dependencies/*
  • example/android_dependencies/com.google.firebase.firebase-firestore-17.0.1.ane
  • native_extension/FirestoreANE/ane/FirestoreANE.ane
  • native_extension/AnalyticsANE/ane/AnalyticsANE.ane
  • etc ...

iOS: Packaging Frameworks Dependencies

The iOS FirebaseANEs are written in Swift. We need to package the Swift libraries (along with a couple of dynamic frameworks) with our AIR app

https://raw.githubusercontent.com/wiki/tuarua/Firebase-ANE/images/frameworks-package.png

To find out more about writing Swift based ANEs see FreSwift

Modifications to AIR SDK

We need to patch some files in AIR SDK.

  • Copy the files from AIRSDK_additions into the corresponding folders in your AIRSDK.
  • Create a file called adt.cfg under lib/ with the following contents:

UncompressedExtensions=jpg,jpeg,tflite,lite,emd,pb,tfl,wav,mp3,mp4

AIR 32 & 33

This ANE is built against AIR 33 SDK. If you wish to use with AIR 32 you will need to replace dx.jar in lib/android/bin/ with this one

You should use AIR 32 for iOS builds

IDE Java Memory

If you are including many FirebaseANEs (or many ANEs in general) you may get Memory errors from ADT when compiling your app. Ensure you are allocating a large enough JVM heap size:

For IntelliJ:

https://raw.githubusercontent.com/wiki/tuarua/Firebase-ANE/images/heap-size.png

For Flash Builder:

https://helpx.adobe.com/flash-builder/kb/sluggish-performance-out-memory-errors.html

Clone this wiki locally