Well hello everyone.
I am an application development student from Belgium.
I am proficient in Java, VB.NET, some c/c++ and also PHP/JS/HTML/CSS
Anyways, my recent interest has been going out to creating custom roms for the galaxy S!
The problem now is though, I was able to find some guides and such, but most were incomplete, and for HTC(and other) devices.
I have no idea what is different between making a ROM for galaxy S or a ROM for an HTC device.
If anyone would like to link me to some good resources that can help me on my way, or would like to collaborate (and in the meanwhile teach me a bit) I would be more than happy! (I am open for collaboration as I am pretty proficient in Java and I'm always happy to code and learn more about coding!)
I think the question is really want you want to do!
Custom ROMs for Android are as simple as using recovery console to replace files on the system with your own versions.
ie. Replace the framework.apk which contains all theme images with your own modified one, which you can use to skin the device. Same for replacing other system apps.
Unfortunately, most of these apps are closed source, so modifying them is difficult. The stock android system has open source versions of most of them though, and you can modify those and build them, and then replace the ones on the device. I'm not entirely sure how to build them up though, but it probably isn't too hard.
Then there are custom kernels, which let you actually change the underlying linux system underneath android - Samsung has an open source version of the kernel available that you can compile, and then flash to your phone using Odin or other tools. Compiling the kernel is pretty tricky though.
Well i'm really talking about stuff like SamSet, MoDaCo, Doc's ROM and others.
I'm not saying I want to create a pro ROM in a day or anything, but i'd really love to learn more to get better (always looking for more stuff to put on the resume, I guess?!)
Thanks a lot,
Kenny
Bump for some help
(sorry for the double post but i'm really eager to learn)
I don't have time to give a detailed response right now. However you will want to read up on yaffs (file system) and odexing/deodexing ROMs.
Thank you I will definately do that,
I am following a guide now to start out creating custom ROMs for android, however it was written for Motorola Droid and I have no idea what you have to do different for a samsung galaxy s.
I am a good coder, even though I say so myself, with a lot of experience. I also have a lot of linux experience, you name it
Only the problem is the old, and much known "where do I get started?"
So if anyone can point me out in the right direction on that, tell me how/where you started out, I would appreciate it greatly!
Thanks!
Very sorry to bump again
I set up my environment in ubuntu today to get started (just gotta fix a few errors, didn't know android wouldn't compile on java 1.6, only on 1.5)
Anyways, still need some help here! thanks!
Again I am awefully sorry for the bump here but i'd really like some help.
Note that i'm not a newbie at coding whatsoever and i'm not unfamiliar with some hardcore java, c/c++ and other languages, I'm just having trouble getting started when it comes to modding an existing android release (there are tutorials on HTC and other devices but some methods do not apply to the galaxy S)
If you're trying to create a ROM from scratch then unfortunately you're out of luck at the moment. No one has really managed to do so yet. By "from scratch" I mean the Android Open Source Project (i.e. official Android git repository).
What you can do is grab an existing firmware. Extract the contents, de-odex the apks, modify them or add new apks, optionally you can also compile a custom SGS kernel using Samsung's kernel source. Then you can re-odex the ROM, pack it back up and distribute it.
There's no real "starting place" as such and you won't yet find any tutorials about how to create SGS ROMs. Just give it a go and see where you get.
Yes, I do mean creating a ROM from stock samsung firmware, of course.
So my next logical question would be now:
How do I go over extracting contents from the existing samsung firmware, de-odexing and so on?
Any links/guides/tips are greatly appreciated, as long as they are applicable to this cell phone and not totally crap, thanks!
Samsung uses rfs, I think you should know. There is a thread somewhere in this forum regarding extracting .rfs file. Understood you need Debian though.
For some readup, go search for a famous guy named JesusFreke. Tons of materials...
Hope that from here onwards, this can lead you on, and to find out more. Google is your friend too...
I'm afraid my biggest problems already occur in setting up the environment, so it's really the very beginning that gets me stuck, i'm sure coding would be a bikeride compared to setting up the environment for me (i'm no hero in linux,not at all, i'm afraid)
How the hell do I get from point A (being downloading the full source) to point B (starting to create a custom ROM?)
thanks
of course if anyone has the time, and wants to, you can PM me your msn or something, if anyone is up to it
Raykoid666 said:
I'm afraid my biggest problems already occur in setting up the environment, so it's really the very beginning that gets me stuck, i'm sure coding would be a bikeride compared to setting up the environment for me (i'm no hero in linux,not at all, i'm afraid)
How the hell do I get from point A (being downloading the full source) to point B (starting to create a custom ROM?)
thanks
of course if anyone has the time, and wants to, you can PM me your msn or something, if anyone is up to it
Click to expand...
Click to collapse
Agreed completely! Getting a full cross-compilation to Samsung's Android going is seriously difficult! There have been some promises for tutorials and guides for setting things up though, but none have appeared yet. Probably because it's hard!
Well thank you for agreeing with me on that.
I am really hoping for anyone that can help me out here, either on here or in private, and give some detailed instructions on how to get started.
Hell there is enough information on creating roms alread, deodexing, adding/removing apps etc etc etc... The real problem lies in setting everything up properly.
I think I have gotten to the point where I'm compiling the android source (without samsung specific files)
note i'm saying "i think i am compiling" because i'm hoping it won't error out on me again after an hour of compiling!
But once that is done... I have no idea where to go next, where to get the samsung specific files, or what to do with them whatsoever once i have them
thanks!
Android generic source won't actually help you much. Samsung has made a huge number of changes to it, and while it is all open source, backporting their changes to get your stock source running on the phone is a major undertaking. I believe cyanogenmod was actually working on this, but it seems without much success so far.
What the other rom makers you see are doing is taking a snapshot of a running rom, copying over all of the APKs and the files on a running device, and then tweaking those. ie. Opening up framework-res.apk and changing the image files inside.
The update.zip roms that are what most people are doing are really just using the Android recovery to replace files on the phone with their own versions. Since the underlying system is linux, and everything is a file, this actually works pretty well.
The kernel development effort is completely separate from the rest of the system though, and Samsung has provided the entire source tree that just has to be compiled. I'm a bit stumped myself on all the details of setting it up, but I have seen some threads on this forum about it, and it didn't seem too bad to set up. Apparently you shouldn't use the codesourcery toolchain though, or something. Not too clued up on it, sorry. Hopefully someone with the details can chime in, or give us a link to the old post on it (I'm failing to find it using the search function! )
Alright sounds good!
So these recovery files you are talking about (the contents of /system) how do i retrieve those from a base ROM such as JM7 or the likes after a clean flash?)
Raykoid666 said:
Alright sounds good!
So these recovery files you are talking about (the contents of /system) how do i retrieve those from a base ROM such as JM7 or the likes after a clean flash?)
Click to expand...
Click to collapse
Root your phone, zip them up onto the sdcard, and then copy them off.
There are probably better methods, but this works fine.
Also, with credits to Unhelpful, he has told me that the correct toolchain to be using is 'uClibc or eglibc toolchain with ct-ng'. I have no idea what to do with that yet, but it's a start.
RyanZA said:
Root your phone, zip them up onto the sdcard, and then copy them off.
There are probably better methods, but this works fine.
Also, with credits to Unhelpful, he has told me that the correct toolchain to be using is 'uClibc or eglibc toolchain with ct-ng'. I have no idea what to do with that yet, but it's a start.
Click to expand...
Click to collapse
You don't even need to root your phone to pull /system Ryan
adb pull /system <random folder>
is all you need ^^
Alright thank you, I managed to get all the /system files using abd pull /system
now next thing up would be de-odexing right, before I go editing stuff?
Now before I go de-odexing. Can anyone tell me what exactly de-odexing is and why I need it?
and what do I need to do to create an update.zip again?
thanks a lot all!
Tayutama said:
You don't even need to root your phone to pull /system Ryan
adb pull /system <random folder>
is all you need ^^
Click to expand...
Click to collapse
Haha cool, didn't know you could pull whole folders!
Raykoid666 said:
Alright thank you, I managed to get all the /system files using abd pull /system
now next thing up would be de-odexing right, before I go editing stuff?
Now before I go de-odexing. Can anyone tell me what exactly de-odexing is and why I need it?
and what do I need to do to create an update.zip again?
thanks a lot all!
Click to expand...
Click to collapse
The apk files in Android are odexed - that means they have a special index applied for dalvik that speeds them up somehow! I don't know how, I haven't checked how it actually works.
The important point is though:
odexed is faster, but you can't edit it because of signatures or something technical
deodexed means you can change it however you want
More useful info can be found from google - lots of it!
update.zip is easy - it's a zip file in a special format that can be understood by Android's recovery console. The easiest way to do it is to grab an existing update.zip and modify it as needed. Tayutama has millions of em around, so use his!
Then you need to sign it once you're finished with it so that the SGS will accept it. Samsung made a boo-boo and didn't disable the test keys for the 2.1 SGS firmwares. That makes it easy!
http://www.londatiga.net/it/how-to-sign-apk-zip-files/
Just use the test keys to sign it, and then copy it to /sdcard/update.zip and reboot into recovery and it'll work.
Just a quick question, probably just a setting, but I used to be able to download roms on my phone off here...but now the phone won't let me? Says unsupported file can't download? Any ideas? Using dk28 kernel with epic experience 2.0.03. Thanks!
Settings
There is a setting in astro file manager that will allow browser to download any file type
Thank you!!! I figured it had to be something simple.... Do you know by chance how to disable 270 rotation?
I think i remember in the epic experience rom thread they figured out how to do it .
This is what schizo said but i have cyanogen on my evo again and waiting for a reason to go back to epic , but as i flash gingerbread it may be a little while
Code:
windowsmgr.support_rotation_270=false
So basically I figured if false means "off" then true must mean "on"... simple, I know.
I changed it to this...
Code:
windowsmgr.support_rotation_270=true
And it worked!
Now I wouldn't recommend blindly changing things in your build.prop unless you absolutely know what you are doing since this file can do a lot of damage as well if its not configured right. Also, I would recommend always keeping a backup of your original build.prop file if messing with it so you can always revert back.
So there ya go, 270 rotation.
yeah I knew about that...used to work in eclair but can't seem to find the code anywhere in froyo... Thanks for all your help though
Greets all,
I am looking for a person who understand on how to create an apk for android, and if they can create one for me. I have tried and tried and I cannot get the last half of the apk because I dont understand programming and am truly clueless. I had someone who was going to help me, but then disappeared, so I come here for help.
I would think it would not be that hard for someone who knows what they are doing. If anyone would be so kind and willing please PM me, or reply. I would like to finish this project but I'm at a standstill.
The details will be provided in PM.
Thank you.
AngelDeath
Want do you want the apk to do?
Create just an apk is easy...but without any programming skills and some code in it it will do nothing .
An APK is just a simple ZIP file, nothing more.
Thats true, its a simple zip, but when you need it to make changes or copy files, thats where I am clueless.
I have already made the gui, and the menus, I got that all covered, but the problem I have run across or the clueless programming idiot part of me is that when you make a selection, for it to impliment what you selected, also since the selection would make changes to a file, how would I got about having all the different combinations, saved in the apk so that when you make a selection it would know what to pick and either copy the settings, or to overwrite the existing file with the selection chosen?
When I tell you I am a programming idiot, take it seriously I am.
sorry, i don't have a solution to your inquiry (have tried and tried to build apks and no success beyond themes...)
and i think your skills are quite beyond mine as a chef, but in all of my reading i felt that this guide seemed to help. maybe can help, but if not good luck!
http://www.vogella.de/articles/AndroidLiveWallpaper/article.html
Thanks for the link I bookmarked it, but one of the things its lacking in the tut for wallpapers is the way to overwrite an existing file. But I'll look at it as with my android books, but I am more a visual learner first then read, if that makes sense.
interesting idea. i would think that if possible, might run into problems a la metamorph with apks not being able to updated once their initial integrity is altered. though if a rom file, don't think that would be a problem. another angle would be to see if it is redirectable - like what themechooser for tmo/ cm7 roms does. those themes don't replace per se, though can redirect most things. just waxing philosophically. best of luck. if i ever venture out of cm7, your roms are looking very interesting! keep up the great work.
cheers.
A place where to make apps
I know this webpage where you can make apps whithout programing.
The webpage is: Called "Andromo" Since I'm new I cant paste the link but I think that you can put "www" and at the end "com"
Greetings,
Mister-Android.rs Team
Hi all.
I'm working on a custom ROM for the Nexus 10 based on the latest 4.2.1 build.
It's almost finished, but I'm struggling with a few things and though someone might be able to offer some assistance.
1: I'm trying to add the advanced power menu like is found in some other ROMs for the N10, but am hitting dead ends everywhere. I've found a few guides online but none seem to be relevant to this device. My ROM is de-odexed. I have decompiled the framework-res.apk file but can't find any clues.
2: I'm trying to disable OTA updates and hide the "System Update" option from the "About Tablet" menu, but can't seem to figure it out.
Any help would be greatly appreciated, I know both are possible as I have seem both working in other ROMs, but I don't want to rip off someone else's work.
Cheers,
Will
With some help from a fellow forum member I was able to figure out how to remove the "System Update" button from the About Tablet menu.
I modified the device_info_settings.xml inside the settings.apk file and recompiled it, then re-cooked the rom and flashed it and it worked perfectly.
Now I just need to find where the updater.apk or equivilant is hiding!
In the meantime I cooked in fotakiller.apk which seems to do the trick.
Cheers,
Will