Hello all, I am new to XDA forums. Previously I only used to visit XDA for custom ROM for galaxy y and its trouble shooting. Now after flashing so many ROMs I have a good idea about how to flash any ROM. But I wanted to learn how to port an OS. How do people port Cyanogen mod onto various phones? I know its source code is freely available, but how to fine tune it to work for a particular device. ? How to learn the basics of creating a custom ROM and how to build one? Also how to develop Android Apps and port any OS on android-suited hardware architecture (like Qualcomm SoCs).. Sorry if I misinterpreted and told any technical terms here.! I am a Computer Science student in first year engineering! I know C++, Visual basic and HTML
leovarghese1232 said:
Hello all, I am new to XDA forums. Previously I only used to visit XDA for custom ROM for galaxy y and its trouble shooting. Now after flashing so many ROMs I have a good idea about how to flash any ROM. But I wanted to learn how to port an OS. How do people port Cyanogen mod onto various phones? I know its source code is freely available, but how to fine tune it to work for a particular device. ? How to learn the basics of creating a custom ROM and how to build one? Also how to develop Android Apps and port any OS on android-suited hardware architecture (like Qualcomm SoCs).. Sorry if I misinterpreted and told any technical terms here.! I am a Computer Science student in first year engineering! I know C++, Visual basic and HTML
Click to expand...
Click to collapse
Time to go to XDA University!
http://forum.xda-developers.com/general/xda-university
Good luck!
Thanks bro!
Related
Hello Everyone I Am New In This World And I Have Some Questions About Developing
-Which Programming language Should I Learn To Create Apps.?
-How To Create ROM?
-What About Porting Something From A Device To Another One?
-Is The SDK Of The Mobile Is Enough To Port Something From It?
-Should I Own An Old Phone For Testing?
P.S. I Have GS3
You develop for Android primary in the Java language. You may write native (i.e. compiled) code as well, but Java is recommended in most cases.
Creating custom roms is much like creating a Frankenstein Monster. Decompose your original rom, pick the pieces you like, replace the other with stuff you dig up from other places, or create yourself. Then re-pack everything in your new custom image, flashing you phone. The details about what to use to split images, flash devices etc you have to search this forum for - it'll differ from device to device.
When developing for Android you chose a minimal API level, e.g. Android 1.5. This way your app will run on all devices with at least Android version 1.5, no porting needed. Java is "write once, run many" so to say.
You can test your new apps either on you phone or in the emulator (Android Virtual Device) supplied with the SDK. If you intend to develop lots of code, a dedicated phone may be quite useful for testing, yes, but absolutely not necessary. You'll not crash your phone just because your application crashes, all apps are running in separate processes protected from each others.
You find the official tutorial at developer.android.com/training/basics/firstapp/index.html
Thanks For Your Help. Your Words Are Very Useful
THE.W!ZARD said:
Hello Everyone I Am New In This World And I Have Some Questions About Developing
-Which Programming language Should I Learn To Create Apps.?
-How To Create ROM?
-What About Porting Something From A Device To Another One?
-Is The SDK Of The Mobile Is Enough To Port Something From It?
-Should I Own An Old Phone For Testing?
P.S. I Have GS3
Click to expand...
Click to collapse
you need java to learn programming................
for basic rom making a bit of general knowledge is enought not much of programming is required........
for basic porting you can use cygwin for complex ports u need t change the framwork files which you will learn as the time passes..
sdk is required for building app and adb fastboot not for porting and other kind of stuff(related to api's)............
what do you mean by old phone.. you build mods for your phone so test it on the phone you built the mod for not old phone or something like that.........
The first thing you need to do is learn Java.
http://forum.xda-developers.com/forumdisplay.php?f=613
Hey guys,
so this is applicable to all devices and its android specific therefore I think this is the best place to ask these question/s. I learned coding with Python for a few months last year and really enjoyed it. Now I am thinking since I have an android phone that is claimed by most "unbrickable" and I am probably stuck with it for another year I decided to learn android programming and contribute to this awesome community and hopefully make my phone awesome myself. Before I can do all that I have a few questions. Most of the development guides I saw after google searching, referred to how to create apps ( now I know there are guides to creating roms here). If I learn with those guides how to make apps will it be a similar process when I wan't to make custom roms? Also how to start? Start with Java SDK, with eclipse? Point to some guides plox
early thanks
There are guides for building apps... and guides for building ROMs... but AFAIK, guides for customising ROMs don't really exist... ROM customisations are generally just done following the API or using someone's work as a reference point....
craigacgomez said:
There are guides for building apps... and guides for building ROMs... but AFAIK, guides for customising ROMs don't really exist... ROM customisations are generally just done following the API or using someone's work as a reference point....
Click to expand...
Click to collapse
I think I worded that wrong. I know there are guides for building apps and building roms but I was asking If I use one of those guides to build app + learn to build app using a book or something will it help me build roms later? And for the custom rom thing, I meant like theres hellfire ics cm9 then theres eaglesblood ics cm9 for same device but by different people so I when I said custom rom I mean like my own ics cm9. but anyway thanks for your answer.
First and last bump
Making ROM's is different then making apps, while the skills you learn using Eclipse and Java JDK will only teach you Java, XML and ADB at most, when making ROM's you need to know many different things. While you can make custom ROM's with little programming experience to be a true master of making custom ROM's you need to know Java and XML, for modifying and creating your own custom apps you can include in your ROM, C and C++ for tweaking the kernel to truly optimize performance, Shell for creating scripts to automate tasks and performing other functions in your ROM, Photoshop/GIMP for image editing and creation in order to customize the look of your ROM, as well as patience to debug any problems you may run into and a couple other skills as well.
If you want to learn how to compile CM9 check out these guides:
[TUTORIAL]Setting up and compiling CM9/CM10 from source
Galaxy Nexus (GSM): Compile CyanogenMod 9 (Linux) It's for the Galaxy Nexus but it's still a very good place to start with to learn how to compile CM9 from source.
For learning basic customization of ROM's check out these great videos:
Let me know if you still have questions .
shimp208 said:
Making ROM's is different then making apps, while the skills you learn using Eclipse and Java JDK will only teach you Java, XML and ADB at most, when making ROM's you need to know many different things. While you can make custom ROM's with little programming experience to be a true master of making custom ROM's you need to know Java and XML, for modifying and creating your own custom apps you can include in your ROM, C and C++ for tweaking the kernel to truly optimize performance, Shell for creating scripts to automate tasks and performing other functions in your ROM, Photoshop/GIMP for image editing and creation in order to customize the look of your ROM, as well as patience to debug any problems you may run into and a couple other skills as well.
Okay that makes sense. So if I learn to make apps since thats what most guides are, I will learn to work with JDK and XML but creating ROMs requires much more knowledge. I am okay with just being able to compile source codes/porting roms from similar devices and what not. I am pretty decent with Photoshop so thats a win Thank you sir
Click to expand...
Click to collapse
Dear xda community,
I just made my account so I can ask the question written above (and join your community :fingers-crossed. I don't ask for instructions, guides etc. I just want to know if it's possible and if so, how hard is it?
There was a guy who always ported the MIUI official global developer SD roms to the MTK phones. It worked pretty well, though I'm not a great fan of MIUI's design & bloatware. Long story short: he did it in a very short period of time.
There are many Android 5 (6 at best) custom roms out there, though we have Android 7 (offical resurrection remix OS) for the SD device. MTK and Snapdragon share the latest MIUI/Android version (7.11.23), so maybe copy/paste files is possible until a certain limit?
Thanks for your answers and best regards (and sorry if I'm not seeing any obvious mistake, I'm just learning C++ at the moment and that's all )
Marvin M.
MarvinMe said:
Dear xda community,
I just made my account so I can ask the question written above (and join your community :fingers-crossed. I don't ask for instructions, guides etc. I just want to know if it's possible and if so, how hard is it?
There was a guy who always ported the MIUI official global developer SD roms to the MTK phones. It worked pretty well, though I'm not a great fan of MIUI's design & bloatware. Long story short: he did it in a very short period of time.
There are many Android 5 (6 at best) custom roms out there, though we have Android 7 (offical resurrection remix OS) for the SD device. MTK and Snapdragon share the latest MIUI/Android version (7.11.23), so maybe copy/paste files is possible until a certain limit?
Thanks for your answers and best regards (and sorry if I'm not seeing any obvious mistake, I'm just learning C++ at the moment and that's all )
Marvin M.
Click to expand...
Click to collapse
Actually No... SD and MTK are 2 different architectures and the kernel having the apis implementated wont be common... But it would be little simpler if porting rom also shares the same archecture... So u need to browse similar roms which are in same architecture....
Also to port across different OS versions, you need kernel source to provide respective drivers.... Hope it helps
Hello everyone.
Im new here.
I just want to ask something.
When porting roms can my base ROM and my port ROM have different android version?
Looking forward to having responses
P/s: sorry for bad engrisk )
XdaNeko said:
Hello everyone.
Im new here.
I just want to ask something.
When porting roms can my base ROM and my port ROM have different android version?
Looking forward to having responses
P/s: sorry for bad engrisk )
Click to expand...
Click to collapse
It has been a looong time since I knew about those things but if I remember your base ROM should have that same Android version as your port ROM.
And if you want an advice, please consider building a ROM from source. Troubleshooting is hell with ported ROMs. Building ROM is scary because it has commands that you don't know yet, but it's way more easy than porting. Trust me.
Here is a guide on how to build ROM from source :
https://forum.xda-developers.com/chef-central/android/guide-android-rom-development-t2814763
@XdaNeko
It's NOT the version of Android what does matter. If that would be the case then an upgrade via OTA never would be possible.
A Stock ROM always at 100% matches phone's hardware ( CPU, GPU, RAM, storage memory, etc.pp ) - it's built by OEM's / Carrier's R&D department, the guys who know best of.
Whereas a Custom ROM necessarily does NOT because it gets built by 3rd-party companies/programmers associations - who think they can do it better, but don't always have the specific Android device at hand.
Hi folks,
I have a question. For many years I have been using many custom roms for many android devices (sony, samsung, xiaomi, motorola... with cyanogenmod, lineageos, aospextended, havocos etc etc...). I am the guy who likes tesing any of custom roms which appear in the forums.
For a long time I had a question in my mind: "How the hack the people prepare and build these custom roms, I want to be not only the user, but want to have the skills to build it my own"
Now I have joyeuse and I would like to try to build some custom rom by myself. Do you have any hints, tips, tutorials or howtos, where should I start with learning?
Thanks in advance
Have not done it myself.
But there are many tutorials on xda on how to setup your build environment.
Search on words combinations like: guide, build, compile, ubuntu, windows, ...
Or have a look into the different forum groups.
example:
https://forum.xda-developers.com/android/software/guide-build-port-miui-rom-to-device-t3250984
...
success!
thanks, but this is kinda outdated
Thanks for help, but I see this is 5 years old tutorial, so many changes have changed on android / miui design
Of course I googled it but not found anything pretty new and explanatory...w
kheno said:
Have not done it myself.
But there are many tutorials on xda on how to setup your build environment.
Search on words combinations like: guide, build, compile, ubuntu, windows, ...
Or have a look into the different forum groups.
example:
https://forum.xda-developers.com/android/software/guide-build-port-miui-rom-to-device-t3250984
...
success!
Click to expand...
Click to collapse
jackup.pavlicek said:
Thanks for help, but I see this is 5 years old tutorial, so many changes have changed on android / miui design
Of course I googled it but not found anything pretty new and explanatory...w
Click to expand...
Click to collapse
i made a guide years ago. the overall process hasnt really changed just device specific files for the roms
https://forum.xda-developers.com/zenfone2/general/guide-how-to-compile-roms-zenfone-2-t3205312
so you'd ignore anything of the sources i linked for the zenfone and instead replace them with our devices sources. because we are so early on and things keep changing id suggest waiting till we have a proper recovery and are able to build from lineage from scratch.
also small differences in build dependencies like using the latest version of java and what not