Java to Android - Operating System Change?

Discussion in 'Computer Science | IT | Networking' started by rohith gunnu, Oct 10, 2012.

  1. rohith gunnu

    rohith gunnu Certified CEan

    Engineering Discipline:
    Electrical & Electronics
    i have a doubt can we change a java phone to android? please answer me ...
  2. Anoop Kumar

    Anoop Kumar Knight

    Engineering Discipline:
    IT
    No , you can't change a java phone to android phone.
  3. Jeffrey Samuel

    Jeffrey Samuel Star

    Engineering Discipline:
    Electronics
    How are you planning to do it I don't think this is possible
  4. lal

    lal Moderator

    Engineering Discipline:
    Electrical
    ianoop That means, we cant install an android os to use that hardware, even after tweaking the os core files?
  5. Jeffrey Samuel

    Jeffrey Samuel Star

    Engineering Discipline:
    Electronics
    There is a mere possibility but hacking through the core files in mobiles is not a possible event

    Any ways the other features in a Java based mobile will not support the Android OS and so you will have to revamp everything which will be really cumbersome
  6. Jeffrey Samuel

    Jeffrey Samuel Star

    Engineering Discipline:
    Electronics
    This is also only if it is possible to tweak the os core files
  7. lal

    lal Moderator

    Engineering Discipline:
    Electrical
    Agree that its not an easy task. Still, can make it use the hardware by tweaking the core, right?

    Recently Samsung's wave series phones were found to partially support Android os. May be because both share almost the same kind of hardware. And still the Android core is being modified to try make it support fully.
  8. Jeffrey Samuel

    Jeffrey Samuel Star

    Engineering Discipline:
    Electronics
    Yeah true the more the features are mirrored the easier for phones to turn cross platform If not this is not so attractive
  9. Anoop Kumar

    Anoop Kumar Knight

    Engineering Discipline:
    IT
    To convert a java phone to android one need to hack the Linux kernel and port on a Java Phone.
    You are saying Samsung Wave (having linux kernel) partially running android, may be because android too have Linux Kernel.
    Once the Kernal is ported, any compatible OS to that kernel can be ported on device.

    Here is Android OS architecture.
    [​IMG]
  10. rohith gunnu

    rohith gunnu Certified CEan

    Engineering Discipline:
    Electrical & Electronics
    thank u for giving me a reply i don't have samsung wave but i just wanted to know is this possible or not that's it
  11. Ankita Katdare

    Ankita Katdare Moderator

    Engineering Discipline:
    Computer Science
    This is a very interesting question. Not sure how I missed it.
    Theoretically, since Android is a linux based OS, it should be able to run on any device with compatible architecture.
    People can try installing Android on Java phones if it is just for an experimental purpose. (So, don't try it on a phone that you'll be using on a daily basis.)

    I suspect that even if it were possible, it would be far too much work for far too little result (it would run buggy, if at all.)
    What do you think guys @Pensu @Abhishek Rawal?
  12. Pensu

    Pensu Star

    Engineering Discipline:
    Computer Science
    I agree, if you can port Linux kernel to any phone, then Running android shouldn't be that tough. I think someone should try it out! It would be interesting to see the result!
  13. Abhishek Rawal

    Abhishek Rawal Moderator

    Engineering Discipline:
    Electronics & Communications
    Why it is NOT possible ?
    Think vanilla Linux kernel as an ocean (Main) & branch that separates out and creates a river is Android kernel (its fork). In the end, this separated branch will be merged into main( river meets back to ocean). So, whatever patch work & features added in fork is likely to be merged into mainline. But, technically not all patches & features are accepted in mainline vanilla Linux Kernel (eg : wakelocks). Linux Kernel never accepts specific device related patches & features. You gonna find bulk of android code in Linux Kernel but not everything is mainstreamed into vanilla LK. Some features of Android Kernel affects the performance of vanilla LK. Maybe memory leaks.

    Now, one thing to remember that every project/team have their own Kernel developer/developers who add/purge features into vanilla LK as per the device requirement. These are device/hardware specific codes & features which never gets included in mainline kernel. So, every device has its own custom Linux Kernel that includes most part of vanilla Linux + device specific features, drivers & patches. Inshort, think that if there are 50 mobile devices with different hardware specs then all 50 mobile device will need different Android kernel (Vanilla Kernel + Custom hardware specific patch-set & features that never will be merged into mainline).

    So, as mentioned in above discussions about Samsung Wave, if there is source code available for drivers of chipset used in Samsung Wave (or probably you know the chipset architecture), then you can grab vanilla LK & with the help of opensource drivers source code (or you've to write device drivers on your own, if you know its architecture) you can create custom kernel (Android Kernel) & then flash it in Samsung Wave following by Android OS to run Samsung Wave with Android.

    When & Why it IS possible ?
    Well, assume that Samsung released two flagship of Samsung Wave both with identical hardware specifications. One runs BadaOS while other Android OS. You can grab the kernel of Samsung Wave model which runs on Android & flash it on other wave(that uses BadaOS), and then install Android ROM. Undoubtedly, it will work as hardware used in both device is identical.

    In short, if your device has same internals to that of any other device that running on Android, then you can grab its Android Kernel & make it work in your device. Simple as that! But you just CANNOT grab vanilla Linux Kernel & flash it in any device to make it work, as third party not-mainstreamed hardware code is still missing in vanilla LK.
    -----------------------------------------------------------------------------------------------------------
    I think you get my point, Overall process could be something like :
    1) Grab vanilla Linux kernel.
    2) Grab code for features that are not mainstreamed in LK (like ashmem, logger, wakelocks,etc.) from Kernel tree of AOSP.
    3) Merge both vanilla LK & non-mainstreamed Android features from kernel tree of AOSP.
    4) Knowing hardware of your device. (Writing chipset device drivers for controlling I/O peripherals inerrupts)
    5) Adding hardware specific code to (vanilla LK + non-mainstreamed features from kernel tree of AOSP)
    6) Now, I assume your kernel for (your specific) hardware is ready! (Plenty of other tweaks needed though)
    ----------------------------------------------------------------------------------------------------------------
    However, if you don't know hardware architecture of the chipset used in your device, you prolly never be reaching ahead of step 3. So, it is only possible when chipset drivers are opensourced or you know the architecture of chipset.
    • Informative Informative x 2
    Last edited: Mar 29, 2014
  14. Ankita Katdare

    Ankita Katdare Moderator

    Engineering Discipline:
    Computer Science

Share This Page