Configure a default platform for mobile native extensions.
Been playing around with native extensions on mobile devices starting with the tutorial at http://www.adobe.com/devnet/air/articles/developing-native-extensions-air.html. Things are working great when I deploy it to my Android device, but I am no longer able to test it on the simulator on my dev desktop box. I am having problems figuring out how to set up a default platform which should be called in the case that I am running the application on something other than a true Android device (so either my workstation or an iOS device.) Has someone figured out how to set up a default platform that can handle methods that are currently unimplemented for other platforms, or will no be supported?
Hi Pāvils Jurjāns,
If you are developing Flash Lite for S60 devices, such as the
E65, then you can package your application into a .sis file, which
will install the Flash Lite application and a launcher icon to any
folder you specify on the device.
There are a couple of Flash Lite .sis builder applications
available to purchase online, there is also a tutorial of how to do
it yourself on the Adobe Mobile and Devices Developer Center.
I terms of how serious is Flash Lite in developing device
applications, it depends on what you want to achieve. We have found
it very capable for most applications we need to develop. Sure,
there are some things it cannot do, but then that can also be said
of J2ME.
Regards
Similar Messages
-
Cannot set default programs for a file extension in Gnome
After a gnome upgrade (cannot remember when), I can no longer set the default program for a particular file extension by right clicking the file in nautilus -> going to "properties" -> going to "open with" tab -> highlighting a program -> pressing "set as default".
The program I was trying to set was totem for default video playback; wine had made windows media player the default player prior. Interestingly, once I installed gnome-mplayer; the default program changed to gnome-mplayer and I was then able to switch default programs. This error may be related to wine.
Last edited by Bluerider (2013-07-05 23:07:59) -
Configuring Kodo default implementation for field of Collection type
If I am not mistaken default implementation for field of Collection type in
Kodo is
LinkedList based proxy. It would be great if it were possible to configure
Kodo to use a proxy of my choosing
I did some tests and it seems to me that ArrayList is much more efficient
than Linked list (see below)
Is there any specific reason I am not aware of that makes LinkedList better
than array list
In my applications all collections a relatively small (or at least most of
my collections are definitely small)
and since I use Collection interface there is no inserts into middle of my
collections - only appends (which ArrayList handles very well)
So my question is can I make Kodo to use ArrayListProxy for fields of
Collection type
(except of course using ArrayList field instead of Collection which I do not
want to do)
below is some statistics on collection performance (populating and iterating
collections)
the same test against 3 collections implementations (JDK 1.4.1)
Not only ArrayList by far the fastest and memory friendly it also garbage
collected much sooner and better -
I show here max memory consumption and last to would not be garbage
collected till all memory is in use (old generation GC)
and ArrayList seems to be collected by young gen GC because it was collected
very quickly between test cycles why other only when all memory was used
So please make ArrayList your default collection implementation :-)
Small collection size (40)
time(ms) memory(kb)
ArrayList 5,218 62,154
LinkedList 14,125 240,066
HashSet 27,000 311,825
the same but using using random inserts - append(index, object) rather than
append(object):
ArrayList 8937, 53591
LinkedList 15047, 240066
Larger collection size (200)
ArrayList 4860, 47709
LinkedList 18468, 290704
HashSet 34391, 422282
the same but using using random inserts - append(index, object) rather than
append(object):
ArrayList 11844, 47709
LinkedList 25766, 290704You should be able to accomplish this fairly easily by extending
SimpleProxyManager:
http://solarmetric.com/Software/Documentation/2.4.3/docs/javadoc/com/solarmetric/kodo/util/SimpleProxyManager.html
and overriding the appropriate methods (getCollectionCopy and
getCollectionProxy).
On Mon, 12 May 2003 12:26:21 -0400, Alex Roytman wrote:
If I am not mistaken default implementation for field of Collection type in
Kodo is
LinkedList based proxy. It would be great if it were possible to configure
Kodo to use a proxy of my choosing
I did some tests and it seems to me that ArrayList is much more efficient
than Linked list (see below)
Is there any specific reason I am not aware of that makes LinkedList better
than array list
In my applications all collections a relatively small (or at least most of
my collections are definitely small)
and since I use Collection interface there is no inserts into middle of my
collections - only appends (which ArrayList handles very well)
So my question is can I make Kodo to use ArrayListProxy for fields of
Collection type
(except of course using ArrayList field instead of Collection which I do not
want to do)
below is some statistics on collection performance (populating and iterating
collections)
the same test against 3 collections implementations (JDK 1.4.1)
Not only ArrayList by far the fastest and memory friendly it also garbage
collected much sooner and better -
I show here max memory consumption and last to would not be garbage
collected till all memory is in use (old generation GC)
and ArrayList seems to be collected by young gen GC because it was collected
very quickly between test cycles why other only when all memory was used
So please make ArrayList your default collection implementation :-)
Small collection size (40)
time(ms) memory(kb)
ArrayList 5,218 62,154
LinkedList 14,125 240,066
HashSet 27,000 311,825
the same but using using random inserts - append(index, object) rather than
append(object):
ArrayList 8937, 53591
LinkedList 15047, 240066
Larger collection size (200)
ArrayList 4860, 47709
LinkedList 18468, 290704
HashSet 34391, 422282
the same but using using random inserts - append(index, object) rather than
append(object):
ArrayList 11844, 47709
LinkedList 25766, 290704 -
Hello,
Trying to implement EMET 4.1 update 1 in a VDI environment using group policy. When all default protections are enabled (IE, recommended and popular) EMET is blocking the startup of windows media player within citrix session as caller
mitigation. At this time I wanted to use the GPO "Application Configuration" to specify an exception as "wmplayer.exe -Caller". Even tried "*\Windows Media Player\wmplayer.exe -Caller" but startup would still get blocked. When
using emet_conf --list I would see three entries for wmplayer and the only way to remove Caller is to disable policy "default protection for popular software". Shouldn't settings in Application Configuration take priority as being the exception to
the rule? Alternative is to turn off the "default protection for popular software and list all of them one by one (or use XML file)
here is part of the output of emet_conf --list
all policies:
wmplayer.exe *\Windows Media Player DEP SEHOP NullPage HeapSpray
EAF MandatoryASLR BottomUpASLR LoadLib MemProt SimExecFlow StackPivot
wmplayer.exe DEP SEHOP
NullPage HeapSpray
EAF MandatoryASLR BottomUpASLR LoadLib MemProt SimExecFlow StackPivot
wmplayer.exe *\Windows Media Player DEP NullPage HeapSpray Botto
mUpASLR LoadLib MemProt Caller SimExecFlow StackPivot
without "default protection for popular software" (much less applications listed)
wmplayer.exe DEP SEHOP NullPage HeapSpray EAF Mandator
yASLR BottomUpASLR LoadLib MemProt SimExecFlow StackPivot
wmplayer.exe *\Windows Media Player DEP SEHOP NullPage HeapSpray EAF Mandator
yASLR BottomUpASLR LoadLib MemProt SimExecFlow StackPivot
Thank youif I understood correctly from talking to EMET feedback team last time, they said App Config settings don't actually override any the default app or popular or IE protection profiles. (it really seems like App config settings override the other profiles
from the manual, hey? I thought so as well)
Sooo, it sounded like we'd need to extract the recommended or popular app list, convert it to the path + mitigation not included format for the app config GPO and then just use app config to manage it.
Needless to say it sounded surprising and laborious and not management by exception at all.
Rinse repeat for new versions of emet and XML policy files .
p.s what would be really helpful in the admin guide is some real world examples of contoso.local where they apply the recommended apps + a few exceptions for all + custom exceptions for a separate class of machines or groups of users. hmeh. -
Is XIB not supported in static library (for creating Native Extension)?
Hello,
These day I'm trying to build a static library in XCode to build a Native Extension. The original project from which I'm creating a static library is runs well on device. But when I creates a static library project along with one XIB file within, and port it to the Adobe AIR, the expected XIB view never opens up.
Somewhere some gentleman mentioned that static library can not include XIB, graphics file etc. Is that true (http://stackoverflow.com/questions/2797214/trouble-using-xib-files-in-libraries)? Can't I bundle an ANE with XIB support?
Thanks.
SantanuAlso want to know this Current project may require loading xib over Adobe Air. I suggest to start from here http://stackoverflow.com/questions/7814928/how-to-load-a-xib-file-in-a-uiview and this http://forums.adobe.com/message/4621408
Let me know if this works and would be gr8 if you can share your solution as opensource -
JSF, ADF BC, 11g - Configure default location for pageDefs
Hi all,
As the title suggests, I was wondering if there is anyway to configure the default location for pageDefs.
I've been having some issues when creating a page through faces-config.xml.
If I don't put a folder before the jsp name when declaring the page in the faces-config - eg. /Home.jsp - then the pageDef is created in the correct place - eg. /adfmsrc/com/delexian/app/pageDefs
However if I do put a folder before the jsp name - eg. /app/Home.jsp - then it puts the pageDef in /adfmsrc/app
Anyone know of a workaround?
Cheers,
-chrisHi Chris,
not that I know
In case you have access to Metalink, I logged Bug 7502373 - PAGEDEF FILES NOT CREATED UNDER PAGEDEFS PATH FOR JSPX CREATED IN SUB-DIRECTORY
a few days agi.
See also Note 744764.1 - PageDef Files Not Created Under PageDefs Path For JSPX Created In Sub-Directory
For now, I only see Refactoring as workaround.
Regards,
Didier. -
Is it possible to access an AIR Native Extension inside an Actionscript worker?
Hi, I'm currently trying to push off some time consuming tasks to an actionscript worker. This worker will in turn needs to call out to an AIR Native Extension as part of it's processing.
I've tried various combination in Flash Builder 4.7 i.e. embedded worker and external worker (with explicit packaging of the ANE in the external worker project) but alas I've been unable to get this to setup to work. I keep getting an error from the worker saying that the native extesion class could not be found (Error #1014).
Does anyone know if it is at all possible to do this or it's a limitation of Actionscript workers (loading thw swf bytes does not load up the ANE)?Hi
I also met the same problem---"native extesion class could not be found"
The problem is solved?
I think the reason is
" <extensions>
<extensionID>XXXXXX</extensionID>
</extensions>“ in "-app.xml"
the worker do not konw the extensionID
In this article :
Adobe AIR * Using native extensions for Adobe AIR
Including the ANE file in your application’s library path
To compile an application that uses a native extension, include the ANE file in your library path.
Using the ANE file with Flash Builder
If your application uses a native extension, include the ANE file for the native extension in your library path. Then you can use Flash Builder to compile your ActionScript code.
Do the following steps, which use Flash Builder 4.5.1:
Change the filename extension of the ANE file from .ane to .swc. This step is necessary so that Flash Builder can find the file.
Select Project > Properties on your Flash Builder project.
Select the Flex Build Path in the Properties dialog box.
In the Library Path tab, select Add SWC....
Browse to the SWC file and select Open.
Select OK in the Add SWC... dialog box.
The ANE file now appears in the Library Path tab in the Properties dialog box.
Expand the SWC file entry. Double-click Link Type to open the Library Path Item Options dialog box.
In the Library Path Item Options dialog box, change the Link Type to External.
Now you can compile your application using, for example, Project > Build Project.
the error will be done
Unfortunately, it still does not work well!
Error: Error #3731: This feature is not available within this context.
at flash.external::ExtensionContext$/_createExtensionContext()
at flash.external::ExtensionContext$/createExtensionContext()
3731
This feature is not available within this context.
This error occurs if a background worker attempts to access an API that is not available to it.
Run-Time Errors - Adobe ActionScript® 3 (AS3) API Reference -
Default values for files and columns when adding a discoverer porlet
Hi, i'd like to know how to configure the default value for numbers of columns and files when i add a new discoverer porlet in a portal page.
The actual default value is 10 files and 6 columns and i always have to increase it to at least 100x100.
Is there any config file where i can change that?
I've found a configuration.xml in $ORACLE_HOME/discoverer/config/configuration.xml
with a section
<!-- Discoverer Servlet configuration. Defines behaviour of both
discoverer/plus and discoverer/viewer servlets -->
but couldnt find a parameter for those items.
Thanks in advance.
Daniel PerezI think triggers are the best device.
Scott -
IMEI Check for Mobile Anyconnects
Hi, I'm setting up a SSL VPN for enterprise which allow user to login via smartphone. The enterprise has about 100 users, what is the best way to limit the registered phone?
Currently i'm using DAP for the IMEI check. It is require to configure alot of DAP rules for different user. Any other better way to configure the IMEI check for mobile user?
Thanks alot.Mobile client is an off-line system. It can not make a real-time connection to any system (CRM, R3 etc.).
You can design something where all ATP check & Credit check related data are transfered to CDB & mobile clients. In mobile client you can write code to credit check & ATP check using this information.
But this will not be real-time. If user doesn't do conntrans then data on his laptop will be old, and ATP check & credit check will be done using old information, which may not be write.
But this is the closest you can achieve.
Hope this helps.
Regards,
Kaushal -
I'm using Flash Builder 4.6 and I want to develop an application that is deployed to mobile and desktop devices. Therefore I tried a setup with three projects; one desktop project for Windows and Mac OSX, one mobile project for iOS and Android and also one library project for shared resources. The library project is used in the mobile and desktop project. Afterwards I placed all stuff like AS classes and UI components in the library project and instanciate them in the devices project. This works so far. (As consensus decision-making I used Flex components that are available vor mobile and desktop.)
But If I want to use native extensions (ANE) like a DLL for Windows or a gyroscop for mobile devices, then I can't add the ANE to the library project. I have to add the ANE file separately to each device project and build a separate UI components. Is this the way it's intend to use ANE files? Is there an even simpler approach?
Or is there a completly different way, e.g. setup just one common project (instead of three) and use different skins for mobile and desktop?
Your answer is appreciated. (Including links to documentation and tutorials.)This thread doesn't look promising:
http://forums.adobe.com/message/4737831
Same here:
http://stackoverflow.com/questions/11143907/flashbuilder-4-6-how-do-setup-project-for-mobi le-desktop-publishing
Though if you're using Starling, there's some setup instructions here:
http://wiki.starling-framework.org/manual/project_setup -
My company is developing a game for the iPhone and iPad devices using Flash cs5.5 and Air3.0
The client requires that certain features be supported - such things like GameCenter, Rating system, etc... none of which is currently supported by flash for the iOS.
However, they did provide us with a bunch of xCode sample files on how they want things to work.
My idea was to bridge the gap in functionality by creating a native exention that utilized the xcode source that was given to me, thus giving me the functionality that is required.
But first, I need to actually CREATE a native extension, even just a basic echo/hello world... I have followed all the steps from various guides and tutorials and I have managed to create an ipa and put it on my iPad2 to test, but when the program starts up, nothing happens, I am left with a black screen. When I comment out the lines of code that intialize the extension, it fires up just fine.
(and yes, I even tried to put things in try blocks in case there was an error - no luck)
So I am hoping that someone can read through the process of what I am doing below and point out what I am doing wrong, or what I am missing.
What I am using:
Mac Mini running OSX 10.7.2 - this is used to run xCode 4.1 build 4B110
PC - Windows 7 home 64bit - Running Flash CS5.5 (version 11.5.1.3469) with the AIR 3.0 SDK inside it. I also have the AIR 3.0 sdk in a seperate folder for command line running. (This is my primary developement platform)
The PC does have flash builder installed, but I have never really used it, nor do I know how to use it... everything that has been built to date has been done using Flash CS5.5
So, this is what I have done.
The first thing I do is create a .a static library on the mac.
I open xcode and create a new project.
Select iOS Framework and Library, then select "Cocoa touch Static Library"
Give it a name, in this case "EchoExtension" and put it in a folder.
I then delete the EchoExtension.h file as all the samples I have seen to date don't use it.
I then add "FlashRuntimeExtension.h" to the project from the AIR3.0 sdk frameworks folder on my PC
I then delete everything in my .m file and, following several different examples and tutorials, type up the following code:
// EchoExtension.m
// EchoExtension
#include "FlashRuntimeExtensions.h"
FREObject echo(FREContext ctx, void* funcData, uint32_t argc, FREObject argv[]) {
return argv[0];
//----------- Extention intializer and finalizer ----------------------------------------------------------------------------------------- ------------------------------------------------------------------------------------------ -
// A native context instance is created
void ContextInitializer(void* extData, const uint8_t* ctxType, FREContext ctx, uint32_t* numFunctionsToTest, const FRENamedFunction** functionsToSet) {
// setup the number of functions in this extention
// for easy reference, set the number of function that this extention will use.
int FunctionCount = 1;
// set the pointer reference to the number of function this extention will use.
*numFunctionsToTest = FunctionCount;
// create an array to store all the functions we will use.
FRENamedFunction* func = (FRENamedFunction*)malloc(sizeof(FRENamedFunction)*FunctionCount);
// create an array entry for each function
func[0].name = (const uint8_t*)"echo"; // the name of the function
func[0].functionData = NULL; // the data type
func[0].function = &echo; // reference to the actual function
// save the array in a pointer.
*functionsToSet = func;
// A native context instance is disposed
void ContextFinalizer(FREContext ctx) {
return;
// Initialization function of each extension
void ExtInitializer(void** extDataToSet, FREContextInitializer* ctxInitializerToSet, FREContextFinalizer* ctxFinalizerToSet) {
*extDataToSet = NULL;
*ctxInitializerToSet = &ContextInitializer;
*ctxFinalizerToSet = &ContextFinalizer;
// Called when extension is unloaded
void ExtFinalizer(void* extData) {
return;
I then go "Product", "Build" and it creates libEchoExtension.a
I copy this .a file over to my PC.
I am now finish with that god foresaken mac (*shudders*)
Back on my PC, I create a folder for my test project. For all intents an purposes, let's call this "D:\src\EchoExtension" I then create 2 folders, one called "lib" and one called "app". Lib is where I will create the actionscript source for my extension.
In my lib folder, I create a new fla in flash cs5.5 called "EchoExtension.fla"
I create in my lib folder, the following:
com\extensions\EchoExtension\EchoExtension.as
a folder called "Build" in which I place my libEchoExtension.a file.
in my EchoExtension.as file, I place the following code:
package com.extensions.EchoExtension
import flash.events.EventDispatcher;
import flash.events.IEventDispatcher;
import flash.external.ExtensionContext;
public class EchoExtension extends EventDispatcher
protected var _extensionContext:ExtensionContext;
* Constructor.
public function EchoExtension()
super();
// Initialize extension.
_extensionContext = ExtensionContext.createExtensionContext( "com.extensions.EchoExtension", "main" );
public function echo(Prompt:String):String
return _extensionContext.call( "echo" ) as String;
In my main fla, on the first layer of the time line, I simply put the following code to make sure that the as file get's included when I publish the swc.
import com.extensions.EchoExtension.EchoExtension;
var ext:EchoExtension = new EchoExtension();
stop();
I then open up my fla's publish settings, turn off the swf - which I don't need, and check the swc and make sure that it outputs into my build folder. "./Build/EchoExtension.swc"
I also set the player to Air 3.0 (which I can do since I have successfully integrated AIR 3.0 along side my AIR 2.6 and can build both without any problems)
I then publish the swc. So far, so good. No problems.
I then make a copy of the swc and rename it to EchoExtension.swc.zip, at which point I extract the library.swf file from it and also place it in my build folder.
I then create extension.xml in by build folder which contains the following code:
<extension xmlns="http://ns.adobe.com/air/extension/2.5">
<id>com.extensions.EchoExtension</id>
<versionNumber>1</versionNumber>
<platforms>
<platform name="iPhone-ARM">
<applicationDeployment>
<nativeLibrary>libEchoExtension.a</nativeLibrary>
<initializer>ExtInitializer</initializer>
<finalizer>ExtFinalizer</finalizer>
</applicationDeployment>
</platform>
</platforms>
</extension>
Now, at this point I am a little wary, because I am building for the iPad2... the platform is iPhone... I thought that may be a problem and at one point I tested the same build on the iPhone4 and had the same results. I have also tested it using the platform name of iPad-ARM and got the same results... So I don't think that is the problem, but I am unsure.
Now, to make things easier, I created a batch file called "buildane.bat" in my build folder. This is what I will use to create my .ane file and it contains the following command line:
D:\SDKs\AirSDK30\bin\adt -package -target ane EchoExtension.ane extension.xml -swc EchoExtension.swc -platform iPhone-ARM library.swf libEchoExtension.a
I then open a command prompt and run buildane.bat and poof. My ane is created. My build folder has the following files in it now:
buildane.bat
EchoExtension.ane
EchoExtension.swc
EchoExtension.swc.zip
extension.xml
libEchoExtension.a
library.swf
Now that I have my swc, ane, and all that, it's time to create my sample application that will be used to test my new extension.
I go back to my D:\src\EchoExtension folder and go into the app folder I created ealier.
I then create a new flash project called EchoExtensionTester.fla
I open the action script settings, library paths, and add the swc that I created in my D:\src\EchoExtension\lib\build folder to my project.
On my stage, I create an input text field called txtInput, a dynamic text field called txtEcho, and a couple of buttons called btnClear, btnRuntime, and btnEcho
I open up the first layer in the time line and place the following code:
// basic imports.
import flash.desktop.NativeApplication;
import flash.events.MouseEvent;
import flash.text.TextField;
// import the extension from our swc.
import com.extensions.EchoExtension.EchoExtension;
// set our input text field to need the softkeyboard
txtInput.needsSoftKeyboard = true;
// add the event handlers to our buttons.
btnEcho.addEventListener(MouseEvent.CLICK, btnEcho_Click);
btnClear.addEventListener(MouseEvent.CLICK, btnClear_Click);
btnRunTime.addEventListener(MouseEvent.CLICK, btnRunTime_Click);
// create our extension variable.
var ext:EchoExtension;
try
// initialize our echo extension.
ext = new EchoExtension();
} catch (e:Error) {
txtEcho.text = "Error trying to create new EchoExtension:\n\n" + e;
stop();
// clear the echo text field
function btnClear_Click(e:MouseEvent):void
txtEcho.text = "";
// just for testing, put the current version of air runtime into our text field so we can make sure we are running air 3.0
function btnRunTime_Click(e:MouseEvent):void
txtEcho.text += "\nRuntime version = " + NativeApplication.nativeApplication.runtimeVersion;
// call the extension, passing it whatever is in the input text field and have it return it and place it in our echo text field
function btnEcho_Click(e:MouseEvent):void
txtEcho.text += "\n";
try
txtEcho.text += ext.echo(txtInput.text);
} catch (e:Error) {
txtEcho.text += "\nError calling ext.echo: " + e;
I then save the project, Open the Air for iOS settings and set the following: (but yes, I know... I am going to have to use adt to do the build, but I need to create the swf first)
Output file: EchoExtensionTester.ipa
Appname: EchoExtensionTester
Version 1.0
Landscape
Fullscreen On
Auto orientation is off
rendering GPU
device: iPad and iPhone
Res: High
Deployement: I use my certificate and provisionging profile that I use for my Primary project (which work) and set for device testing.
I close the window and save again... but before I publish, I open newly created "EchoExtensionTester-app.xml" that is in my app folder.
I add <extensions> <extensionID>com.extensions.EchoExtension</extensionID> </extensions> to the xml file so now it looks like this:
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<application xmlns="http://ns.adobe.com/air/application/3.0">
<extensions>
<extensionID>com.extensions.EchoExtension</extensionID>
</extensions>
<id>EchoExtensionTester</id>
<versionNumber>1.0</versionNumber>
<filename>EchoExtensionTester</filename>
<description/>
<!-- To localize the description, use the following format for the description element.<description><text xml:lang="en">English App description goes here</text><text xml:lang="fr">French App description goes here</text><text xml:lang="ja">Japanese App description goes here</text></description>-->
<name>EchoExtensionTester</name>
<!-- To localize the name, use the following format for the name element.<name><text xml:lang="en">English App name goes here</text><text xml:lang="fr">French App name goes here</text><text xml:lang="ja">Japanese App name goes here</text></name>-->
<copyright/>
<initialWindow>
<content>EchoExtensionTester.swf</content>
<systemChrome>standard</systemChrome>
<transparent>false</transparent>
<visible>true</visible>
<fullScreen>true</fullScreen>
<aspectRatio>landscape</aspectRatio>
<renderMode>gpu</renderMode>
<maximizable>true</maximizable>
<minimizable>true</minimizable>
<resizable>true</resizable>
<autoOrients>false</autoOrients>
</initialWindow>
<icon/>
<customUpdateUI>false</customUpdateUI>
<allowBrowserInvocation>false</allowBrowserInvocation>
<iPhone>
<InfoAdditions>
<![CDATA[<key>UIDeviceFamily</key><array><string>1</string><string>2</string></array>]]>
</InfoAdditions>
<requestedDisplayResolution>high</requestedDisplayResolution>
</iPhone>
</application>
I save the changes to the xml and go back to flash. I then publish.
The swf is created as it should be, but then I get the error message:
Error creating files.
An implmentation for native extension 'com.extensions.EchoExtension' required by the application was not found for the target platform.
Now, while this is a pain in the rear, I new this was going to happen because in my reading of tutorials and samples, they all said that you must use adt to build the ipa... but that's fine... all I wanted anyway was the swf, which I now have in my app folder.
I close down flash as I don't need it anymore and I create a new batch file: (note: I change the names of the cert, provision profile, and password for this post)
cls
"D:\SDKs\AirSDK30\bin\adt" -package -target ipa-ad-hoc -storetype pkcs12 -keystore "D:\src\mycert.p12" -storepass MYPASSWORD -provisioning-profile "D:\src\myprovfile.mobileprovision" "EchoExtensionTester.ipa" "EchoExtensionTester-app.xml" "EchoExtensionTester.swf" -extdir ../lib/Build
set /p dummy=
echo done
I then open a command window in my app folder and run build.bat...
I wait about 2 minutes....
YAY! My ipa file has been created with no errors reported so far.... Time to copy this bad boy to the iPad and see what happens.
I open iTunes, drag "EchoExtensionTester.ipa" over to the Apps, then sync my device....
YAY! iTunes has successfully installed the ipa on the device... and there is by bright and shiney blank icon for Echo Extension Tester...
I open the app.... and.....
nothing.
I wait
still nothing.
I go to the bathroom.
I get back... still nothing... just a black screen.
I press the iPad home button, the app minimized, I restore it... nothing... black screen.
hrm. Time to do a little trial and error to see if I can figure out where the break down is.
As a test, I open my fla and I comment out the following lines:
ext = new EchoExtension();
txtEcho.text += ext.echo(txtInput.text);
I then rebuild the swf... get the same error (don't care)... I then rebuild the ipa using the batch file.... and re-install it on the device when it's done.
The exact same thing....
I open the xml file... and remove the <extensionID>com.extensions.EchoExtension</extensionID> line, save and re-run the batch file again... wait for the ipa to finish, and run it on the device.
I fire up the program on the iPad and it launches perfectly... except for the commented line of code to actually create and call the extension, everything works as it should. The runtime on the device is reporting as 3.0.0.4080
As a test, I open the .fla back up and uncomment the 2 lines I commented out above... keeping the extensionID out of the xml file, I re-publish the ipa.... of course, this time, it actually creates the ipa from flash because the extension id is not in the xml.
I put the ipa file with the extension code in place on the ipad... Fire it up and put some text into the txtInput and press the echo button. I get the following error:Error calling ext.echo: TypeError: Error #1009
I suspect that is because I failed into include the extension in the descriptor... but when I build it with the extensionid in the xml, I just get a black screen. I am 99% sure that the extension context in the ext object is null (because that is what happens when I run it in flash debug without the extension lines in the xml)
And here I am stuck.
Can anyone tell me what I am doing wrong or what I have forgotten to do?
Thanks.I have been trying to get the remote debugging working with my flash and ipad2... but I can't seem to figure it out. I looked at several tutorials, but the ipad build just doesn't want to seem to connect to the flash remote debugger.
Anyway... here is a little more information.
I moved the initialization of the extension from the start of the application to the button event itself. Now, the application will start up exactly as it's supposed to, but when I press the button that creates and initalizes the extension and does the echo call, the application crashes.
Here is the new code:
// basic imports.
import flash.desktop.NativeApplication;
import flash.events.MouseEvent;
import flash.text.TextField;
// import the extension from our swc.
import com.extensions.EchoExtension.EchoExtension;
// set our input text field to need the softkeyboard
txtInput.needsSoftKeyboard = true;
// add the event handlers to our buttons.
btnEcho.addEventListener(MouseEvent.CLICK, btnEcho_Click);
btnClear.addEventListener(MouseEvent.CLICK, btnClear_Click);
btnRunTime.addEventListener(MouseEvent.CLICK, btnRunTime_Click);
txtEcho.text += "Initialization complete.\n";
stop();
// clear the echo text field
function btnClear_Click(e:MouseEvent):void
txtEcho.text = "";
// just for testing, put the current version of air runtime into our text field so we can make sure we are running air 3.0
function btnRunTime_Click(e:MouseEvent):void
txtEcho.text += "Runtime version = " + NativeApplication.nativeApplication.runtimeVersion +"\n" ;
// call the extension, passing it whatever is in the input text field and have it return it and place it in our echo text field
function btnEcho_Click(e:MouseEvent):void
// create our extension variable.
try
var ext:EchoExtension = new EchoExtension();
txtEcho.text += ext.echo(txtInput.text) +"\n" ;
ext = null;
} catch (err:Error) {
txtEcho.text += "Error: " + err.message +"\n" ;
Now, program crashes are an entirely different animal because the ipad creates a crash log! YAY!
this is what the crash log contains:
Incident Identifier: 4BF67A2C-FD36-495D-BB56-B3DCA4772EB8
CrashReporter Key: 7a4dd56d46eb23a7701ad55245de2bca11c48b32
Hardware Model: iPad2,2
Process: EchoExtensionTester [9272]
Path: /var/mobile/Applications/90B3B31D-F516-4094-BE3B-88E1324419EC/EchoExtensionTester.app/Ech oExtensionTester
Identifier: EchoExtensionTester
Version: ??? (???)
Code Type: ARM (Native)
Parent Process: launchd [1]
Date/Time: 2011-10-28 14:17:48.145 -0300
OS Version: iPhone OS 4.3.5 (8L1)
Report Version: 104
Exception Type: EXC_BAD_ACCESS (SIGBUS)
Exception Codes: KERN_PROTECTION_FAILURE at 0x00000000
Crashed Thread: 0
Thread 0 name: Dispatch queue: com.apple.main-thread
Thread 0 Crashed:
0 EchoExtensionTester 0x00813aac 0x1000 + 8465068
1 EchoExtensionTester 0x005f88ec 0x1000 + 6256876
2 EchoExtensionTester 0x00372ba4 0x1000 + 3611556
3 EchoExtensionTester 0x006dd7c8 0x1000 + 7194568
4 EchoExtensionTester 0x006dd25c 0x1000 + 7193180
5 EchoExtensionTester 0x006de304 0x1000 + 7197444
6 EchoExtensionTester 0x006dc750 0x1000 + 7190352
7 EchoExtensionTester 0x006730cc 0x1000 + 6758604
8 EchoExtensionTester 0x006dd0ac 0x1000 + 7192748
9 EchoExtensionTester 0x006dc750 0x1000 + 7190352
10 EchoExtensionTester 0x006730cc 0x1000 + 6758604
11 EchoExtensionTester 0x006dd0ac 0x1000 + 7192748
12 EchoExtensionTester 0x006dc750 0x1000 + 7190352
13 EchoExtensionTester 0x006730cc 0x1000 + 6758604
14 EchoExtensionTester 0x006dd0ac 0x1000 + 7192748
15 EchoExtensionTester 0x0032fc90 0x1000 + 3337360
16 EchoExtensionTester 0x00329e1c 0x1000 + 3313180
17 EchoExtensionTester 0x0032171c 0x1000 + 3278620
18 EchoExtensionTester 0x0032179c 0x1000 + 3278748
19 EchoExtensionTester 0x0032ae00 0x1000 + 3317248
20 EchoExtensionTester 0x00137328 0x1000 + 1270568
21 EchoExtensionTester 0x004f9a5c 0x1000 + 5212764
22 EchoExtensionTester 0x00035adc 0x1000 + 215772
23 EchoExtensionTester 0x002f6824 0x1000 + 3102756
24 EchoExtensionTester 0x002f7f18 0x1000 + 3108632
25 UIKit 0x35ef9bee 0x35ede000 + 113646
26 UIKit 0x35ef9568 0x35ede000 + 111976
27 UIKit 0x35ee230c 0x35ede000 + 17164
28 UIKit 0x35ee1c4c 0x35ede000 + 15436
29 GraphicsServices 0x321e9e70 0x321e5000 + 20080
30 CoreFoundation 0x316f3a90 0x3167e000 + 481936
31 CoreFoundation 0x316f5838 0x3167e000 + 489528
32 CoreFoundation 0x316f6606 0x3167e000 + 493062
33 CoreFoundation 0x31686ebc 0x3167e000 + 36540
34 CoreFoundation 0x31686dc4 0x3167e000 + 36292
35 GraphicsServices 0x321e9418 0x321e5000 + 17432
36 GraphicsServices 0x321e94c4 0x321e5000 + 17604
37 UIKit 0x35f0cd62 0x35ede000 + 191842
38 UIKit 0x35f0a800 0x35ede000 + 182272
39 EchoExtensionTester 0x001819e4 0x1000 + 1575396
40 EchoExtensionTester 0x00813a6c 0x1000 + 8465004
Thread 1:
0 libsystem_kernel.dylib 0x35afe3ec 0x35aec000 + 74732
1 libsystem_c.dylib 0x31bf06d8 0x31bbc000 + 214744
2 libsystem_c.dylib 0x31bf0bbc 0x31bbc000 + 215996
Thread 2 name: Dispatch queue: com.apple.libdispatch-manager
Thread 2:
0 libsystem_kernel.dylib 0x35afefbc 0x35aec000 + 77756
1 libdispatch.dylib 0x31660ed4 0x31660000 + 3796
2 libdispatch.dylib 0x31661f3a 0x31660000 + 7994
3 libdispatch.dylib 0x316614ec 0x31660000 + 5356
4 libsystem_c.dylib 0x31bf058a 0x31bbc000 + 214410
5 libsystem_c.dylib 0x31bf0bbc 0x31bbc000 + 215996
Thread 3 name: WebThread
Thread 3:
0 libsystem_kernel.dylib 0x35afbc00 0x35aec000 + 64512
1 libsystem_kernel.dylib 0x35afb758 0x35aec000 + 63320
2 CoreFoundation 0x316f42b8 0x3167e000 + 484024
3 CoreFoundation 0x316f6562 0x3167e000 + 492898
4 CoreFoundation 0x31686ebc 0x3167e000 + 36540
5 CoreFoundation 0x31686dc4 0x3167e000 + 36292
6 WebCore 0x3248e27e 0x32488000 + 25214
7 libsystem_c.dylib 0x31bef30a 0x31bbc000 + 209674
8 libsystem_c.dylib 0x31bf0bb4 0x31bbc000 + 215988
Thread 4:
0 libsystem_kernel.dylib 0x35afdd18 0x35aec000 + 72984
1 libsystem_c.dylib 0x31c16860 0x31bbc000 + 370784
2 libsystem_c.dylib 0x31bbdeb2 0x31bbc000 + 7858
3 EchoExtensionTester 0x004aa090 0x1000 + 4886672
4 EchoExtensionTester 0x002a0b54 0x1000 + 2751316
5 EchoExtensionTester 0x004aa2fc 0x1000 + 4887292
6 EchoExtensionTester 0x004aa5e8 0x1000 + 4888040
7 EchoExtensionTester 0x004aa748 0x1000 + 4888392
8 libsystem_c.dylib 0x31bef30a 0x31bbc000 + 209674
9 libsystem_c.dylib 0x31bf0bb4 0x31bbc000 + 215988
Thread 5:
0 libsystem_kernel.dylib 0x35afdd18 0x35aec000 + 72984
1 libsystem_c.dylib 0x31c16860 0x31bbc000 + 370784
2 libsystem_c.dylib 0x31bbdeb2 0x31bbc000 + 7858
3 EchoExtensionTester 0x004aa090 0x1000 + 4886672
4 EchoExtensionTester 0x002a0b54 0x1000 + 2751316
5 EchoExtensionTester 0x004aa2fc 0x1000 + 4887292
6 EchoExtensionTester 0x004aa5e8 0x1000 + 4888040
7 EchoExtensionTester 0x004aa748 0x1000 + 4888392
8 libsystem_c.dylib 0x31bef30a 0x31bbc000 + 209674
9 libsystem_c.dylib 0x31bf0bb4 0x31bbc000 + 215988
Thread 6:
0 libsystem_kernel.dylib 0x35afbc74 0x35aec000 + 64628
1 libsystem_kernel.dylib 0x35afbf46 0x35aec000 + 65350
2 libsystem_c.dylib 0x31c16812 0x31bbc000 + 370706
3 libsystem_c.dylib 0x31c169fe 0x31bbc000 + 371198
4 EchoExtensionTester 0x004a9f60 0x1000 + 4886368
5 EchoExtensionTester 0x001b8908 0x1000 + 1800456
6 EchoExtensionTester 0x001b893c 0x1000 + 1800508
7 EchoExtensionTester 0x004aa2fc 0x1000 + 4887292
8 EchoExtensionTester 0x004aa5e8 0x1000 + 4888040
9 EchoExtensionTester 0x004aa748 0x1000 + 4888392
10 libsystem_c.dylib 0x31bef30a 0x31bbc000 + 209674
11 libsystem_c.dylib 0x31bf0bb4 0x31bbc000 + 215988
Thread 7:
0 libsystem_kernel.dylib 0x35afdd18 0x35aec000 + 72984
1 libsystem_c.dylib 0x31c16860 0x31bbc000 + 370784
2 libsystem_c.dylib 0x31bbde86 0x31bbc000 + 7814
3 EchoExtensionTester 0x004aa044 0x1000 + 4886596
4 EchoExtensionTester 0x0039367c 0x1000 + 3745404
5 EchoExtensionTester 0x004aa2fc 0x1000 + 4887292
6 EchoExtensionTester 0x004aa5e8 0x1000 + 4888040
7 EchoExtensionTester 0x004aa748 0x1000 + 4888392
8 libsystem_c.dylib 0x31bef30a 0x31bbc000 + 209674
9 libsystem_c.dylib 0x31bf0bb4 0x31bbc000 + 215988
Thread 0 crashed with ARM Thread State:
r0: 0x03ebb060 r1: 0x00000000 r2: 0x00000000 r3: 0x00000000
r4: 0x043b19e0 r5: 0x00000002 r6: 0x2fdfc178 r7: 0x2fdfc108
r8: 0x043b19e0 r9: 0x007d47d4 r10: 0x2fdfc1e4 r11: 0x043b19f0
ip: 0x00813aad sp: 0x2fdfc03c lr: 0x005f88f4 pc: 0x00813aac
cpsr: 0x68000030
Binary Images:
0x1000 - 0x8d6fff +EchoExtensionTester armv7 <4c58623df42ff7826b2bf3efab136467> /var/mobile/Applications/90B3B31D-F516-4094-BE3B-88E1324419EC/EchoExtensionTester.app/Ech oExtensionTester
0x2fe00000 - 0x2fe25fff dyld armv7 <4d3190188cbf32a8a73f32a8b5bb7adf> /usr/lib/dyld
0x30986000 - 0x309b9fff QuickLook armv7 <29d2d981d1d6358381f5716ee37314b4> /System/Library/Frameworks/QuickLook.framework/QuickLook
0x30ab8000 - 0x30abefff StoreKit armv7 <0deee3e11c7632aab98ab3c026d41e41> /System/Library/Frameworks/StoreKit.framework/StoreKit
0x30ac5000 - 0x30af3fff DataAccess armv7 <3a2e67aa1d8834b7a8fc2fbb56654b15> /System/Library/PrivateFrameworks/DataAccess.framework/DataAccess
0x30af4000 - 0x30b9afff GameKit armv7 <844f6d90111f3e81961a723f557dd2a1> /System/Library/Frameworks/GameKit.framework/GameKit
0x30bbf000 - 0x30c7efff CFNetwork armv7 <b09e0d53de9f3bc8bde494780f3cdd4f> /System/Library/Frameworks/CFNetwork.framework/CFNetwork
0x30c81000 - 0x30d05fff AVFoundation armv7 <eeaf5f4f822436a5bd1655f536e69879> /System/Library/Frameworks/AVFoundation.framework/AVFoundation
0x30e07000 - 0x30f07fff libGLProgrammability.dylib armv7 <c0e6b958279639c098136283c6ad06a8> /System/Library/Frameworks/OpenGLES.framework/libGLProgrammability.dylib
0x30f08000 - 0x30f0bfff ActorKit armv7 <f7aa6cdd654231988aafcf448978f450> /System/Library/PrivateFrameworks/ActorKit.framework/ActorKit
0x30f0c000 - 0x30f52fff CoreTelephony armv7 <af7d1e770e5a3ffd8834a57fb5d40557> /System/Library/Frameworks/CoreTelephony.framework/CoreTelephony
0x30f56000 - 0x30f5dfff AggregateDictionary armv7 <ab9777b39e8e3026ad64dc90323cad7e> /System/Library/PrivateFrameworks/AggregateDictionary.framework/AggregateDictionary
0x30f85000 - 0x31072fff libiconv.2.dylib armv7 <f4146ce07e3031ea8a81fa5516fd77d0> /usr/lib/libiconv.2.dylib
0x3107a000 - 0x310affff AddressBook armv7 <3f2071a77bc134cd82065eef90d4082f> /System/Library/Frameworks/AddressBook.framework/AddressBook
0x310b0000 - 0x311d1fff CoreGraphics armv7 <65f6c8701b563542820a26b0dfc4f6a4> /System/Library/Frameworks/CoreGraphics.framework/CoreGraphics
0x31209000 - 0x31241fff IOKit armv7 <80ae313ad69d3363935c88e51a11862d> /System/Library/Frameworks/IOKit.framework/Versions/A/IOKit
0x31242000 - 0x3129bfff EventKit armv7 <0d4e597ee229337183e96e921a72e30a> /System/Library/Frameworks/EventKit.framework/EventKit
0x312af000 - 0x3136bfff MapKit armv7 <806f9ca7eb593d1998587441ce87a396> /System/Library/Frameworks/MapKit.framework/MapKit
0x3136c000 - 0x31466fff GameKitServices armv7 <a69426414c4634cda77409d5890696ac> /System/Library/PrivateFrameworks/GameKitServices.framework/GameKitServices
0x31469000 - 0x314a6fff CoreText armv7 <fb6a72faec2330c4b2cd33c2e9c59588> /System/Library/Frameworks/CoreText.framework/CoreText
0x314a7000 - 0x314abfff libGFXShared.dylib armv7 <a0772a32cd8b3b9194bb0c29807c1c5b> /System/Library/Frameworks/OpenGLES.framework/libGFXShared.dylib
0x314ac000 - 0x314c7fff FTServices armv7 <e23c3572bf3a36a3a99364d18c484f1e> /System/Library/PrivateFrameworks/FTServices.framework/FTServices
0x314c8000 - 0x31519fff libsqlite3.dylib armv7 <8a41cc6a6d9332308bc415d27577fd24> /usr/lib/libsqlite3.dylib
0x31624000 - 0x31626fff libAccessibility.dylib armv7 <d55f1553d14831a2a5435ae27ef75ef4> /usr/lib/libAccessibility.dylib
0x31627000 - 0x3165ffff libCGFreetype.A.dylib armv7 <416c77100b453e3f838831c4c857f8c7> /System/Library/Frameworks/CoreGraphics.framework/Resources/libCGFreetype.A.dylib
0x31660000 - 0x3166dfff libdispatch.dylib armv7 <9a0511ad5ebc3db898f1f49ed1a73d34> /usr/lib/system/libdispatch.dylib
0x3167e000 - 0x31763fff CoreFoundation armv7 <a8444f997111304c9571b3ff974b769c> /System/Library/Frameworks/CoreFoundation.framework/CoreFoundation
0x31797000 - 0x317cefff Security armv7 <6599f42a910b3b31a0e1d98c883d61cb> /System/Library/Frameworks/Security.framework/Security
0x317cf000 - 0x317effff PrintKit armv7 <e5a01ca9083a36afacc08611a398e2ad> /System/Library/PrivateFrameworks/PrintKit.framework/PrintKit
0x31851000 - 0x31858fff libbz2.1.0.dylib armv7 <0a082e1d475432959ba93aa3dbf7fb31> /usr/lib/libbz2.1.0.dylib
0x31ba0000 - 0x31ba8fff MobileBluetooth armv7 <63f11756c4aa3262b2317ff3b8e2a977> /System/Library/PrivateFrameworks/MobileBluetooth.framework/MobileBluetooth
0x31bbc000 - 0x31c3dfff libsystem_c.dylib armv7 <17ee3fe220c23b1f898d21ba25b2bcac> /usr/lib/system/libsystem_c.dylib
0x31c5a000 - 0x31d6cfff MediaPlayer armv7 <da848c0745a637af81d7edd962a09324> /System/Library/Frameworks/MediaPlayer.framework/MediaPlayer
0x31d6d000 - 0x31e0afff AddressBookUI armv7 <e354aeb3d96e30338e90cc3638ffe81b> /System/Library/Frameworks/AddressBookUI.framework/AddressBookUI
0x31e0b000 - 0x31e3afff SystemConfiguration armv7 <1d73b8a159363f96bb9c039655c5eae6> /System/Library/Frameworks/SystemConfiguration.framework/SystemConfiguration
0x31e42000 - 0x31e4bfff MobileWiFi armv7 <03d98d5cf6383695aa7d8a88da52f410> /System/Library/PrivateFrameworks/MobileWiFi.framework/MobileWiFi
0x31e4c000 - 0x31e4cfff libCVMSPluginSupport.dylib armv7 <42d8aa2a31843a6e8bfff745644a7ba5> /System/Library/Frameworks/OpenGLES.framework/libCVMSPluginSupport.dylib
0x31e4d000 - 0x31e4dfff Accelerate armv7 <7d5ad465049136afaa1f0d89aac600bc> /System/Library/Frameworks/Accelerate.framework/Accelerate
0x31e6b000 - 0x31e6efff CaptiveNetwork armv7 <fc834fd33a18341ea7506587ad895703> /System/Library/PrivateFrameworks/CaptiveNetwork.framework/CaptiveNetwork
0x31e6f000 - 0x31e81fff TelephonyUI armv7 <e2c34b9a391e3384875ac552dbca0ad4> /System/Library/PrivateFrameworks/TelephonyUI.framework/TelephonyUI
0x31e82000 - 0x31e97fff libresolv.9.dylib armv7 <e92cfbb83f7b330db19181e797bb3f7b> /usr/lib/libresolv.9.dylib
0x31e98000 - 0x31ea3fff libz.1.dylib armv7 <ac706bee36593dc683fd5a96a389d72e> /usr/lib/libz.1.dylib
0x31ec7000 - 0x31ec9fff SpringBoardUI armv7 <90ba5da3e3e337e0a83e2c2589d951a8> /System/Library/PrivateFrameworks/SpringBoardUI.framework/SpringBoardUI
0x31ed3000 - 0x31ef0fff libsystem_info.dylib armv7 <48016be86e3f3cd9aeee1c6590e1ac6f> /usr/lib/system/libsystem_info.dylib
0x31ef2000 - 0x31ef4fff libgcc_s.1.dylib armv7 <a2631ac302f4310dae8367939e16b7c2> /usr/lib/libgcc_s.1.dylib
0x31f0c000 - 0x31f3ffff AppSupport armv7 <0217468bd9f839229a47910b7816b3d5> /System/Library/PrivateFrameworks/AppSupport.framework/AppSupport
0x31f40000 - 0x31f43fff IOSurface armv7 <ad50e71624583d06b891344d832f9b08> /System/Library/PrivateFrameworks/IOSurface.framework/IOSurface
0x31f64000 - 0x31f79fff OpenAL armv7 <162722d7da273d649798b27ae0e4458c> /System/Library/Frameworks/OpenAL.framework/OpenAL
0x31fa8000 - 0x31fb7fff MobileDeviceLink armv7 <563a09bcdb2f32369b1e22f53f58273a> /System/Library/PrivateFrameworks/MobileDeviceLink.framework/MobileDeviceLink
0x31fb8000 - 0x31ff4fff libGLImage.dylib armv7 <9d97699e44ee3651ba4ac37e5adec35b> /System/Library/Frameworks/OpenGLES.framework/libGLImage.dylib
0x31ff5000 - 0x3203ffff libstdc++.6.dylib armv7 <e98c3fd72ba43d02aac24b08f7219eb7> /usr/lib/libstdc++.6.dylib
0x32044000 - 0x3204bfff libMobileGestalt.dylib armv7 <55f29184efcc3046bb833dd72a4487e1> /usr/lib/libMobileGestalt.dylib
0x320af000 - 0x320d3fff MediaControl armv7 <1cfc7d79f554357ab59eb69f9efebf07> /System/Library/PrivateFrameworks/MediaControl.framework/MediaControl
0x320d6000 - 0x320dbfff libcopyfile.dylib armv7 <e32cf2d48a1f3060b372ca7623e4a12b> /usr/lib/system/libcopyfile.dylib
0x320df000 - 0x320e5fff BluetoothManager armv7 <7861bc6128d93f72877df2f234434a47> /System/Library/PrivateFrameworks/BluetoothManager.framework/BluetoothManager
0x320f2000 - 0x320f7fff liblaunch.dylib armv7 <f5ccc8234aea3ebd9a88bd37f0fa23ae> /usr/lib/system/liblaunch.dylib
0x32124000 - 0x32127fff MobileIcons armv7 <08e426f8a707388d8adda670bfed0c2e> /System/Library/PrivateFrameworks/MobileIcons.framework/MobileIcons
0x3216d000 - 0x321a0fff iCalendar armv7 <34ce1957082f3518b5740ac33cfc92eb> /System/Library/PrivateFrameworks/iCalendar.framework/iCalendar
0x321e5000 - 0x321f1fff GraphicsServices armv7 <ff78a9636e933f0dbd222f8d26209788> /System/Library/PrivateFrameworks/GraphicsServices.framework/GraphicsServices
0x321f2000 - 0x32231fff libSystem.B.dylib armv7 <64cf947dd8423eeeb677f81dd3eb2d9d> /usr/lib/libSystem.B.dylib
0x32232000 - 0x3225bfff ContentIndex armv7 <ecd71782cd833360872b943ecc65d203> /System/Library/PrivateFrameworks/ContentIndex.framework/ContentIndex
0x32270000 - 0x322a5fff ImageCapture armv7 <2c474beec10f3791ac8a1d37df04600f> /System/Library/PrivateFrameworks/ImageCapture.framework/ImageCapture
0x322a6000 - 0x322dafff VideoToolbox armv7 <570c63dc3a273a5a8c9072fd5567f5c1> /System/Library/PrivateFrameworks/VideoToolbox.framework/VideoToolbox
0x32301000 - 0x32409fff CoreData armv7 <9843a401dd1d322383e3e40021cc8b95> /System/Library/Frameworks/CoreData.framework/CoreData
0x3240a000 - 0x3240cfff Marco armv7 <53203fa831ab34f894f3a3811bf3917c> /System/Library/PrivateFrameworks/Marco.framework/Marco
0x32440000 - 0x32443fff ArtworkCache armv7 <4863e321afee3ac5a3749e50cd926597> /System/Library/PrivateFrameworks/ArtworkCache.framework/ArtworkCache
0x32444000 - 0x32452fff OpenGLES armv7 <5a76beaeaa013f0cbf16e5cb154598ab> /System/Library/Frameworks/OpenGLES.framework/OpenGLES
0x32468000 - 0x32487fff Bom armv7 <b178e3efb4d733c694bd5a55e57a314f> /System/Library/PrivateFrameworks/Bom.framework/Bom
0x32488000 - 0x32a93fff WebCore armv7 <07941e59d0a33f94802c16c76238fddf> /System/Library/PrivateFrameworks/WebCore.framework/WebCore
0x32a98000 - 0x32a9afff IOMobileFramebuffer armv7 <683f321680763e519d61541170ba2133> /System/Library/PrivateFrameworks/IOMobileFramebuffer.framework/IOMobileFramebuffer
0x32a9b000 - 0x32adbfff CoreMedia armv7 <8e0570582ba535bfa74f1f00eef64376> /System/Library/Frameworks/CoreMedia.framework/CoreMedia
0x32ade000 - 0x32ae1fff MediaRemote armv7 <0804293b2774359189f3a67e2c81558d> /System/Library/PrivateFrameworks/MediaRemote.framework/MediaRemote
0x32ae3000 - 0x32ae8fff libnotify.dylib armv7 <9d7198e91de9386a9e5ea43608a66a57> /usr/lib/system/libnotify.dylib
0x32be5000 - 0x32ed2fff libLAPACK.dylib armv7 <b855d60dac01310495453bddfd004f0d> /System/Library/Frameworks/Accelerate.framework/Frameworks/vecLib.framework/libLAPACK.dyl ib
0x32f68000 - 0x32f69fff libremovefile.dylib armv7 <0fa08e1bb47a3d179072a933d1726597> /usr/lib/system/libremovefile.dylib
0x32f6a000 - 0x32fbffff libvDSP.dylib armv7 <0221caba81a235c5a896a835e2aac047> /System/Library/Frameworks/Accelerate.framework/Frameworks/vecLib.framework/libvDSP.dylib
0x32fc0000 - 0x33084fff libobjc.A.dylib armv7 <a89ef30f6d663254babb6329ce02ca3d> /usr/lib/libobjc.A.dylib
0x33085000 - 0x330b3fff MIME armv7 <60de1fe0bbb134d788c09f7c34b1caa4> /System/Library/PrivateFrameworks/MIME.framework/MIME
0x330bc000 - 0x3311bfff libBLAS.dylib armv7 <0b36b2272aa33a8c9aa22d99c89d7189> /System/Library/Frameworks/Accelerate.framework/Frameworks/vecLib.framework/libBLAS.dylib
0x33120000 - 0x331cffff QuartzCore armv7 <ef9632c9781f3101916b65e9faae1579> /System/Library/Frameworks/QuartzCore.framework/QuartzCore
0x331d0000 - 0x331d2fff Camera armv7 <fd4d53b318ab35ce9bb89db3879120f0> /System/Library/PrivateFrameworks/Camera.framework/Camera
0x331fa000 - 0x331fdfff ApplePushService armv7 <015c68c15621348db9f6a012499170e1> /System/Library/PrivateFrameworks/ApplePushService.framework/ApplePushService
0x331fe000 - 0x3331dfff Foundation armv7 <09ff368178c5321c9715b9c8d491d53f> /System/Library/Frameworks/Foundation.framework/Foundation
0x3331e000 - 0x33361fff ManagedConfiguration armv7 <f790c26852cb3cf298abe56bc9a3940b> /System/Library/PrivateFrameworks/ManagedConfiguration.framework/ManagedConfiguration
0x33391000 - 0x33396fff libsystem_dnssd.dylib armv7 <f019bc513a6a37f4a79555b3ffb2a777> /usr/lib/system/libsystem_dnssd.dylib
0x33439000 - 0x33446fff libbsm.0.dylib armv7 <0a1e2bb78d5138419ecad8ba0fe42fdd> /usr/lib/libbsm.0.dylib
0x3346f000 - 0x34ebdfff TextInput armv7 <f242acc046073c1598195dd26fd8ad6f> /System/Library/PrivateFrameworks/TextInput.framework/TextInput
0x34f49000 - 0x34f4bfff CrashReporterSupport armv7 <9e7efa009730322f84bbc5d8bf1ded94> /System/Library/PrivateFrameworks/CrashReporterSupport.framework/CrashReporterSupport
0x34f4e000 - 0x34f54fff IAP armv7 <c0f4c99a1b493e489948f231ad9238e2> /System/Library/PrivateFrameworks/IAP.framework/IAP
0x34f99000 - 0x34fe7fff GMM armv7 <049361f664eb3f30b0d25cd56ffc1f0f> /System/Library/PrivateFrameworks/GMM.framework/GMM
0x34fe8000 - 0x35031fff IMCore armv7 <9c1e280e1fa33fa784cad479b9cbd941> /System/Library/PrivateFrameworks/IMCore.framework/IMCore
0x35032000 - 0x35077fff IMAVCore armv7 <a4dbb6f1203e3f569080707b3a388573> /System/Library/PrivateFrameworks/IMAVCore.framework/IMAVCore
0x3507a000 - 0x35086fff HomeSharing armv7 <2df6957cdfea31aea12eebf27ca1691c> /System/Library/PrivateFrameworks/HomeSharing.framework/HomeSharing
0x3509e000 - 0x3516ffff IMGSGX543GLDriver armv7 <406a4fa178c036e78cdc9537d5332c2e> /System/Library/Extensions/IMGSGX543GLDriver.bundle/IMGSGX543GLDriver
0x35170000 - 0x3526ffff PhotoLibrary armv7 <03a0336e443b3d958419dab3d432b147> /System/Library/PrivateFrameworks/PhotoLibrary.framework/PhotoLibrary
0x35270000 - 0x35276fff liblockdown.dylib armv7 <14c89b7346433c1f8675f454531f6ca3> /usr/lib/liblockdown.dylib
0x352b1000 - 0x352dbfff libtidy.A.dylib armv7 <68abd33352613e80a099a46d38704085> /usr/lib/libtidy.A.dylib
0x352ff000 - 0x35303fff AssetsLibraryServices armv7 <e1cbfe599c96369ca4bdb0dd99d3cd9f> /System/Library/PrivateFrameworks/AssetsLibraryServices.framework/AssetsLibraryServices
0x35304000 - 0x35346fff CoreAudio armv7 <c972fd5f8e89333ca680b9a33587f896> /System/Library/Frameworks/CoreAudio.framework/CoreAudio
0x35347000 - 0x35351fff ExternalAccessory armv7 <eebb4bdbbefb37419b884ffa011e1dc5> /System/Library/Frameworks/ExternalAccessory.framework/ExternalAccessory
0x35352000 - 0x3535cfff AccountSettings armv7 <d083fb384dc7311eb6766b9b2d2dd9c8> /System/Library/PrivateFrameworks/AccountSettings.framework/AccountSettings
0x3536e000 - 0x3538efff AppleAccount armv7 <4e0ac5cf93b338ab8c5f34ba3c5e2ee4> /System/Library/PrivateFrameworks/AppleAccount.framework/AppleAccount
0x3544b000 - 0x3544bfff libdnsinfo.dylib armv7 <21415179ffa03f949fa8cc851c6c31c7> /usr/lib/system/libdnsinfo.dylib
0x35645000 - 0x356eefff libxml2.2.dylib armv7 <5538d3f2c7d83b88b06168488fe6326b> /usr/lib/libxml2.2.dylib
0x356ef000 - 0x35809fff libicucore.A.dylib armv7 <bada0c2725bb31a483d5adf9aaf1f8df> /usr/lib/libicucore.A.dylib
0x35883000 - 0x3590dfff Message armv7 <2cce1aa95a493906bb0227197f9e4b96> /System/Library/PrivateFrameworks/Message.framework/Message
0x35911000 - 0x35a65fff AudioToolbox armv7 <6619c8c13f8d328e923e797fa8d0df23> /System/Library/Frameworks/AudioToolbox.framework/AudioToolbox
0x35a6e000 - 0x35a73fff MobileKeyBag armv7 <8c35c090bc373cb181fc26b961b8dba5> /System/Library/PrivateFrameworks/MobileKeyBag.framework/MobileKeyBag
0x35a77000 - 0x35ae6fff ProofReader armv7 <6d843c6aecdd37ae84baa40af8ad7e65> /System/Library/PrivateFrameworks/ProofReader.framework/ProofReader
0x35aec000 - 0x35b03fff libsystem_kernel.dylib armv7 <c4ebe7eb2e6c3a2d9bd3620a4d6dbc0e> /usr/lib/system/libsystem_kernel.dylib
0x35b04000 - 0x35c50fff MediaToolbox armv7 <482b13059e8a329fa5d832baede25103> /System/Library/PrivateFrameworks/MediaToolbox.framework/MediaToolbox
0x35c51000 - 0x35c51fff libsystem_sandbox.dylib armv7 <f47c01d627853b328e088b3fdd08e87d> /usr/lib/system/libsystem_sandbox.dylib
0x35cab000 - 0x35cf2fff MessageUI armv7 <35a81f5d4eb03467a1447db80337e570> /System/Library/Frameworks/MessageUI.framework/MessageUI
0x35d49000 - 0x35d72fff MobileCoreServices armv7 <57fef84bdc17301d8bf53ba0fb967fe6> /System/Library/Frameworks/MobileCoreServices.framework/MobileCoreServices
0x35d73000 - 0x35d8bfff iAd armv7 <7f6c5b4499ee383ea75f0cc8dcb5ca35> /System/Library/Frameworks/iAd.framework/iAd
0x35d8c000 - 0x35d9bfff Notes armv7 <d9c976ca976e3d029f69febd48f17601> /System/Library/PrivateFrameworks/Notes.framework/Notes
0x35d9d000 - 0x35db6fff libRIP.A.dylib armv7 <4825c3e392983aba947eca06555e4480> /System/Library/Frameworks/CoreGraphics.framework/Resources/libRIP.A.dylib
0x35db7000 - 0x35ea3fff GLEngine armv7 <f216c91c5fdb38a9ae65dc6651ccbd02> /System/Library/Frameworks/OpenGLES.framework/GLEngine.bundle/GLEngine
0x35ebb000 - 0x35edbfff MobileSync armv7 <4df400c4559435889eccd88db77a110c> /System/Library/PrivateFrameworks/MobileSync.framework/MobileSync
0x35edc000 - 0x35eddfff libsystem_blocks.dylib armv7 <ccc041df3de73eafb7a59e74cdb1702b> /usr/lib/system/libsystem_blocks.dylib
0x35ede000 - 0x3626bfff UIKit armv7 <c271b78464d93cb7bf28c6e49df293ba> /System/Library/Frameworks/UIKit.framework/UIKit
0x3626c000 - 0x3657ffff GeoServices armv7 <88616f3deada3bb495fc15e3ba58dc83> /System/Library/PrivateFrameworks/GeoServices.framework/GeoServices
0x365bb000 - 0x365cbfff WebBookmarks armv7 <6956561235333e74b8ff316cb2edc93e> /System/Library/PrivateFrameworks/WebBookmarks.framework/WebBookmarks
0x365dc000 - 0x36622fff CoreLocation armv7 <249b8af3dc503d11bf3711f0407c66d8> /System/Library/Frameworks/CoreLocation.framework/CoreLocation
0x36629000 - 0x36629fff vecLib armv7 <0c60cd0a60f43d2791d36cb357d30e3c> /System/Library/Frameworks/Accelerate.framework/Frameworks/vecLib.framework/vecLib
0x3663f000 - 0x36640fff CoreSurface armv7 <7b83cd757da73e6e826693c29296d3fa> /System/Library/PrivateFrameworks/CoreSurface.framework/CoreSurface
0x36641000 - 0x366d6fff ImageIO armv7 <d520e3241d1130e8ac1375ee0f2c1095> /System/Library/Frameworks/ImageIO.framework/ImageIO
0x366d7000 - 0x3679dfff MusicLibrary armv7 <71a09022bd8b3b6a90a250199d190f10> /System/Library/PrivateFrameworks/MusicLibrary.framework/MusicLibrary
0x3679e000 - 0x36844fff Celestial armv7 <407badafc6403692bf099d542d28bf7f> /System/Library/PrivateFrameworks/Celestial.framework/Celestial
0x36847000 - 0x36849fff MobileInstallation armv7 <94b6d6c5d9883175af26764567528127> /System/Library/PrivateFrameworks/MobileInstallation.framework/MobileInstallation
0x3684e000 - 0x36850fff MailServices armv7 <74ae0145ef713c6d91fd8f68885b0a61> /System/Library/PrivateFrameworks/MailServices.framework/MailServices
0x36851000 - 0x368b7fff EventKitUI armv7 <b3b568df80863f2e9374054bab335bf3> /System/Library/Frameworks/EventKitUI.framework/EventKitUI
0x369e7000 - 0x36a98fff WebKit armv7 <eb9a0d69c64b3127b2bffd71641add3b> /System/Library/PrivateFrameworks/WebKit.framework/WebKit
0x36b4e000 - 0x36c7afff libmecabra.dylib armv7 <113de5f9858c32b8b158bfdc68042a97> /usr/lib/libmecabra.dylib
0x36c7c000 - 0x36c92fff EAP8021X armv7 <9fefc0ada30435fbb3b51818c74f6cb8> /System/Library/PrivateFrameworks/EAP8021X.framework/EAP8021X
0x36c93000 - 0x36c99fff ProtocolBuffer armv7 <f9277ee9b85b3722975ad319a323aca0> /System/Library/PrivateFrameworks/ProtocolBuffer.framework/ProtocolBuffer
0x36cda000 - 0x36cdefff libcache.dylib armv7 <362fdd2de66f3e189b5d139c9669a9e3> /usr/lib/system/libcache.dylib
0x36cdf000 - 0x36cf1fff PersistentConnection armv7 <659ea9d5b13d3fefb37acff09016a69c> /System/Library/PrivateFrameworks/PersistentConnection.framework/PersistentConnection
0x36d08000 - 0x36d11fff ITSync armv7 <ba8b48d061903e4096774344448776d0> /System/Library/PrivateFrameworks/ITSync.framework/ITSync
0x36d13000 - 0x36e17fff JavaScriptCore armv7 <61a94142e2d23dafa2964190dd46e9e3> /System/Library/PrivateFrameworks/JavaScriptCore.framework/JavaScriptCore
0x36e1b000 - 0x36e24fff CoreVideo armv7 <ea847e6dba2d36b1826b255c73b39539> /System/Library/Frameworks/CoreVideo.framework/CoreVideo
0x36e25000 - 0x36e28fff libmacho.dylib armv7 <53908d448e9e32418652a4afee5bc578> /usr/lib/system/libmacho.dylib
0x36e29000 - 0x36e77fff CoreMotion armv7 <5e6b884d36d93789b40b7f3876130417> /System/Library/Frameworks/CoreMotion.framework/CoreMotion
0x36e7d000 - 0x36e7efff DataMigration armv7 <42e9e87a4e0735c3837e27d4f2adcf55> /System/Library/PrivateFrameworks/DataMigration.framework/DataMigration
0x36e7f000 - 0x36e85fff AssetsLibrary armv7 <124dd93095423fcf8029d3c7614dffd4> /System/Library/Frameworks/AssetsLibrary.framework/AssetsLibrary
0x36ee6000 - 0x36ef9fff libmis.dylib armv7 <529ea6e3a87230ce9f6cf3285c22429c> /usr/lib/libmis.dylib
0x36f16000 - 0x36f17fff libsystem_network.dylib armv7 <3e0b7d6754cd33669c0680525f03ede1> /usr/lib/system/libsystem_network.dylib
0x36f18000 - 0x36f4bfff StoreServices armv7 <d526715648f435c3aac4c42953e76d20> /System/Library/PrivateFrameworks/StoreServices.framework/StoreServices
0x36fa9000 - 0x3706afff RawCamera armv7 <0c52d8b1498c3dbb9aad95f3bcd8261d> /System/Library/CoreServices/RawCamera.bundle/RawCamera
0x370b2000 - 0x370ddfff IMFoundation armv7 <f1f21bedbf2e3ea38f692abef0005d76> /System/Library/PrivateFrameworks/IMCore.framework/Frameworks/IMFoundation.framework/IMFo undation
0x370e4000 - 0x370e5fff libdyld.dylib armv7 <7dd4acfe150831e0ae82296587e67e7f> /usr/lib/system/libdyld.dylib
0x370ec000 - 0x370fcfff DataAccessExpress armv7 <66d9047da79a31daa887e6d84c42ecb2> /System/Library/PrivateFrameworks/DataAccessExpress.framework/DataAccessExpress
0x37144000 - 0x37147fff CertUI armv7 <9060fe03a4943ef295531feced9a17dd> /System/Library/PrivateFrameworks/CertUI.framework/CertUI
0x37148000 - 0x37154fff SpringBoardServices armv7 <c68262667ac8397a949ce4e92dfec7db> /System/Library/PrivateFrameworks/SpringBoardServices.framework/SpringBoardServices -
Adobe Air for iOS and Android: FlasCC or Native Extension?
Hi all,
Who know - what provide better perfomance. FlasCC or Native Extension? For example for Math calculations, bitmapdata modification and etc.Well nothing prevent you from mixing flascc with native extension.
Also, I think that you can also use domain memory in AS3 with the Bytearray class (not sure about that).
Flascc vs normal as3 is mostly a question of language (portability) Do you want to write as3 or c++?
Native extension give you speed and native platform access(platform specific feature).
So, you should think about it this way:
AS3, run in flash and air. Is sandboxed. Can use domain memory, but it's a bit harder to leverage than flascc.
Flascc, run in flash and air. Is sandboxed, Can use domain memory. Give you the potential of leveraging the hundreds of opensources lib already out there.
Native extension, run ONLY in air. Is not sandboxed. Native memory management. Also let you leverage the c++ lib.
The best (in my opinion) is to write native code for mobile and desktop (no air or flascc involve) and use flascc for the flash/web platform. It's harder, because you have write portable native code (lots of abstraction), but you mostly have the same problem with native extension. -
Flash Builder 4.6 Mobile Project Using Blazeds & Native Extension
Hi,
I'm building a Flex Mobile project in FB, that uses BlazeDS to access data through a Spring Project, and also uses an ANE file to access the device's contacts. I want to debug the application on a device connected with a USB cable, so had to set my root and output folders in Server Settings using UNC so it can be found from my device thru my wifi network. I also have added the native extension via the Build Path and Packaging tabs. When I debug from a desktop emulator, things launch OK and the extension correctly tells me it's not supported on the emulator. However, if I debug on the device, FB throws an exception at launch, complaining of a java null pointer exception. The Eclipse log, in part, looks like this:
com.adobe.flexbuilder.project.AbstractXMLModel$FileReadException: org.eclipse.core.internal.resources.ResourceException: Resource '/NewOne-debug/NewOne-app.xml' does not exist.
at com.adobe.flexbuilder.project.air.internal.xml.ApplicationXMLModel.<init>(ApplicationXMLM odel.java:102)
at com.adobe.flexbuilder.project.air.AppXMLCreator.init(AppXMLCreator.java:91)
at com.adobe.flexbuilder.project.air.AppXMLCreator.<init>(AppXMLCreator.java:80)
at com.adobe.flexbuilder.project.air.AppXMLCreator.<init>(AppXMLCreator.java:73)
at com.adobe.flexbuilder.project.ui.utils.ANE.AppXMLFileANEExtensionHandler.getAppXMLCreator (AppXMLFileANEExtensionHandler.java:153)
at com.adobe.flexbuilder.project.ui.utils.ANE.AppXMLFileANEExtensionHandler.retainExtensionI ds(AppXMLFileANEExtensionHandler.java:315)
at com.adobe.flexbuilder.project.ui.utils.ANE.ANEController.modifyAppXMLforPackaging(ANECont roller.java:371)
at com.adobe.flexbuilder.project.ui.utils.ANE.ANEController.modifyAppXMLforPackaging(ANECont roller.java:338)
at com.adobe.flexbuilder.project.ui.utils.ANE.AbstractANEPackageHandler.modifyAppXMLforPacka ging(AbstractANEPackageHandler.java:91)
at com.adobe.flexide.launching.multiplatform.launchhandlers.AbstractMultiPlatformLaunchHandl er.applyNativeExtensionDetails(AbstractMultiPlatformLaunchHandler.java:164)
at com.adobe.flexide.multiplatform.android.launching.ADBLaunchHandler.doPackage(ADBLaunchHan dler.java:424)
at com.adobe.flexide.multiplatform.android.launching.ADBLaunchHandler.launch(ADBLaunchHandle r.java:250)
at com.adobe.flexide.launching.multiplatform.MultiPlatformLaunchDelegate.launch(MultiPlatfor mLaunchDelegate.java:191)
at com.adobe.flexide.launching.AbstractFlexLaunchDelegate.launch(AbstractFlexLaunchDelegate. java:244)
at com.adobe.flexide.launching.AbstractFlexLaunchDelegate.launch(AbstractFlexLaunchDelegate. java:134)
at org.eclipse.debug.internal.core.LaunchConfiguration.launch(LaunchConfiguration.java:854)
at org.eclipse.debug.internal.core.LaunchConfiguration.launch(LaunchConfiguration.java:703)
at org.eclipse.debug.internal.ui.DebugUIPlugin.buildAndLaunch(DebugUIPlugin.java:928)
at org.eclipse.debug.internal.ui.DebugUIPlugin$8.run(DebugUIPlugin.java:1132)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
Caused by: org.eclipse.core.internal.resources.ResourceException: Resource '/NewOne-debug/NewOne-app.xml' does not exist.
at org.eclipse.core.internal.resources.Resource.checkExists(Resource.java:320)
at org.eclipse.core.internal.resources.Resource.checkAccessible(Resource.java:194)
at org.eclipse.core.internal.resources.File.getContents(File.java:287)
at org.eclipse.core.internal.resources.File.getContents(File.java:278)
at com.adobe.flexbuilder.project.air.internal.xml.ApplicationXMLModel.<init>(ApplicationXMLM odel.java:100)
... 19 more
I guess the problem is that when the application tries to run on my device, the extension is not finding the application descriptor file. Is there anything else I need to do?
I appreciate any help.
JayHere's the fix in case anyone else runs into this problem. When Flash Builder is building the deployment during launch, it converts the mapped path to a mangled local path for the ane to find the descriptor to a relative path, which can't be found and throws the null pointer. Making the Output Folder path actually local to the computer, as opposed to the default that FB creates, resolves the error, and still allows blazeds access from the device.
-
External library inside Air native extension for android
Hello everyone,
First, I've been looking throught this topics
- http://stackoverflow.com/questions/7732742/air-3-native-extensions-for-android-can-i-how-t o-include-3rd-party-libraries
- http://stackoverflow.com/questions/24626380/how-to-include-additional-jar-in-android-nativ e-extension-for-adobe-air-mobile
I got a similar problem. But not exactly the same. And the solution didn't worked for me :(.
First of all, I don't have any visible error.
-I can easily talk between java and action script.
-The gateway is set without problems.
My problem comes when, from my java-side-part of the extension, I try to call a 3rd party library. This library is (and I think this is where I do something wrong) linked to my project as an external lib, in .jar format.
So when I make a call to 3rd party library, it just doesn't print anything. Neither on the adobe part or on the java part. The logs that are before my call are printed but not the ones after.
I tried different solutions that are:
-Taking all compiled class files of my external lib and add it inside the main native extension jar [link1]
same result (no errors)
-including the 3rd party jar inside the ANE by adding a dependence file that require the .jar [link2]
with this method i got this error that I don't get
> aapt tool failed:ERROR: input directory '--auto-add-overlay' does not exist
My third party library also include's itself some external .jars so do I need to include every jars inside the same packaged jar?
I can see that a lot of people are dealing with issues like that so my question would be:
What is the best way to include 3rd party library inside android AIR Native Extension ?.
For information, here is what I do to create the ANE
>adt -package -target ane AirInfinitGameANE\AirInfinitGame.ane AirInfinitGameASLib\src\extension.xml -swc AirInfinitGameANE\AirInfinitGameASLib.swc -platform Android-ARM -C AirInfinitGameLib .
- AirInfinitGameASLib: just the folder with the actionScript part and the config xml file
- AirInfinitGameANE: folder in the one that will be the native extension
- AirInfinitGameLib: the eclipse java project. I need to put in that folder the airInfinitgamelib.jar(extension jar) and the library.swf (from the swc file) in order to beeing able to compile the ANE.
Here it is ! Thanks a lot for thoses who'll read me.I had the same problem recently and fixed it as follows;
- Extract the 3rd party jar file and copy the class folder (usually named "com" in the root of the jar) to my project.
- Under Project Properties -> Java Build Path -> Libraries click "Add class folder" and add the "com" folder you just extracted from your .jar.
Hope this helps -
IOS default native extension packaging null pointer exception
I have an ANE that currently has a specific implementation for Android and a default implementation. Packaging up the .apk for android works fine on my android devices and packaging up a windows destop version (I created a separate desktop air application to do this) that uses the default ANE implementation works fine.
The problem is when trying to packaging the ipa for iOS that uses the ANE. I get the following error when I try a "Export Release Build" of my mobile app for iOS. It should be using the default ANE implementation.
Error occurred while packaging the application:
Warning: Using default implementation for native extension '<my ane extension id here>'
unexpected failure: null
java.lang.NullPointerException
at com.adobe.png.PNGUtils.updatePNGMetadata(PNGUtils.java:60)
at com.adobe.air.ipa.IPAOutputStream.addFile(IPAOutputStream.java:557)
at com.adobe.air.ADTOutputStream.addFileFromStream(ADTOutputStream.java:299)
at com.adobe.air.ADTOutputStream.addFileFromStream(ADTOutputStream.java:292)
What is missing? I've successfully packaged IPAs before but they didn't use any ANEs. This app will eventually have it's own iOS ANE implementation but it should just use the default if there is no iOS implementation available.
RandyWhile using ipa-test-interpreter or ipa-debug-interpreter (and also removing the -platformsdk argument during IPA packaging) fixed ipa-test and ipa-debug builds, it did not fix ipa-ad-hoc or ipa-app-store builds. Our entire build automation system relies on ant based builds, so at the moment using Flex 4.6 and AIR 3.4 is basically out of the question because of the null pointer exception error that eckhoff_randy pointed out above.
Without AIR 3.4 we do not have iOS 6 support (meaning we don't have iPhone 5 support either).
This is a MAJOR problem. I'm not sure that 'waiting until the next release' is an acceptable answer at this point. If possible can you give me as much information as you have on this problem?
Here's what's my output looks like:
[exec] [Fatal Error] :1:1: Content is not allowed in prolog.
[exec] java.io.IOException: PLIST generation failed due to SAX error:org.xml.sax.SAXParseException: Content is not allowed in prolog.
[exec]
at com.adobe.air.Plist.newFromString(Plist.java:351)
[exec]
at com.adobe.air.Plist.newFromFile(Plist.java:325)
[exec]
at com.adobe.air.ipa.IPAOutputStream.setSDKVersion(IPAOutputStream.java:1067)
[exec]
at com.adobe.air.ipa.IPAOutputStream.setPlatformSDKLocation(IPAOutputStream.java:969)
[exec]
at com.adobe.air.ipa.IPAPackager.setDeviceSDKDirectory(IPAPackager.java:187)
[exec]
at com.adobe.air.ADT.parseFileAndPathArguments(ADT.java:1423)
[exec]
at com.adobe.air.ADT.parseDescriptorAndFileset(ADT.java:1474)
[exec]
at com.adobe.air.ADT.parseInput(ADT.java:929)
[exec]
at com.adobe.air.ADT.parsePackage(ADT.java:672)
[exec]
at com.adobe.air.ADT.parseArgsAndGo(ADT.java:570)
[exec]
at com.adobe.air.ADT.run(ADT.java:419)
[exec]
at com.adobe.air.ADT.main(ADT.java:469)
[exec] unexpected failure: null
[exec] java.lang.NullPointerException
[exec]
at com.adobe.air.ipa.IPAOutputStream.addExtensionAbc(IPAOutputStream.java:1031)
[exec]
at com.adobe.air.ipa.IPAPackager.addExtensions(IPAPackager.java:351)
[exec]
at com.adobe.air.ApplicationPackager.createPackage(ApplicationPackager.java:68)
[exec]
at com.adobe.air.ipa.IPAPackager.createPackage(IPAPackager.java:245)
[exec]
at com.adobe.air.ADT.parseArgsAndGo(ADT.java:571)
[exec]
at com.adobe.air.ADT.run(ADT.java:419)
[exec]
at com.adobe.air.ADT.main(ADT.java:469)
Maybe you are looking for
-
Master_detail for more than one record at a time
Hi, How can i display master_detail records for more than one records at a time, for example, i have two tables A and B , A has username and role and B has username and profile. here i wanted to display 10 users at a time on my 6i form with username,
-
Video chat from Mac iChat to PC AOL 9
Hi! Can I use iChat on my MacBook (new 10/2008) to start a live video IM conversation with a PC buddy using AOL 9.0 (NOT AIM, but the IM built into the AOL application)? We both have AOL screennames. Have you tried this? http://help.aol.com/help/sear
-
My Mail displays new emails in the Inbox, but when I click on them, nothing shows up in the message body. What's wrong and how can I fix it? Thanks!
-
Do the HD movies come with an SD version???
Hello, Do the HD movies that are sold on iTunes come with an SD version for iPod like the TV shows? Why are some movies only available in HD through AppleTV and iPad? Regards
-
API default behavior when inserting new members
Hi,it seems that by default the Java-API verifies the outline after each IEssMember.createChildMember(...) call. Is there a way to turn this off?What I would like to do, is to insert an element and mark it as "Dynamic Calc". This doesn't work properl