RS dependent on Dalvik? - renderscript

How dependent is Renderscript on the framework being Dalvik or ART?
I was testing a device with 4.4.2 running ART and the app kept crashing. Was only later that I realized it was on ART and switched back to Dalvik. On Dalvik it runs fine.

It's not tied together at all; RS is a Java API (same as any other framework API) that calls into a lower level native driver stack. If you've got an application that works under Dalvik but not under ART, you should file a bug.

Related

Flash Builder, export release build error

I am unable to do an export build for an Apple ios from flex.
I get the following error when i try to export.
how do i get around this error.
Also i able to successfully export for android.
This problem is probably due to some characteristics of your flex project: too many classes or linked projects or assets or whatever.
Some months ago we posted some recurrent problems regarding the development with Adobe AIR for iOS. The blog post is in spanish so I'm linking to a translated page by Google (I hope it is readable).
Anyways, what we listed there is the following:
Increase your java heap size memory (it didn't work for us). When you compile a flex project it uses the mxmlc compiler which is implemented in java (at least some parts of it are implemented in java). Giving more memory could make the exportation work for you (I don't think so though).
Switch your Adobe AIR SDK version to latest version 3.4
Try to export your application using a Mac OS instead of a Windows machine (if you have one available for you).
Hope this helps you a bit.

Adobe AIR and iPhone - how it works?

Anyone knows how the Adobe AIR application are converted to iPhone apps? I see two ways - either the Adobe AIR virtual machine mus be part of every application or they must convert all ActionScript calls to Cocoa Touch calls somehow or have an Objective-C twin for every ActionScript class and then compile it to ARM assembler.
I am just curious how it is technically done.
BR
STeN
Unlike other platforms, Adobe Air is compiled into native code when you build an iOS application.
Here is a part of a blog post from Adobe:
We created a new compiler front end that allowed LLVM to understand ActionScript 3 and used its existing ARM back end to output native ARM assembly code. We call this Ahead of Time (AOT) compilation—in contrast to the way Adobe Flash Player and Adobe AIR function on the desktop using Just in Time (JIT) compilation. Since we are able to compile ActionScript to ARM ahead of time, the application gets all the performance benefits that the JIT would offer and the license compliance of not requiring a runtime in the final application.
That means that:
The Air runtime is not packaged within the application.
AS3 code is not converted into Objective-C code, but is compiled directly into native assembly code.
taken from adobe website: http://www.adobe.com/devnet/air/articles/air3-install-and-deployment-options.edu.html
Note that the captive runtime is the only option that is available when using AIR to target iOS. Since iOS does not support a shared runtime model, the captive model remains the only option on this platform.
Anyone using the captive runtime should be aware that it has two downsides:
Increased application size. Since an entire copy of the runtime is included in your application, the size of the application package is necessarily increased.
Increased security burden.

Can an android app be installed/converted to run on an iPhone?

I have an android project that targets Android 2.2 (developing in Eclipse). Exporting the android project to the Droid Incredible works perfectly. Is it possible to export the project to a file suitable for installing on an iphone? I know that most iPhone apps are developed using xCode, but I'm not sure if xCode packages into a .apk or other file format that's equivalent.
Thanks in advance.
Only if you write or port your own complete Dalvik VM (in Objective C or Javascript), plus developing the runtime support needed for any and all API calls that your app uses, and bundling all that with your app, as that would be the only way to run a regular Android project on an iPhone.
A non-trivial amount of work.
Completely rewriting the app in Objective C and Cocoa Touch would be magnitudes easier.
Not even remotely possible. Android and iOS are completely different environments. There are a few frameworks for developing applications that'll run on either, but the results often end up looking kind of weird on both platforms.
You cannot export an Android application and run it in an iPhone because the hardware/software stacks/APIs/etc. are different.
However, if you build an application using for instance PhoneGap (a HTML5 based application framework), it is possible to deploy it on different mobile platforms.
If you feel curious about multi-platform mobile frameworks (Android/iPhone) you may find this thread interesting.

platform independent sqlite data access layer for ipad / iphone / android / samsung bada

we have an app which is available for ipad, iphone, android as well as samsung bada. since all of these platforms support sqlite, this app makes extensive use of sqlite for saving and reading data.
we now face quite a lot of issues whenever we need to update our app, that is punch in the same data access code across 4 different apps. we might also be looking to publish this app for windows mobile at a future date
i was wondering if there is a way to atleast have a completely independent library to manage our data access part so that we can just code and update this library once and simply use it across all 4 platforms
it would be awesome to achieve that and it would save us plenty of hours of coding and debugging and testing
No, because what you are asking for is essentially a SQL client layer sitting on top of SQLite similar to Oracle's SQL Client for Linux, Windows and so on that sits on top of the Oracle DB server that a developer could code to. This SQL client layer would have to define a standard interface (think JDBC or ODBC) and be implemented in Java (Android), C#, VB, and F# (Windows Mobile 7), and Objective-C (iOS).
Having said that, do I expect to see such a chunk of software developing over time, considering that SQLite does seem to be the defacto standard on handsets? Yes, I would expect to see something pop up on Git somewhere in the future that does something like that.

Port AS3/Flex app to iPhone

I believe Adobe tools like CS5 have ways to output as an iPhone app, but what about a regular AS3 or Flex project? Are there any tools to auto-port, or AS3/Flex iPhone implementations out there?
Out of interest, how does the CS5 thing work? Is it a totally different code-path or something less drastic? For instance Flash supports Shapes and Timelines, etc... do they in fact provide an iPhone Flash runtime of some sort?
Packager for iPhone is what you should try out:
http://labs.adobe.com/technologies/packagerforiphone/
I guess its still a beta, but doesn't hurt in trying. It also has a standalone version (without the need of CS5).
Actually it is still the flash runtime, the same way that when you export a .exe in the publish settings (not an AIR native EXE, just a projector exe). It grabs the flash VM, and your source code, compiles your source and the flash vm wrapped up together into a single executable. It's just compiled down to ARM. There is still the flash runtime running inside that executable and your bytecode is still being executed against it. So virtualization is still essentially taking place. You're right in saying it's "native" assembly code but it's a far cry from a "native" application.
Regarding how it works, it is not a Flash runtime, but a way to compile ActionScript to native ARM assembly code, via LLVM.
Edit: also see Jesse Nicholson's answer.