Related
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.
We have an imageinfo.bin, and S000, S001, S002, and S003. We need to combine them somehow.
So, I've found threads that will teach you how to create ROMs based on imageInfo.bin files, but does anyone know how to take the pieces of a DLL (or executable) and put them together as a standalone DLL? We are trying to do that in this thread: http://forum.xda-developers.com/showthread.php?t=844008&page=3
For an example of what we are trying to assemble, check here: http://forum.xda-developers.com/attachment.php?attachmentid=444604&d=1290160423
You need to get recmod.exe.
Awesome, thanks! You rock.
I'm running into an error message though, "Error! ProcessCase0: bit 5 is zero!" I think maybe the file format for windows phone 7 is different. Is there anywhere I can go to understand this problem, and maybe get the source code and fix it or something?
FWIW my suspicion is that recmode.exe doesn't properly handle signed binaries, since all the WP7 binaries are signed, but previous WM versions weren't all signed.
Ondraster probably knows the right way to re-file them.
OndraSter doesn't know the actual way .
Binaries in WP7 are a bit different, maybe those e32 and whatever (I haven't dug into this ever, don't understand it and I'm not sure it is worth learning, since WM is going off and WP7 won't be cookable or worth cooking) are different and recmod can't handle its new awesomeness .
Hey OndraSter,
Thanks for the reply. It seems it would be something useful in our efforts to run native code on Windows 7 to be able to recmod those things. Do you have the source code, or any tips on how to go about figuring it out? I can give you all the credit, all I want is to be able to assemble the files!
I have the same problem...
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
I am relatively new here, but was reading some threads and a couple people have said that the community hasn't found the 13.3.2.7 update to manually force a rollback. A couple days ago I called Amazon because I had updated to 4.5 and needed to go back to root.
Since then I have been looking around for where the patch was saved to and found the scripts that setup for the OS update and the scripts to run it. The scripts show where it is and what commands are called to do the update, but the actual 13.3.2.7 OS seems to be hidden. I know where it says it should be, but its hidden somehow. If this is something anyone wants copies of my files on let me know, if this isn't something the community needs I apologize, just trying to help get this tablet further along.
Either post here or message me if you want/need what I have.
Why don't you just post your findings so far on this thread?
I was under the impression that OTA files are downloaded to the /cache folder, therefore inaccessible without root.
Either way, updates are still verified (see: /system/app/otaverifier.apk) by the system, so I'm not sure how you'd get around that.
EncryptedCurse said:
Why don't you just post your findings so far on this thread?
I was under the impression that OTA files are downloaded to the /cache folder, therefore inaccessible without root.
Either way, updates are still verified (see: /system/app/otaverifier.apk) by the system, so I'm not sure how you'd get around that.
Click to expand...
Click to collapse
I see, that part is already known then. Other posts I read people were still looking for it, but I was sure if i found it many others have too. I'm still looking around though, I found the verification coding also, thanks for that. I am thinking about updating my tablet again, and having them roll it back again, but this time running a packet sniffer. Might possibly get some really good info about the verification process or at least the steps it takes to make the rollback. I did a search but haven't seen anyone try this, it's probably heavily encoded though.
Another thing I noticed while looking around... They put a kill switch fuse in it? That's pretty rough, and what causes it to activate? Software modification or Hardware like Jtags?
Eclipsys said:
I see, that part is already known then. Other posts I read people were still looking for it, but I was sure if i found it many others have too. I'm still looking around though, I found the verification coding also, thanks for that. I am thinking about updating my tablet again, and having them roll it back again, but this time running a packet sniffer. Might possibly get some really good info about the verification process or at least the steps it takes to make the rollback. I did a search but haven't seen anyone try this, it's probably heavily encoded though.
Another thing I noticed while looking around... They put a kill switch fuse in it? That's pretty rough, and what causes it to activate? Software modification or Hardware like Jtags?
Click to expand...
Click to collapse
once rooted again .it may be possible to modify your build.prop like we were on past firmware to achieve rollback just to initiate download ,it will ultimately fail once it downloaded it and trys to install it will check a few more things it will fail and erase it ...the trick would be not too let the device idle..or to have the battery below I believe 30 percent it may be as high as 40 I'm not sure but I believe under 30 it will refuse to install update delay till charged ,anyway it may buy you time to find it
jimyv said:
once rooted again .it may be possible to modify your build.prop like we were on past firmware to achieve rollback just to initiate download ,it will ultimately fail once it downloaded it and trys to install it will check a few more things it will fail and erase it ...the trick would be not too let the device idle..or to have the battery below I believe 30 percent it may be as high as 40 I'm not sure but I believe under 30 it will refuse to install update delay till charged ,anyway it may buy you time to find it
Click to expand...
Click to collapse
That is actually a very good idea, something I am testing right now is getting the FireOS to run in VMware. I have a standard Android KitKat OS running, but getting the Kindle's OS to run is giving me a few issues. I am very skittish to try this stuff on my actual device as it's brand new and I don't have a backup... But if I can I will give you idea a shot. Might be able to save it before it deletes. Also if I can get it going in VMware it might be possible to use a debugger to examine the ASM code in great detail.
Eclipsys said:
That is actually a very good idea, something I am testing right now is getting the FireOS to run in VMware. I have a standard Android KitKat OS running, but getting the Kindle's OS to run is giving me a few issues. I am very skittish to try this stuff on my actual device as it's brand new and I don't have a backup... But if I can I will give you idea a shot. Might be able to save it before it deletes. Also if I can get it going in VMware it might be possible to use a debugger to examine the ASM code in great detail.
Click to expand...
Click to collapse
I didn't have any problem doing the modifications myself and I'm no Pro that's for sure. Never written a line of code in my life. I just tend to thoroughly research and understand before I attempt things and I've been practicing here for a while if you go to the, rollback .0.1 and safestraped thread there is quite detailed instructions serval times throughout the thread I would skim it.you will just be substituting version numbers and kind of a inverse idea compared to what we were doing there but it should accomplish it. I used rOM Toolbox lite I believe as an editor and saved each timeI didn't have any problems with the permissions getting screwed up while tampering with it rOM Toolbox took care of that issue. I have seen tons of people brick trying to make these modifications. But I don't think they understood completely what they were attempting to do it's actually very simple and as long as you do it thoroughly and get all of them changed I have not seen any problems other than maybe having to repeat the process.there are a couple of lines that only use the last section of your version numbers I even changed those back then.
Eclipsys said:
I am relatively new here, but was reading some threads and a couple people have said that the community hasn't found the 13.3.2.7 update to manually force a rollback. A couple days ago I called Amazon because I had updated to 4.5 and needed to go back to root.
Since then I have been looking around for where the patch was saved to and found the scripts that setup for the OS update and the scripts to run it. The scripts show where it is and what commands are called to do the update, but the actual 13.3.2.7 OS seems to be hidden. I know where it says it should be, but its hidden somehow. If this is something anyone wants copies of my files on let me know, if this isn't something the community needs I apologize, just trying to help get this tablet further along.
Either post here or message me if you want/need what I have.
Click to expand...
Click to collapse
Please upload the file somewhere (preferably to mega). If it doesn't pass the version check we can use my hack to bypass it.
p1gl3t said:
Please upload the file somewhere (preferably to mega). If it doesn't pass the version check we can use my hack to bypass it.
Click to expand...
Click to collapse
https://mega.co.nz/#!wlQl2bZD!Kk-rcWtcMPWxoEH5VcHrtZb7nOsJet9si1pm5FYhT44
5.2 build prop file
Hey there, I'm Australian.
My G900I is from Telstra. Right now, I have cm12 installed.
The problem I have is that when I flash roms, NFC is jammed on and doesn't work which causes massive battery drain.
The only way I've found to solve this is to flash KToonsez Kernel which has some kind of "NFC fix" as I've seen it called.
Is there any way to get the NFC fix standalone? Is there some way to make NFC work in the first place?
More details upon request, thank you XDA <3
if already searched, should have mentioned this in your thread:
http://forum.xda-developers.com/galaxy-s5/help/nfc-fix-900i-varients-running-900f-base-t3008439
This is the one I'm now using... which is from Neatrom for 900f...
this seems to work at first... but then I can get the actual NFC tag to read. It reads... but then makes a https://mega.co.nz/#!3EVjDJaA!Qr__QPWD-Ay9aXGr0sSbjgW_sp3gBi8abcEf5Sh1x90 fail sound
I noticed that after replacing files manually it was actually the libs that made the difference to stop the "NFC service has stopped" message.
These are the related files:
Code:
\system\app\NfcNci
\system\app\NfcNci\NfcNci.apk
\etc\libnfc-brcm-20791b04.conf
\system\etc\libnfc-brcm-20791b05.conf
\system\etc\libnfc-brcm.conf
\system\lib\hw
\system\lib\libnfc-nci.so
\system\lib\libnfc_nci_jni.so
\system\lib\hw\nfc_nci.bcm2079x.MSM8974.so
as I say... I went through manually changing these one by one and the apk and odex made no difference, etc files also, just the libs. I didn't get to try changing the file in hw. I'd like to know what that file directory is - is this the kernel driver right?