[Q] [Concept] [ROM] "CUBE" How do I begin to make my own ROM - Android Q&A, Help & Troubleshooting

Before I begin i'd like to say that I am not new to flashing, or these forums. I've been lurking about for a couple of years and thought it high time I become a member.
Little intro about me, I am a graphics designer and I am currently studying graphics design in college, i've had a few commission jobs mainly designing logos for bands and small businesses. I have studied IT and have touched upon C# coding (made a few small games) and visual basic. I am pretty decent at designing, creating and programming circuits for different uses. I am a pretty hands on person, i like to make things to fit my tastes and others when i need to, i'm pretty much a jack of all trades.
So to my question.
I want to begin making my own android ROMS, now im going to be honest i've only ever made one apk file and that was a tiny little drawing app with very few features. I know how to mod a few things within android and IOS (I know more of IOS i've been an active jailbreaker, themer and modder for a few years).
I understand i'd have to start with very basic things such as small apps and theming, so if anybody has any pointers that would be great. Hell maybe even a set of tutorials or something (google'd some things with no luck)
I have a concept I have created named it CUBE, it's basically a very minimalistic ROM and i mean very minimalistic... you would have your phone, camera, texts and browser and id try to keep pretty much everything else out, you would still be able to access play store and do everything android can usually do but only those basics are installed, i've sketched up most ideas, how everything would be layed out and such, colour schemes pretty much everything. I have an image of the logo and homescreen concept drawn up and it looks very nice to me (some little tweaks need here and there)
View attachment 1791551
tl;dr
I want to make my own ROMS, I have no experience in making them.
I know i need to start simple.
Need help.

Related

Ideas on how to make a theme for Vega

One of the reasons I bought my Vega for was that I could mess a bit with an Android device and learn about it without having to put my phone in peril (in the end I've been flashing ROMs on my phone with a daily frequence anyways, so it was more a good excuse than anything else ). I've considered the idea to build an Ubuntu theme for our devices: there are many icon packs available and as an Ubuntu user I'm familiar and keen on the look and feel.
I've seen some tutorials, but they seem to be quite old and perhaps in the meantime the process of building Android themes has become easier than in 2009.
Any ideas on the topic?
Thanks in advance!
I woke up one day last week and decided I wanted to change to look of my Vega.
Searched all over XDA and found plenty of icon packs, but most needed Bettercut etc, which didn't seem to work very well on the Vega. Other icon packs were PNGs, which firstly crashed my gallery app every time and secondly were also low res. I tried a few other apps but they all seem designed for small screens - the icons they create are very pixellated and small with no way to change.
I also wanted to change the icons in the app drawer, apparently the only way to do this is to reassign each icon within the APK of each app and reinstall.
I gave up in the end, I am flashing a new rom almost weekly and I don't fancy going through all that hassle every time.
Logseman said:
One of the reasons I bought my Vega for was that I could mess a bit with an Android device and learn about it without having to put my phone in peril (in the end I've been flashing ROMs on my phone with a daily frequence anyways, so it was more a good excuse than anything else ). I've considered the idea to build an Ubuntu theme for our devices: there are many icon packs available and as an Ubuntu user I'm familiar and keen on the look and feel.
I've seen some tutorials, but they seem to be quite old and perhaps in the meantime the process of building Android themes has become easier than in 2009.
Any ideas on the topic?
Thanks in advance!
Click to expand...
Click to collapse
Maybe try speaking to some people from here (Viewsonic G-Tablet forums):
http://forum.xda-developers.com/forumdisplay.php?f=841
http://forum.xda-developers.com/forumdisplay.php?f=845
It may be helpful, as they have similar roms to us (software 'buttons' at the top of the screen), and have the same screen resolution too.
EDIT: I found this page specifically, which could help.
http://forum.xda-developers.com/showthread.php?t=878518

[Q] [Dev Question] So, here's the thing...

So, I've been a member for a while, and I've done my fair share of using everyone elses ROMs on my phones, starting from HeroC, to Moment, to Epic, to OG Evo, then on to TMo phones like the MT4G and Nexus S.
Now that I'm back on Sprint and rocking this beast of an Evo 3D, I'd like to actually CONTRIBUTE to the community. I give you Dev's/Chefs mad respect for what you do, and I'd like to be a part of that as well.
So, here's the actual questions for this Q&A thread: Is there any special programming knowledge I need to start cooking roms, or starting to dev? Do I need to know code? Do I need to be fearless with my own device? (lol) Is there a *For Dummies*-ish site/thread/forum that would be a good idea to read up on?
I realize that there are probably a million threads like this, spread all over the interwebz and these are PROBABLY some "OMG NOOB SEARCH" questions, but in my opinion the best place to go for information is directly from the source
Believe or not...the best source of info IS searching...not us...learn the basics...adb, java, XML, start small...learn Linux and learn, learn, learn....all great developers and chefs...are self taught...because what you learn on your own...you learn to ask questions to yourself,,,for yourself...it is either in you or not..a passion for knowledge in programming and or modifications of system cannot be taught for the drive..because if you search first and learn by doing with the tutorials...then and only then can you ask the right questions..
^^^ I've never seen so many ellipses. :s
@OP Yeah, I'm trying to do the same thing. I've picked up a book at B&N titled "Android Apps for Absolute Beginners", by Wallace Jackson. It's pretty up-to-date, and includes Honeycomb bits.
It's readable (as opposed to reference-able), and it's taught me quite a bit. I recommend you have a super basic background in Java (any object-oriented language would be good, but all the code in the book is Java and XML), something like Introduction to Computer Science or similar would do fine.
Good luck with that, and lemme know if you find any resources I should know about.
Zak Jones! said:
^^^ I've never seen so many ellipses. :s
@OP Yeah, I'm trying to do the same thing. I've picked up a book at B&N titled "Android Apps for Absolute Beginners", by Wallace Jackson. It's pretty up-to-date, and includes Honeycomb bits.
It's readable (as opposed to reference-able), and it's taught me quite a bit. I recommend you have a super basic background in Java (any object-oriented language would be good, but all the code in the book is Java and XML), something like Introduction to Computer Science or similar would do fine.
Good luck with that, and lemme know if you find any resources I should know about.
Click to expand...
Click to collapse
It's a bad habit.. I commend you on what you are doing...my background was I taught myself 8086 assembler for the at class back awhile ago. Nobody would help so I digested book after book and line after line of assembler and a language called Force. To make a Long story short, I wrote my first commercial assembler library with over 1600 functions! That's a lot of code. I was one person that wrote it, the manual and support over compuserve. I was very proud of and I believe no other language library even came near it. It was at the time the most feature rich one available with another library called Funcky II with around 1400+ functions. Both were C callable, large memory model. Today's hardware do not need that crap. Then eventually went into programming full time a little after that. So I speak from experience. It is one thing to ask for guidance and another for specific items. Every good programmer, without exception was self taught..yes they went to college for computer programming or others like me that did not..they shared a common theme which is self motivation and the discipline not to quit. I once asked a very good programmer what is the secret to becoming a great one and his reply was simply code and code away. A very good reference for programmers is in fact the library source. It is invaluable. Hope this helps a little bit. I did tout my horn, yes, but you needed to get a background so you would not think I was as my dad used to say "speaking out of my a?s".
life64x said:
It's a bad habit.. I commend you on what you are doing...my background was I taught myself 8086 assembler for the at class back awhile ago. Nobody would help so I digested book after book and line after line of assembler and a language called Force. To make a Long story short, I wrote my first commercial assembler library with over 1600 functions! That's a lot of code. I was one person that wrote it, the manual and support over compuserve. I was very proud of and I believe no other language library even came near it. It was at the time the most feature rich one available with another library called Funcky II with around 1400+ functions. Both were C callable, large memory model. Today's hardware do not need that crap. Then eventually went into programming full time a little after that. So I speak from experience. It is one thing to ask for guidance and another for specific items. Every good programmer, without exception was self taught..yes they went to college for computer programming or others like me that did not..they shared a common theme which is self motivation and the discipline not to quit. I once asked a very good programmer what is the secret to becoming a great one and his reply was simply code and code away. A very good reference for programmers is in fact the library source. It is invaluable. Hope this helps a little bit. I did tout my horn, yes, but you needed to get a background so you would not think I was as my dad used to say "speaking out of my a?s".
Click to expand...
Click to collapse
Nice, programming in assembler is no small feat. If you're familiar with Linux and Java you should have no problem figuring ROMs out. Dsixda has a kitchen he posted in the Android Chef's section that is very useful and apktool along with either WinMerge or Meld can be used to learn from the different ROMs.
It was a labor of love. I just seemed so cool in asm. Actually, what I want to write is a decompiler for the android with near perfect retrieval of code back. I seen the engine in smali and just do it for the heck of it. It has the parser in it..but I don't know java that well. Can't even write a hello world..) I was darn good in Delphi with windows and would be more comfortable with that. If somebody wrote simply a lexical for the small/ Bali output then that would all you would need for that type of program. I did not study java's reflection that good and it's another route. I want to give others who want develop the fun and passion I had. This was a hobby when I started. Years later, that hobby never left me. I respect the **** out of you and other developers out there, no matter what phone, tablet or computer because yes you are programming..you are giving something of yourself to others. Non programmers really do not know that developers for all the bugs and crap that comes with it...it is our soul, hearts and emotions that go into every line..every file we put out.
This you don't learn from a book..this you learn by making come alive what is inside our brains.
Thanks for the responses guys! Much appreciated. Looking forward to diving in head first!
Bigirish said:
Thanks for the responses guys! Much appreciated. Looking forward to diving in head first!
Click to expand...
Click to collapse
Have fun! I took xHausx suggestion and went to chefs central and it will help all new developers. Last night, went to the android forum section in there..hit last page of it and went backwards reading page by page and in that night investment..I found resources that are invaluable. I recommend you do the same. One thing I should tell you many out developer wanna bees out there...the only thing that sperates the ones who are and not is the simple fact..if they had a problem, they did give up. This may sound simple..but when you get frustrated...it is easy to throw in the towel.

What User-Interface 'Experience' would you like on Android?

I've been pondering for some time that if Android has the most customization on the earth for a Mobile OS why doesn't the rooted community make a rom? All the current roms out there Whether it be Cyanogenmod, MIUI, Sense, Touchwiz, Motoblur, it's all based and still resembles of what the manufacturers or companies have given us. Even though MIUI has a company behind it, it shows that you can use the rooted community to make something great. We have an abundance of Developers, Themers, Idealists, testers, etc. to do something like this.They could design it, port it, test it, and put more ideas forward. Even though I have nothing of value to offer, I was just wondering why this has not been done, so my pondering can stop.
imagine how many phones you would have to port it to
Not trying to be rude or anything, but think about that statement.
He has a point. A ROM alone doesn't do much if the drivers are missing... and those are not generally available unless you sign a deal with the hardware maker, which isn't exactly trivial for opensource projects. I don't really see any other way than what people are doing now: What other way than grabbing the drivers from the previously installed system is there to get anything to run on the actual hardware?
Cimer said:
Not trying to be rude or anything, but think about that statement.
Click to expand...
Click to collapse
yeah i know your first post says we have a lot of developers to do it, but porting isnt an easy job. each phone has their own specifications. some phones cant handle what other phones can. and even if you manage to port most of the rom, there are bound to be bugs. and maybe you dont know how many phones we have here on xda. we're talking about all the phones here and here
Well since it's off of AOSP...? I don't see where you're getting this whole making deals with manufacturers. How ever since most brands have been ported to Cyanogenmod it's not impossible.
Also you would not need to port it to those devices. Not trying to exclude people but I'm just going to take Cyanogen's stance...It's been two years, most people have updated to new devices. Also most of those are not even Android..cmon
How else do you want to get the drivers... you either have to take them from the device, which means leaving enough of the system in place that they'll function (which is what CyanogenMod is doing now), or make a deal with the people who have the original drivers. I just don't see any other ways, do you?
Cyanogen does not make deals with manufacturers and it's well Cyanogenmod not Cyanogenmod+motoblur or Cyanogenmod + touchwiz.
Look I know you guys are pessimistic about it, but it's a interesting and real possibility.
Drivers, not frontends. What I mean is Cellphone chipsets, battery stats and so on... they're still there when you install Cyanogenmod, since they can't include their own... I thought that was part of what you meant with "Community ROM", that these "leftovers" from the original system should go. I'm not pessimistic, just confused.
Well you're only confusing your self. It's a straight forward idea..The community designs it's own UI and from there it is dependent on specific devices developers. It's not impossible, It's only as possible as the community makes it out to because this community is very talented.
Ah... you just want to change the frontend, not the "bowels" of the system... sorry, simple misunderstanding. I read "community ROM" and thought you wanted to go further than what Cyanogenmod is doing, essentially building a full working ROM instead of what is essentially a kind of patch for the system already in place...
Sort of..Think MIUI but by the community
Hmm... could you be a little more specific what you think should be part of such an alternative main user interface? For example, should it do away with the widgets concept if it feels inadequate? Or remap controls and so on. Or should it be "just" a launcher and a fancy keylock?
Well that's not up to me to be frank. The reason why I can't be specific is because it's a community rom, not a Cimer rom
There always has to be a starting point and you (hopefully) have some thoughts on this, otherwise you wouldn't have created this thread, right?
For me, it's mostly about the launcher and "Task Switcher" or whatever you want to call it ("Recent Applications"). Lock screens for me serve only a single purpose and any more than that usually gets in the way. For example, if you place a lot information on it, you have to keep the screen on for a longer period, which will eventually drain the battery if you keep the phone in your trouser's pockets.
Well yes...I have thought about it. Through thinking about it I came to the conclusion that I don't know what everyone wants, and how it will work out. Now I could be the starting point, but to be realistic I can't do it by myself I would need the previous mentioned people in my first post, and the community to get this rolling. This could either be revolutionary or it could just be lost in XDA's countless topics. It will also be hard because everyone has something they're working on.
You need to give people something to discuss
OK, then I'll start.
As I said, the core functions for me are home screen and task switching.
Let's start with the launcher.
Launchers fall mainly into two categories:
1. Searcher
2. Finder
A "Searcher" allows the user to specify more and more precisely what he wants to do. This can either be key presses, categories/labels or anything really that asks the user for traits of the activity he wants to perform.
A "Finder" on the other hand presents most available functions at once and lets the user pick the one he wants immediately.
There are many shades of gray between those two, but that's the spectrum.
For me one level of "Searcher" functionality has proven the optimal level of traits that I can navigate through without ending up at the wrong point too often. Categories, à la PalmOS are still the best thing I can think of, but obviously that's partly due to my history with mobile devices, which has been dominated by PalmOS. How do other people reach their applications?
P.S. May I suggest a title change for the thread? Something along the lines of "What User-Interface 'Experience' would you like on Android?". The "CustomROM" title still confuses me
Done.
If you think about it All roms basically have icons on their home screen in a grid or on a dock of some sort..How would you change that to have the greatest eye candy and functionality.
Well to be honest you can't get away from icons on the home screen judging from other mobile and computer operating systems. So they next question would be how do you optimize that "dock" to be to the user's liking. ADW, Launcher Pro, and somewhat MIUI has provided a little answer to that. You can theme the dock, put 1 to 5 icons on it..But the trouble is to not make it look iPhoneish yet allow the possibility in case someone want to...we don't want that. So what do you do? Also perhaps we could not get rid of the app drawer, but the app drawer short cut. Like there is a little bar or line (depends what shape your dock is) above the dock and you have to drag that up.
Or perhaps having the notification bar on the bottom (top if you wanted to) and improve the notification system
Cimer said:
The community designs it's own UI and from there it is dependent on specific devices developers.
Click to expand...
Click to collapse
ah i see now, sorry for the misunderstanding
Cimer said:
If you think about it All roms basically have icons on their home screen in a grid or on a dock of some sort..How would you change that to have the greatest eye candy and functionality.
Well to be honest you can't get away from icons on the home screen judging from other mobile and computer operating systems.
Click to expand...
Click to collapse
i came across this...looks pretty interesting to me
I also like this idea, MIUI has done an outstanding job with android, they've added so many things that were never made, but even CM is superior to AOSP or any stock ROM out there. I would like a cool homescreen that's 2D w/ 3D like effect similar to sense 3.0. And the setting menus should resemble honeycomb, it should have extensive theming down to every app. These are just some things I would like to see.

[Q] Starting Android Development with no experience in Software Programming

Hi xda-developers,
I am an Embedded developer with vastnexperience in Firmware development in C programming (for microcontrollers), pcb designing, corel draw/photoshop (intermediate level) . Now I am looking to stretch my self a lil further by trying my hands on Android Programming. I have no prior experience in Software development. It would be kind of experienced developers out here to guide me with possible approaches that I can give to Android development without a much steep learning curve. As I would be practicing android development mostly on weekends (as of now), I would like to get started with things that I can relate with already. That way it would keep me going. Help me out with:
1. Possible applications I should work on. Something that can also be helpful for the community of users and developers.
2. Starting point and other obstacles I would come across while development.
3. Application ideas.
P.S: I also have a rPi lying around catching dust.
Some of the features still cant use on this. Libraries could be use.
Start with "Hello World"
Regardless of your software development capabilities you should always just mess around with the tools that are available and see what you like and what you don't like.
Try every tool you can, when you feel like you know those inside out have a go at extending the functionality of one of those.
For me when it comes to learning a new technology like Android SDK just playing with it inspires me to want to create real and practical applications.
Goodluck and have fun.
PS: I would stick around and see what happens with the release of Qt 5.2 Hint hint...
Yea. Android like embedded requires you to set up a Dev environment so get that up first. ROM building vs app developing are hugely different. Decide which and download the tools. (May require you to install a whole new os and tweak it heavily. Last time I ventured to compile a ROM it was a day to set up my Linux distro of choice)
And like what was said before start with hello world and move up in small bites. You will gain better understanding of how things work and will be less frustrated. Don't expect a full featured app to appear. Once you play around with all the little components eventually you will see a big picture and the building blocks for the "big app" will be there ready to use.
Sent from my One using xda app-developers app

[Q] Old developer needs serious learning advice

Hello All,
Will try and keep this short: Am an old time developer, since 1979. I was self-taught, as a kid, never one class. The weakness there is that I never learned most of the terms.
So when learning new languages, it was harder since I didn’t have a reference point. i.e. may no longer be used, but I created “linked lists”, just never knew they were called that.
Anyway, I never got past using C and WinSDK. And I learned just enough Perl on the fly as I needed it to create some backend parts to some of my apps.
I am desperate to start a new project, preferring to do it on Android first. As hard as I looked for LOCAL developers with serious programming experience, and preferably some Voice SDK experience I failed. I tried Craigslist and Meet Up. Nothing.
So I need to do this MYSELF. Or at least start it and come up with the alpha-prototype on my own.
After all that explaining, what’s the BEST (and least expensive) means I can purchase to teach myself programming an Android device?
I always loved forums, we’re talking back when NEWSGROUPS were the way to go. Because out there was always someone who knew…and was willing to share their point of view.
Currently using a PC-Windows environment, so any IDEs in that arena would be preferred.
So any help, any direction would be so appreciated.
Many thanks ahead all,
Sergio
I would definitely recommend grabbing Android studio and looking through Androids developer docs. If you're familiar with java all you really need to know is the Android framework and how everything works together (lifecycles, passing data around, working with various sensors/hardware, etc).
Android studio is free so no cost to you there. If you're not familiar with java there are tons of good resources online
Sent from my XT1254
Hi!
I agree with @blackangus, i started programming for android with eclipse at that time and some tutorials i found online.
In my experience is a little bit frustrating at the beginning because is has some hard to understand concepts if you come from low level languages.
you can try to follow a basic lessons to start understanding the different parts like,
1) Views ( it cost me pretty much to understand how views and activities work)
2) Networking and async threads (restfull services calls and json manipulation)
3) Play services (push notifications, account registration and such)
this was the approach i took and it helped me a lot, i hope my humble guide helps you too.
5 years ago I got my intro to Android via Android App Inventor: http://appinventor.mit.edu/explore/
Good intro to Android concepts but drawing pictures instead of writing code still can't produce professional apps.
So I dove into learning Android Java. Nice...
My background was in C ; I never quite figured out C++ and have heard since that Java is superior anyway, written for OO instead of adapted from C.
I still program plenty of C for Android NDK low level code.
Before C, I did various assembly/machine languages, including the first CPUs in the mid 1970's and in early 80's front panelled a simple OS into an old PDP-11/05 to use an Apple clone keyboard and a "TV Typewriter" type 6847 Video board I built...
Now I'm wondering about iOS Objective C. Much more money still it seems in iPhones/Pads.
I am a newbie too. My background is microcontroller programmer, so i use C very often. When i start learning android programming, i begin with learning java and eclipse first, after i got the OOP concept, i begin learn to use android API and Android Studio....when we start from low level language, learning Java is easier... Java basic first then android API....
I am a serious coder, usually working with enterprise applications at my job. In my experience, if you need to learn something new, it is better if we get help from some friends or professional trainers. Saves us a lot of time and trouble. If you want to learn the basics of OOP and are going to build something, I suggest you get help of a professional trainer. You will be clear about the subject matter easily and with your experience, you will achieve progress within no time.
Wow. I don't feel so bad now. I'm and old geek too. I'm looking at trying to develop a simple game for Android. My last coding was in 1988 using COBOL. I'm a System Analysist but most of my experience was in medical systems and Digital Radiography. I'm basically a College Freshman.
Thanks for the information.
Can we keep this thread open or create another for Q&A from you wiz kids?
A funny note: I was involved with Search and Rescue in 1979. We were a driving force to get SAT phone's going but our budget only allowed for 2 satellites that year. We tested with a fellow driving in California while talking to us in Milwaukee. We only had a 20 minute window , then had to wait till the next.flyover 3 hours later. We've come a long way. Let's keep the momentum going!

Categories

Resources