Page 1 of 2 12 LastLast
Results 1 to 15 of 22

I wonder if it will be possible. http://code.google.com/android/intro/index.html http://www.talkandroid.com/android-sdk-install-guide/ Have fun. (i'm guessing RIM's devices ... 3rd Party BlackBerry Software forum

  1. #1
    j llama's Avatar
    j llama no está en línea Device Pro
    Join Date
    Sep 2006
    PIN/ID
    4U2ASKME
    Posts
    4,319

    Android and BlackBerry? AndroidBerry?

    Advertisement



    I wonder if it will be possible.

    http://code.google.com/android/intro/index.html

    http://www.talkandroid.com/android-sdk-install-guide/

    Have fun.

    (i'm guessing RIM's devices are pretty locked down to the point of running a different Operating System than RIM's would not work, but who knows.)
    BlackBerry® Certified Support Specialist

  2. #2
    funkym's Avatar
    funkym no está en línea Stack level 3
    Join Date
    Jun 2006
    Posts
    154
    i am not that sure. imho, i guess the blackberry is booting a linux kernel internally that itself invokes a java vm and starts the blackberry os frontend. if it is like this, the architecture is quite similar to android.

  3. #3
    skicson's Avatar
    skicson no está en línea Developer
    Join Date
    Apr 2008
    Posts
    30

    For what it is worth...

    Our free gWhiz app (which I shamelessly promoted a few minutes ago on this forum), was originally written for Android.

    A couple of thoughts on the differences between the two:
    The RIM Java environment relies heavily on J2ME from Sun, but the Android environment runs on a non-Sun Java Virtual Machine called Dalvik. There are a number of noticeable differences - for example, J2ME has little/no support for many java.lang.Math functions, but Android has them all. Android's development environment is also very nice, and mostly well documented. The RIM java dev environment can be painful, with large holes in the documentation. (I haven't tried out the latest eclipse stuff tho, so my comments may already be dated).

    That said, the BlackBerry set of phones are very powerful and already offer most of the features that the Android phones are due to offer. BlackBerry also has a large, well-established user base. Development environments are nice, but useless without a great user community.

    It would be cool if BlackBerry could somehow run the Android OS, but I don't see that happening.

  4. #4
    j llama's Avatar
    j llama no está en línea Device Pro
    Join Date
    Sep 2006
    PIN/ID
    4U2ASKME
    Posts
    4,319
    Skicson,

    So is it vairly easy to re-write the code to fit on both the BlackBerry OS and the Android OS? IF so, devs should do as you have done and write for both (if its as easy as you say).

    Thanks for the great info.

    BTW, if you have some time... lol
    BlackBerry® Certified Support Specialist

  5. #5
    Thyth's Avatar
    Thyth no está en línea Stack level 3
    Join Date
    Sep 2007
    Posts
    273
    Quote Originally Posted by funkym View Post
    i am not that sure. imho, i guess the blackberry is booting a linux kernel internally that itself invokes a java vm and starts the blackberry os frontend. if it is like this, the architecture is quite similar to android.
    That's not how it works. The BlackBerry firmware itself is a modified/specialized Java virtual machine -- the instruction set is somewhat different from your standard Java byte code, and it is pretty thin over the processor. The firmware bootstraps the rest of the operating system after checking the digital signature. All of the code "natively" run on the BlackBerry is RIM's special Java bytecode.

    I've seen some of the HTC WinMobile devices running Android as an application. Such a thing should be possible on the BlackBerry as well.

    The BlackBerry Java API does have some rather unfortunate limitations that hinders thin adaptations of other API's (namely, Java Reflection isn't available), but... we'll see what happens in the near future.

  6. #6
    CybaCowboy's Avatar
    CybaCowboy no está en línea Stack level 3
    Join Date
    Feb 2008
    PIN/ID
    21445DCA
    Posts
    374
    As I understand it, Google's upcoming "Android" operating system is a Linux operating system, running Java-based applications...

    Research in Motion's (RIM) current BlackBerry OS operating system on the other hand, is entirely Java-based, from the operating system to its applications.


    IF I am right as per my above statements, then in my opinion "Android" is a far superior operating system and highly likely to "convert" me once it actually becomes available, for two primary reasons:

    • Whilst some distros (versions) are better than others, Linux operating systems are unquestionably the most secure operating systems available and whilst no operating system is completely malware/cracker (hacker)-proof, Linux comes awfully close.
    • In THEORY, it would be "reasonable" to expect a LOT more third-party support for Android because it is from Google, based on Linux and (arguably) easier to code (write) software for.


    My second point IS completely speculative, but my first point is FACT and CAN'T be argued - it is also the primary reason why the "security-focused" RIM should give STRONG consideration to a Linux operating system in the immediate future...



    ~ Posted wirelessly from my BlackBerry 8800 (http://wap.pinstack.com) ~

  7. #7
    funkym's Avatar
    funkym no está en línea Stack level 3
    Join Date
    Jun 2006
    Posts
    154
    Quote Originally Posted by Thyth View Post
    That's not how it works. The BlackBerry firmware itself is a modified/specialized Java virtual machine -- the instruction set is somewhat different from your standard Java byte code, and it is pretty thin over the processor. The firmware bootstraps the rest of the operating system after checking the digital signature. All of the code "natively" run on the BlackBerry is RIM's special Java bytecode.

    I've seen some of the HTC WinMobile devices running Android as an application. Such a thing should be possible on the BlackBerry as well.

    The BlackBerry Java API does have some rather unfortunate limitations that hinders thin adaptations of other API's (namely, Java Reflection isn't available), but... we'll see what happens in the near future.
    well, so why is it possible to run standard midp applications? it doesn't make sense. it's just a pure java vm customized to the signature and cod-packaging requirements for RIM's purposes. that's it. in the end it is all just bytecode and you can - theoretically - run it in all java virtual machines...

    @CybaCowboy: your first point is highly speculative as well i disagree in "linux being secure", but it is a matter of definition...

    the same thing is: where does an "operating system" start to be an operating system? bb os (as you mentioned) is purely written in java, but java runs most probably in a java virtual machine, right? who is starting this jvm? must be a kernel somewhere below which is then - most probably - not written in java.

  8. #8
    CybaCowboy's Avatar
    CybaCowboy no está en línea Stack level 3
    Join Date
    Feb 2008
    PIN/ID
    21445DCA
    Posts
    374
    Quote Originally Posted by funkym View Post
    @CybaCowboy: your first point is highly speculative as well i disagree in "linux being secure", but it is a matter of definition...

    Gotta strongly disagree with you here.


    Most people don't realize it, but the "back-end" systems of most large companies including Internet & telecommunications providers, Governments, multimedia networks (including television and radio providers) and even major retail chains are almost always Linux-powered.

    Unless you know what you're looking for, chances are you'll never even see evidence of Linux's use in these "back-end" systems, but it's definately there and the reasons are clear - it's been proven time and again to be ridiciously secure, it's extremely flexible with regards to enterprise software (particularly server software) and it's completely free in most cases.


    It's pretty rare for Linux to be used in "front-end"/client systems, these are almost always Microsoft Windows-based, but in the background, it's Linux "pulling all the strings"...


    Quote Originally Posted by funkym View Post
    bb os (as you mentioned) is purely written in java, but java runs most probably in a java virtual machine, right? who is starting this jvm? must be a kernel somewhere below which is then - most probably - not written in java.
    But this is a FANTASTIC point, and certainly a point that gets one thinking at the very least...



    ~ Posted wirelessly from my BlackBerry 8800 (http://wap.pinstack.com) ~

  9. #9
    Thyth's Avatar
    Thyth no está en línea Stack level 3
    Join Date
    Sep 2007
    Posts
    273
    Translation from standard Java bytecode to the BlackBerry bytecode happens during the installation of MIDP/CLDC applications. This translation is essentially identical to what happens with producing COD files in the development kit.

    And, as I said in my previous post, the firmware is where the BlackBerry JVM is located. That's also where the carrier logo is located, as well as where the operating system signature verification code is located, and it isn't a user alterable part of the system. It is similar to the BIOS in a PC, except there is no user method to update it. It exists only as microcode on the device, so the language in which it is written is a bit of a moot point (but, I would predict either in C or in the processor specific assembler).

    The firmware abstracts the processor specific architecture away from the system/ That includes hardware abstraction for dealing with things like the DSP, speakers, buttons, the screen, USB-client port, microSD, battery, and the various radios. The hardware abstraction layer for each device is slightly different, but the mechanism for enumerating and utilizing the hardware is the same. The firmware based JVM also removes the need to recompile operating system/other software for the various CPUs that the BlackBerry devices have used over the years.

    Some people who are familiar with the low level device functionality outside of RIM speculate the reason the JVM instructions for the BlackBerry are different was due to performance considerations on the older ARM7 based devices. Only the people who developed it at RIM can be certain.

    As far as security, there are a few rather important points to consider. Managed languages (Java, C#, Python, Ruby, Lisp, et al.) are more secure than non-managed languages (C/C++, architecture assembler, et al.) because it is effectively impossible (assuming proper implementation of the managed language) to smash stacks (which include buffer overflow, format string, stack overflow, and other code exploit techniques), corrupt heaps (ditto with the stack smashing), or otherwise use data as code instructions directly (which encompasses just about every system compromising vulnerability that can exist). While managed languages are slower, security is a big advantage.

    Sure, it is possible to write perfectly secure code in a non-managed language like C (like say... the RIM JVM), but it require substantially more competent programmers who understand the implications of working on a low level system. This is part of the reason why only the JVM and firmware HAL are written in a non-managed language on the BlackBerry. The amount of code is small, thus it could be throughly checked and rechecked for potential vulnerabilities prior to release.

    There have, to date, been no successful attacks on the BlackBerry firmware, or the operating system itself. If there were, the Verizon GPS lock wouldn't be an issue, application signing could be subverted, and non-RIM operating systems could be loaded on the devices. Considering BlackBerry devices have been available for over a decade, I'd say the security model works.

    Linux has its own vulnerabilities. In the last 12 months, there were 6 local root exploits in the Linux kernel. That's just counting the vulnerabilities in the operating system itself. Consider the vulnerabilities in applications that people run on the operating system. In the same time period there were 26 remotely exploitable application vulnerabilities, and 5 more non-kernel exploitable vulnerabilities.

    Linux is by no means the most secure operating system in the world. It's more secure than Windows, sure, but that doesn't mean it is "unquestionably" the most secure. OpenBSD, for one, has had zero remotely or locally exploitable vulnerabilities in the last 12 months, and in the 10 years the OpenBSD project has been running, they have had a grand total of 2 exploitable holes. OpenBSD is dedicated to security and code correctness above other priorities (whenever a new class of vulnerabilities are found, they audit ALL of the code for potentially exploitable areas using the new techniques), and they have all sorts of memory protection methods to protect against stack/heap/memory corruption that can lead to arbitrary code execution.

    If RIM is concerned about security, and I'm sure they are, I think they will stick with their existing system, as its track record is really good.

  10. #10
    j llama's Avatar
    j llama no está en línea Device Pro
    Join Date
    Sep 2006
    PIN/ID
    4U2ASKME
    Posts
    4,319
    Loads of info.

    So i guess my question is...

    I can haz Android Apps on my BlackBerry?

    (i am assuming if the apps are written specifically for both Operating Systems, then yes.)
    BlackBerry® Certified Support Specialist

  11. #11
    Thyth's Avatar
    Thyth no está en línea Stack level 3
    Join Date
    Sep 2007
    Posts
    273
    Based on the specifications for Android, it should be possible to create some sort of BlackBerry Android runtime. The Dalvik VM would need to be virtualized with some sort of interface to the relevant BlackBerry API's.

    The question is whether it will be sufficiently fast to be usable. I'm pretty sure getting OpenGL ES and 3D rendering on the BB won't be very realistic, and I see some potential problems with the WebKit framework.

    It might be a fun project to try, and I might give it a shot.

  12. #12
    j llama's Avatar
    j llama no está en línea Device Pro
    Join Date
    Sep 2006
    PIN/ID
    4U2ASKME
    Posts
    4,319
    Quote Originally Posted by Thyth View Post
    It might be a fun project to try, and I might give it a shot.

    I commend you sir!!!!
    BlackBerry® Certified Support Specialist

  13. #13
    Instrumentality's Avatar
    Instrumentality no está en línea Stack level 2
    Join Date
    Jul 2007
    PIN/ID
    22C7107B
    Posts
    76
    Thyth: Thank you for your last post. A very long read, but informative and unless some of it is false (and I am implying no such thing), I think it explains why running android on a blackberry should prove very impractical, and should hopefully crush the notion that a blackberry would be better off running linux.

    What I get out of this thread from skicson and Thyth is that it should be relatively simple to port programs from android to BB, but downright silly to try and emulate it.

    The blackberry isn't much of a speed demon, so I can't imagine trying to pull in extra libraries to run android apps will help any. Is there anything that is only for android that we even want on the blackberry?

  14. #14
    Thyth's Avatar
    Thyth no está en línea Stack level 3
    Join Date
    Sep 2007
    Posts
    273
    The WebKit based web browser would be a big improvement over what is available for the BlackBerry -- especially since it doesn't rely on any sort of proxy server, like Opera Mini, or TeaShark (which doesn't work on the BB yet).

    I didn't mean to imply that it would be "impractical" to run Android on top of the BlackBerry. It might be too slow to be really usable, but very little actually needs to be emulated.

    Android programs use the Linux kernel only to manage resource allocation and threads. All of the same functionality exists in the BlackBerry operating system (although thread allocation is somewhat limited in the BBOS, that can be supplemented with a green-thread/native-thread mix implementation in the functionality map). This step isn't really that complicated, probably 2-3 weeks of programmer time.

    Android also provides a large set of framework libraries including OpenSSL, OpenGL, typesetting, SQLite database, Webkit, and a few others. These provide a slightly larger challenge because these libraries are mostly written in C/C++, and I doubt there are Java equivalents for all of them. SSL functionality can be mapped to RIM's Crypto API, but I doubt anything else can. Since there is no native code execution capabilities as part of the BBOS, these libraries would need to be compiled from C to the JVM. I know of a MIPS machine code to Java bytecode converter that might be suitable for "porting" these libraries, but no direct C->JVM compiler exists as far as I know. I am looking at the feasibility of creating such a compiler. This step is more complicated than the Linux->BBOS mapper because a compiler architecture needs to be created, and I would estimate 4-6 weeks of programmer time.

    Finally, Android programs run in a modified Java virtual machine Dalvik, and have a large API for accessing the various functionality. The Dalvik virtual machine is register based, rather than stack based (as the traditional Java VM is) -- this might make it faster to run on the type of hardware present in cellular phones. A Dalvik virtual machine would need to be written for the BlackBerry (1-2 weeks programmer time), and mappings to the various Android libraries and kernel functions would need to be made (considering the size of the API, and how close the virtualized system matches the Android architecture, this step could take anywhere from 1 to 8 weeks).

    Android seems like an interesting platform, and the time investment to create a runtime environment for the BlackBerry might be worthwhile. Such a project might even catch the favorable attention of RIM, Google, and the Open Handset Alliance.

  15. #15
    mrmoe's Avatar
    mrmoe no está en línea Stack level 3
    Join Date
    Feb 2008
    PIN/ID
    Ask
    Posts
    367
    Android and BlackBerry? = Open and Closed

    AndroidBerry? = Would strike down upon the with great vengeance and fury.

    My2Cents


    Of all the things I lost, I miss my mind the most.
    | The DarkSide of PinStack | FAQ | Downloads |

Page 1 of 2 12 LastLast

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •