Using Adobe Air on Android? You are going to thank me for this plugin!

(Guest post by
We have always been heavy TestFlight users, and the announcement that came right after they were bought by Apple, that they will no longer support Android apps on their platform was a huge blow for us as cross-platform developers. Using Adobe Air as our main environment, we couldn’t implement just any native SDK and were basically left without a real solution for testing and debugging our cross-platform apps. Most of the solutions we did find where Native extensions for TestFlight.
A small fairy whispered in our ears about a new kind of project – a highly advanced and sophisticated yet easy to use and implement, called TestFairy 🙂
Having nothing to lose we gave it a shot and were blown away by the amount of vital information presented to us in way that actually made sense, that was easy to understand and analyze. This list of features “killed” TestFlight on all standards.
TestFairy gave us an insight of what’s going on with our apps currently installed on testers and clients’ mobile devices. For the first time we could actually SEE what it means when a client gives you the very specific feedback: “it’s not working”…
So how hard is the implementation?
As easy as it sounds – just upload the APK.
No setup or SDK implementation is needed.
It was all great other than one missing feature: we couldn’t see the AS3 “trace” of caught errors and other information we wanted to trace. In order to deal with this issue we built a small and simple Native Extension that will send the traces to the TestFairy logs.
TestFairy and iOS With TestFairy we do found a solution for android apps but still we wanted both android and iOS in one managed testing platform. As for cross platforms, we have a little secret to share with you, TestFairy is about to support IOS really soon. (already in beta for selected customers)
Here is the Adobe Native Extension for download, documentation can be found here.
We hope you’ll find it as useful as we did and would appreciate your feedback – please share!

TestFairy Gradle plugin

We are very excited to announce that the TestFairy Gradle plugin is now available for everybody. This new plugin integrates the TestFairy platform with the Gradle build system, and allows uploading signed builds directly via command line, IntelliJ, Android Studio and other IDEs. For source code, installation and examples, please checkout our GitHub.
This plugin joins our previous announcements about a NetBeans plugin for TestFairy and our command line tool that can be used for Jenkins or other continuous integration environments. Please check it out and let us know what you think.

TestFairy NetBeans plugin

netbeans logo
If you are using NetBeans for your Android apps, you are going to love to hear that with the great help of the NetBeans team, we have officially released a NetBeans TestFairy plugin, and you can get it on the NetBeans plugin repository here.
The code is on our GitHub, feel free to change it and let us know if you have any improvements.
The code was written with the kind help of Geertjan Wielenga, read more about this plugin on the Orcale blog.
Thank you Geertjan! 🙂

How to upload an app to TestFairy via API

There are two ways to upload apps to TestFairy: The easy way and the smart way.
The easy way is to use the web upload. As simple as it sounds, just click on the upload button and your’re done.
The smart way is to use our command line uploader.
Why is it better? Because when you upload your app via the web interface, after adding our magic we sign it with our certificate instead of yours. It works perfectly for the majority of apps, however if your app uses 3rd party APIs such as Google In App Billing, Google Maps, Facebook connect and such, those services may not like our signature. For those services where your signature is required, our command line uploader will upload your app, wait for it to be instrumented, get it back, sign it with your signature, and re-upload it to our server. If you are using Jenkins or any other continuous integration platform, this script can be a perfect match.
The code is on our GitHub, please free to change it and offer improvements if you can think of anything useful.