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.
Ok so I picked up my Droid X about a month ago and haven't been able to put this thing down, I never thought about rooting it because it did everything I needed/wanted it to do, then one day I log into my car forum and all the OT guys are posting cool print screen's of their phones. I was intrigued, so I rooted my phone and have been trying to figure out a few things but I'm not really up on the terminology and/or logic behind doing certain things. I would greatly appreciate any help in regards to explaining the following:
1) Rooting - Takes off restrictions on the phone so that developer apps can be installed... Is there more to this or is that pretty much it?
2) Flashing - I see this term often but I'm not sure what it is exactly, I tried installing a theme once and the directions said to flash something somewhere and looked at it the same way my dog looks at me while I'm working out at home.. lol
3) ROM - !?
4) apk's - What are they, what do they do, and how do you install them!?
5) Installing themes - I'm thinking has to do with all of the above...
6) Locating and moving downloaded content...
7) How do all of these things tie together? I'm completely clueless as to what does what on the phone and would like to become as knowledgeable as I was when the iPhone first came out and I figured out how to jailbreak/unlock it...
As a reward for your time and effort I leave you Final Fantasy VII fan's with a cool wallpaper I found at work today.. Thanks for any/all input and again, your time is most appreciated!!
Initial GT3 said:
Ok so I picked up my Droid X about a month ago and haven't been able to put this thing down, I never thought about rooting it because it did everything I needed/wanted it to do, then one day I log into my car forum and all the OT guys are posting cool print screen's of their phones. I was intrigued, so I rooted my phone and have been trying to figure out a few things but I'm not really up on the terminology and/or logic behind doing certain things. I would greatly appreciate any help in regards to explaining the following:
1) Rooting - Takes off restrictions on the phone so that developer apps can be installed... Is there more to this or is that pretty much it?
2) Flashing - I see this term often but I'm not sure what it is exactly, I tried installing a theme once and the directions said to flash something somewhere and looked at it the same way my dog looks at me while I'm working out at home.. lol
3) ROM - !?
4) apk's - What are they, what do they do, and how do you install them!?
5) Installing themes - I'm thinking has to do with all of the above...
6) Locating and moving downloaded content...
7) How do all of these things tie together? I'm completely clueless as to what does what on the phone and would like to become as knowledgeable as I was when the iPhone first came out and I figured out how to jailbreak/unlock it...
As a reward for your time and effort I leave you Final Fantasy VII fan's with a cool wallpaper I found at work today.. Thanks for any/all input and again, your time is most appreciated!!
Click to expand...
Click to collapse
First off- that is a lot to bite off as an opener. lol. I have to get in a minute- plus I am a newb as well but here a couple of things...
1) You sound pretty on track. Root gives you access to more options with your phone. It also voids your warranty.
2) Flashing. A term used loosely. Normally it is used in conjunction with "flashing a rom". It simply means to install something (basically).
3) Rom. It is the image (not in the photo-graphical sense) that is embedded/burned on your phones hard drive with all the information of your operating system. For instance: you are on the stock 2.2 ota "rom". But you could "flash" the new "AOSP rom" that was just released. That means you would be removing the factory image that came on your phone and replacing it with a modified image. Theme's and .apk's -those are not "burned" into the phone. If you do a factory reset- those will be wiped. The rom image stays put. If you flash from 2.2 ota to AOSP and then did a factory reset- you would not return to the original state your phone came from Motorola bc that image is completely removed and replaced by the new image you flash. Instead you would return to a clean AOSP.
4) .apk's - .apk is simply the name of the file extension used for android applications. I came from Windows Mobile and they were called .cabs. So any app can be referred to as an .apk. You can download an apk from XDA, place it on your sdcard, tap the file, and i think you will be prompted with "do you want to install" (some where along those lines). There is a setting in the "Settings" that allows you to install 3rd party (non-market) .apk's.
5)Installing themes. This refers to modifying the images (and this time I do mean in the graphic sense) of certain .apk's and other whatchamajiggies. You can install a simple theme that just changes your lockscreen, or you can install a huge theme that changes almost every part of every image so the entire phone looks similar. Here is the tricky part about using themes- your phone has to be deodexed.
deodexed. When you get your phone all of the system files come with a few different parts to them. One of those parts is an odexed file. Apparently the theme building types do not like working with these files so they run this process called de-odexing in which all of the system files are somehow manipulated in a way where they no longer need their odex file. So you end up "de-odexed". There is a program called "xultimate 2.2" that enables regular folk like you and me to deodex our phones. I tried running it yesterday and it errored out on me. So I used another method that worked fine. There are some threads on here about deodexing- if you want themes you will have to do it.
6) locating and moving downloaded content. When you have root you can get Root Explorer from the market. I am sure there are other good file exploreres- but I can't speak to them- I use Root Explorer. As far as locating downloaded content- whenever I download something from my phone, it always (normally) goes to /sdcard/downloads. If it is not there, I guess you just do a search for it. If you want to move it- long press the item, copy, move.
And you will need to google "ADB" (android device bridge). Many of these activities will require the use of ADB. You plug in your phone through USB (make sure phone settings are set to "USB debugging") and... well there is just way to much on this one. Google this one and you will find a lot of stuff- or search it here on XDA
have a great weekend. got to go.
I will try to set up a guide to contain all of the information to get the most out of your I9000 Galaxy S. First the fineprint:
I am not responsible for any damage that any of these instructions may inflict to your phone, computer or any other device that is used in the processes described herein. I am also not responsible if you lose your warranty by flashing your phone with unsupported firmware or if any of these instructions brick your phone, if it will rape your wife or if it will eat your liver with some fava beans and a nice chianti.
I didn't test any of the programs specified herein for viruses/trojans/etc. I run Windows in a VirtualBox that doesn't have access to the internet and doesn't contain any private data, so I don't care for viruses, if you care for your OS though, you should check the programs for viruses before running them.
Use common sense when following such instructions, some of the things may differ because of different program versions, different operating systems or different setups.
Some of these instructions are based on a stock firmware, if your firmware is modded in any way, some of the things described herein may be inappropriate for your device.
1. NOT bricking your phone.
--Why, when, where: Everyone's afraid of bricking their phone. I see the term "bricking" is being a bit overused in these forums though. Everyone is using it, even for the case where the phone can actually be "repaired" with a few simple hacks, IMHO the term "bricking" should only be used in the case where you get your phone in a state where it is inoperable AND you can not in any way repair it yourself.
--Prerequisites: A bit of common sense.
There are a few simple steps that you can follow, to get the risk of "bricking" (as in, you can not repair it yourself and need to somehow get Samsung to either repair it for you, or give you a new device) to a minimum:
1.1. Before trying any of the other steps, make sure that you can get to both the "Recovery mode" and the "Download mode" using the 3-button-combo. If this doesn't work for your device you can try following the steps described here: http://forum.xda-developers.com/showthread.php?t=810686
1.2. Try to avoid flashing stuff that contains a bootloader. The only way to permanently brick your phone so that you can not repair it yourself (at least AFAIK) is to flash a bootloader and then interrupt that flashing. If the bootloader didn't get flashed properly and it's broken, there isn't much you can do about it, and you need to somehow get Samsung to either repair it or give you a new one (if you're lucky). If the bootloader is fine, there is almost always a way to "repair" your phone yourself.
1.3. Do not interrupt the flashing processes. When using Odin or Heimdall to flash stuff to your phone, there is always the risk of bricking it if you interrupt the flashing process. If the bootloader is fine though and you can get into the "Download mode", you might be able to repair it.
If you follow these simple advices, it might save you money, nerves and also some time without your phone (the time that it takes Samsung to repair it, which can sometimes, depending on country, be even a couple of months).
2. Flashing stock firmwares.
--Why, when, where: You should usually do this if your phone doesn't work with your current firmware, if there is a new firmware out that might work better or if you just want to go to a stock firmware.
--Prerequisites: Odin, a stock firmware (from www.samfirmware.com for example).
NOTE: Apparently there are people that report that using Odin v1.3 might interrupt the flashing and leave you with a soft brick and that v1.7 doesn't have this problem. I have always used v1.3 and never had problems because of it, but if v1.3 isn't working for you, you might give v1.7 (or even heimdall) a try before giving up.
The steps to flashing a stock firmware are already described in a couple of other threads, like: http://forum.xda-developers.com/showthread.php?t=818556
Nonetheless, here a quick sum-up of what you have to do:
2.1. Open up Odin.
2.2. Put your phone in the "Download mode" with the 3-button-combo (Volume Down + Home + Power).
2.3. Connect your phone to your computer (DO NOT CONNECT THE PHONE BEFORE OPENING ODIN OR THIS WILL NOT WORK).
2.4. Odin should recognize your phone and one of the "com" boxes should light up yellow. If this isn't the case, try repeating the previous steps and eventually connect your phone to another USB port.
2.5. Select your firmware in Odin.
2.5.1. --OPTIONAL-- If you want your phone to be like new, you can select "Re-Partition" in Odin, which will make it repartition your Internal SD. In this case you also have to use a .pit file (WARNING -- you will lose all of your installed applications and settings).
2.6. Take a deep breath and click the "Start" button.
2.7. Wait for the firmware to be flashed and for the device to be restarted.
2.8. You now have a stock firmware. If you also selected "Re-Partition" in Odin, all your programs and settings will be gone and your device will be like new.
3. Rooting your phone and flashing a custom Kernel.
--Why, when, where: Rooting your phone will get you super-user permissions to Android (super-user is Linux's equivalent of "Administrator rights" in Windows). This will allow you to execute some programs that need root permissions, access partitions that you otherwise couldn't and do other cool stuff with it.
--Prerequisites: Stock firmware (as most --if not all-- of the custom ROMs or kernels have root permissions already), Odin or Heimdall.
There are many ways to get root permissions on your device, like with special apps (OCLF for example), with CWM (aka ClockWork Mod) or, my preferred method, flashing a kernel that has this built-in. For this example I will use the SpeedMod Kernel, which is my preferred one. If you have another kernel that you like and that has root built-in, you can use that one.
3.1. Download your preferred kernel (the version for Odin, not the one for CWM).
3.2. Open up Odin or Heimdall.
3.3. Put you phone into "Download mode" and connect it to your computer (DO NOT CONNECT THE PHONE BEFORE OPENING ODIN OR THIS WILL NOT WORK).
3.4.1. If you are using Heimdall, unpack your kernel until you end up with a file called zImage. Select that in Heimdall in the box for "Kernel (zImage)" and click Start.
3.4.2. If you are using Odin, select the file you downloaded in the PDA box and click Start.
3.5. After your Phone reboots, go into "Recovery mode" and go to "Advanced Speedmod ULK features" -> "ROOT / Install Superuser".
3.6. After rebooting the phone again, you should have root permissions.
4. Deodexing your apps and framework.
--Why, when, where: The system applications and the framework files on the Android OS are normally 'odex'ed. By deodexing, you will get rid of the .odex files that come with every apk and jar file and you will be able to edit the apks like any other apk. It will also save you a wee bit of space, and make your apps launch a wee bit faster.
--Prerequisites: Stock firmware (as most --if not all-- of the custom ROMs are deodexed already), xUltimate (this is what I found to be the easiest, if you know any software that is better, please let me know), root permissions.
You can download xUltimate from here: http://www.droidforums.net/forum/xeudoxus/47283-release-xultimate.html
There are more ways to deodex your apps, but I found xUltimate to be the easiest.
4.1. First of all, you need to get the files from "/system/app" into the subdirectory "origi_app" and all of the files from "/system/framework" into the subdirectory "origi_frame". Both "origi_app" and "origi_frame" should be in the folder you extracted xUltimate to. If they don't exist, create them yourself. There are actually two ways to get the files there, either with xUltimate itself (options 1 and 2) or by copying them to your SD with "Root Explorer" for example and then copying them from your SD to your computer (or with adb of course).
4.2. Deodex the apps and framework with xUltimate, options 3 and 4.
4.3. After deodexing is finished, the deodexed files will be located in the directories "done_app" and "done_frame" in your xUltimate folder. You have to get these files back to their original directories, in /system/app and /system/framework. Again, there are a couple of ways to do this, either with adb (MOST RECOMMENDED ONE), or with "Root Explorer". For the adb method, you should open a command prompt and execute following code:
Code:
adb shell
su
stop
mount -o rw,remount /dev/block/mmcblk1p21 /system
rm /system/app/*.odex
rm /system/framework/*.odex
cp /sdcard/done_app/* /system/app/
cp /sdcard/done_frame/* /system/framework/
mount -o ro,remount /dev/block/mmcblk1p21 /system
reboot
5. Optimizing and zipaligning your apps.
I wasn't yet successful at optimizing or zipaligning. Optimizing (aka Compressing) the apps gave me a lot of FCs, optimizing the framework files gave me bootloops. If anyone has any advice on this, I'd be very thankful.
Also, see post #2
6. Protecting your screen.
--Why, when, where: This is not about protecting your screen from scratches, but rather about protecting it from degradation over time. As you might already know, AMOLED screens are prone to the "burn-in" effect. To elaborate a little: AMOLED uses Organic LEDs to display the amazing graphics you see on your display. These OLEDs are very good at displaying bright, colorful pictures, they have a downside though -- they fade over time. That means, the more a specific OLED is used, the less light it emits. If the whole screen would degrade at the same pace, that wouldn't be such a BIG problem, but the very nature of the OLED screens makes them degrade unevenly. That means the OLEDs that are used more frequently (like clock, phone signal, wifi, notification bar), get dimmer faster and this leads to ugly "shadows" on fullscreen apps. To be able to keep your screen as beautiful as new, I got a couple of tips, so that the display degrades more evenly and you avoid the ugly "shadows".
!! Most users won't even notice these degradations, also they won't be noticeable in 90% of use-cases and they will only appear after longer use (6 months+), but you can still use these tricks if you want your display to be almost as good as new a couple of years from now !!
6.1. Don't set brightness to 100%. At least not all the time. You should best be using a brightness setting that fits your ambient light, or the "Automatic brightness" setting. This will ensure that the OLEDs don't wear out as fast (the brighter you use them, the faster they will degrade).
6.2. Use a grey notification bar. The notification bar is the biggest "static" element on the screen. Most apps that are not fullscreen, will also show the notification bar, and this leads to an uneven degradation in that area if it isn't a neutral color. If you use a white notification bar, the OLEDs there will get dimmer faster and you will get an ugly shadow when using fullscreen apps, if you use a black notification bar, it will not degrade as fast as the rest of the screen and that area will be "brighter" in fullscreen apps, that's why I recommend a medium grey.
6.3. Use as little static elements as possible. If you don't need the clock in the notification bar, get rid of it. Get a theme that uses grey or green icons (see next step why) and try not to leave the phone on over night displaying the same static image.
6.4. Avoid blue. As you can see here for example: http://img24.imageshack.us/img24/8057/new1ls.png the blue OLEDs are degrading at a much faster pace than the green or red ones, this is why you should avoid using blue wallpapers or blue themes, they will make your display degrade faster than if you use a green theme and a green wallpaper for example.
These tips won't make your screen live forever, it will degrade too, but by using these tips, at least you can assure that you will have the most of your awesome display even in a year or two from now.
7. Theme-ing your phone.
Coming soon...
8. Unlocking your phone.
--Why, when, where: If you bought your phone with a contract, chances are that it might be locked in that specific network. If you want to also use other SIM cards in it, that are from another provider, you will have to unlock the phone (!! WARNING !! in most cases this will lead to a void warranty, please consult your contract).
--Prerequisites: Root privileges, adb.
8.1. Get the /efs/nv_data.bin file from your device to your computer. You can do this either with adb or by copying the file to your SD card with "Root Explorer" and then copying it over to your machine from the SD (Be sure to keep a backup of this file and the /efs/.nv_data.bin.md5 file.)
8.2. Open up the file in a hex editor, go to the address 0x181468, where you will see something like this:
FF 01 00 00 00 00 46 46 46...
We are interested in that first '01', that means the phone is locked. Just change it to '00' and save the file. Copy it back to your SD card and then with "Root Explorer" back to it's original location (or 'push' it directly with adb). Then remove the .nv_data.bin.md5 file and restart the device (Again, be sure to make copies of these files before modifying or deleting them!). After this, you should be able to insert any SIM card into your device and it should work without the need for any further hacks.
9. Setting up 'adb' on your machine.
--Why, when, where: adb (aka "Android Debug Bridge") is a tool that will let you execute remote commands on your android device. It is useful for debugging, accessing and copying files from/to your device and much more.
--Prerequisites: The android SDK, which you can download from here: http://developer.android.com/sdk/index.html and the USB drivers for your phone, which you can get by either installing Kies or by downloading and installing these drivers: http://www.mediafire.com/?a6ni32dk6nn953b (password is 'ragin' -- I didn't test them, so feedback on these is welcome).
9.1. Unpack the downloaded android-sdk.
9.2. Go to the unpacked directory and launch the SDK Manager.
9.3. Go to "Available packages" -> "Third party Add-ons" -> "Google Inc. add-ons" and tick the box next to "Google Usb Driver package" and the click on the "Install Selected" button. This will download and install the Google USB Drivers.
9.4. Whenever you want to connect to your phone through adb, make sure that you have enabled "USB Debugging" under "Settings" -> "Applications" -> "Development".
9.5. You should now be able to open up a command line ("Start" -> "Run..." -> Type "cmd" and click "OK"), cd to the subfolder "platform-tools" under the folder where you unpacked android-sdk and run "adb" in there.
Take some time to get used with the commands that adb offers, as these will help you to debug problems when you encounter some.
10. Lagfixing
--Why, when, where: It is said that the default filesystem that is being used for the partitions on the SGS (RFS) is having slow read times and thus the programs launch a bit slow, sometimes perceived as "lag". This can be fixed by converting the filesystem on the most used partitions to a more modern filesystem, like the ext filesystem, which not only has a bunch of improvements over such old filesystems like RFS, but also seems to be a bit faster.
--Prerequisites: A kernel that supports lagfix.
10.1. Since every kernel has it's own way of converting your FS, you should best look into the documentation of your kernel on how you can apply a lagfix. Some even apply it automatically for you (as in, "lagfix on" is their default setting).
11. Do NOT overcharge
--Why, when, where: Almost all new batteries have an overcharging protection. This means that the protection that is built into the battery will not let it charge to 100%. This is a feature, not a bug! This will help prolong your battery life while also keeping it safe from overheating/explosion/etc. Do not try to trick it and unplug and plug again until you see 100%, just get used to the fact that you can't have 100% battery anymore and live with it, or you risk destroying your battery.
12. Call recording
--Why, when, where: Most Galaxy S firmwares don't have the ability to record both streams of a call. This is not a bug, it was designed like this because in most countries it is illegal to record someone without their permission. Yes, there are apps that will let you record a call, but without software support, it will record the other end from the microphone, which will result in low quality, but there is a workaround.
This might be illegal in your country! I'm not responsible if you get sued for recording someone without their permission.
--Prerequisites: Root permissions, adb/root explorer, a 2.2.1 firmware.
12.1 Download the attached "CallRecord.zip" and unpack it.
12.2 After unpacking you should have 3 .so files. You need to get these files into your /system/lib folder with either adb or by copying them to the phone and then using "Root Explorer" to copy them to the proper folder.
12.3 Reboot.
12.4 After the phone has rebooted, you can use most apps that are on the market to record calls properly (that means not from the microphone). I use AllCallRecorder because it is simple and does the job. There are also Phone.apk's that have call recording built in, you could also install one of those and record your calls with it.
That is all for now. I will add more information as time goes by and I hope this will become a full guide on how to make the best out of our devices. If you have constructive criticism, questions or any ideas or tips on how to improve this, please let me know. If you don't have anything constructive to add to this thread, please DO NOT post. If my troll alarm goes off, I WILL ignore you.
Thanks goes to:
ragin for the USB drivers.
I have learned most of the stuff I put here from various searches on Google and the xda forums and I may not remember the exact threads I got them from. If you feel I have copied your work without giving you credit, I am very sorry for that. Please let me know via a post or a PM and I will link you in the "Thanks".
I am sorry if my English is bad, it's my third language though. I hope that the post is understandable by most people.
This post will contain instructions for *nix based operating systems
Because I am using Linux myself and because it is much easier to do stuff in the command line on Linux than it is on Windows, I will mostly post instructions for *nix systems. If anyone wants to help out by "translating" them over for Windows machines, I can include it in the next post.
Optimizing and zipaligning
I have managed to Optimize and zipalign the apps in /system/apps with the following code.
You need to run this on a *nix distribution (I used Ubuntu) with at least the following packages installed: bash, zip, unzip, optipng. Put all the .apk files from /system/app in a folder on your machine, cd to that folder and execute this code snippet.
Also, beware that some of the apps might not work (I had for example FCs with the camera and the phone app), I'll try to figure this out and make it pretty much foolproof. Currently everything but the .9.png files are optimized (the .9.png files are some special files that can't be treated like normal png files).
Code:
for apk_file in *.apk; do
file_name=`echo $apk_file | sed -r s/.apk//`
echo -ne "Unpacking\t$file_name.apk... "
mkdir $file_name
unzip -qq $file_name.apk -d $file_name
cd $file_name
echo -ne "Done.\n"
echo -ne "Optimizing\t$file_name.apk... "
for pngfile in $(find . -name '*.png' | fgrep -v .9.png); do
optipng -quiet -o 5 $pngfile
done
echo -ne "Done.\n"
echo -ne "Repacking\t$file_name.apk... "
zip -q -0 -r ../$file_name.apk *
cd ..
rm -rf $file_name
echo -ne "Done.\n"
echo -ne "Zipaligning\t$file_name.apk... "
zipalign -fv 4 $apk_file $apk_file.za
mv $apk_file.za $apk_file
echo -ne "Done.\n"
done
EDIT: I added the -0 flag to the zip command, since you should never "compress" apk files, because this leads to the FCs I was experiencing.
Post also reserved.
Last reserved post. You can start flaming now.
shantzu said:
Last reserved post. You can start flaming now.
Click to expand...
Click to collapse
Posted in the wrong place... try reading the faq's about where this belongs.
davidf said:
Posted in the wrong place... try reading the faq's about where this belongs.
Click to expand...
Click to collapse
Well, the rules of the development section state: "Rom Development - only meant for very advanced technical discussion directly related to ROM development activity and the delivery of actual ROMs and ROM components ONLY."
I'd regard this as an "advanced tehnical discussion", since it also contains information on how to deodex and (to come soon) optimize/zipalign your apps, that's why I thought it would belong here. I would also like this to be a place for advanced discussions on best practices on deodexing, theme-ing, and otherwise modifing a stock ROM manually. If the moderators still think that this doesn't belong here, I'm sorry, and would like to ask them to move it to the proper Forum.
Sticky Material.
Don't you think your Title is misnamed? The thread contains much more than just a guide getting most out of our SGS.
Very good effort anyway.
ragin said:
Sticky Material.
Don't you think your Title is misnamed? The thread contains much more than just a guide getting most out of our SGS.
Very good effort anyway.
Click to expand...
Click to collapse
Well, I didn't know what else to name it, and didn't want to use a really long name. I think this title best describes what it's about...
Thank you for your reply!
very good post. It'll be extremely helpful for new users i reckon.
question
can this method be used on almost any samsung galaxy? (i have galaxy 551)
and about deodexing...is xUltimate a general app for any Android phone or only for SGS ?
Awesome stuff thanks for this cleared up a few things
waveboy2u said:
can this method be used on almost any samsung galaxy? (i have galaxy 551)
and about deodexing...is xUltimate a general app for any Android phone or only for SGS ?
Click to expand...
Click to collapse
Well, the program seems to be posted in the "Motorolla Droid" forum, so I don't think it was even intended for the Galaxy S. If I were to guess, I'd say it might work on any Android device. Just be sure to make a backup in case anything goes wrong.
Thanks alot! Never knew the degrades display.
Sent from my GT-I9000 using XDA App
Shantzu, first, thank you very much for this valuable contribution!
While I agree that it is related to "highly technical discussion", it's not directly connected to ROM cooking/development. In fact, this is the kind of thing that people should read before they start mucking about in the dev section
I've gone ahead and moved it to the general section and made it a sticky topic for now. However, those are starting to pile up in this section, so we'll likely roll up several useful threads like this one into one unified reference sticky here soon.
sirphunkee said:
Shantzu, first, thank you very much for this valuable contribution!
While I agree that it is related to "highly technical discussion", it's not directly connected to ROM cooking/development. In fact, this is the kind of thing that people should read before they start mucking about in the dev section
I've gone ahead and moved it to the general section and made it a sticky topic for now. However, those are starting to pile up in this section, so we'll likely roll up several useful threads like this one into one unified reference sticky here soon.
Click to expand...
Click to collapse
I was thinking about this guide as some kind of "cook your own ROM directly on the device", that's why I was also including tips on how to deodex the apps and I'd also like to include tips on how to set up themes (not install third party themes, but rather explain where each icon can be found and how it can be modified) and other mods. Anyway, if you think it better fits in the General section, I'm fine with that, as you can see I'm pretty new in these forums and not that experienced (for example I have also seen a guide on how to manually unlock the phone that was stickied on the Developers section).
Anyway, sorry again for the trouble and thanks for clearing it up!
Very good post. Thank you!!
Very good work. One thing i noticed though: you use ext fs for the system rw remount. This i think will only work for ext converted system partitions not the original rfs system.
Sent from my GT-I9000 using Tapatalk
liraindon said:
Very good work. One thing i noticed though: you use ext fs for the system rw remount. This i think will only work for ext converted system partitions not the original rfs system.
Sent from my GT-I9000 using Tapatalk
Click to expand...
Click to collapse
I know, it normally shouldn't work, but it actually does. I don't have any lagfix applied and it works just fine. I will try and see though if I can come up with a more general command that 100% works in all cases.
EDIT: ok, not specifying any filesystem at all works too. I will have to see if this also works with a lagfix enabled, but I guess there shouldn't be any problems.
Thanks for your comment!
whoa didnt know about degradation... thanks!
nice
very good write up.. +1
Hi it's my first post on here and I recently rooted my Samsung galaxy s5 via towel root and I've been trying to change my bootanimation
It wouldn't work on theme changer in rom toolbox pro. So I tried doing it myself I still have all stock files but it seems that I erased my whole boot animation. When I reboot my phone it just takes me straight to my home screen. Any help would be appreciated thanks!
Simply restore your backup.
If you don't make backups that is a bad habit that you ought to change immediately. In the alternative, then manually revert the files that you changed and your bootanimation will work again. If it doesn't seem to, then wipe your system cache from recovery mode.
If the problem persists, I would suggest that you didn't really revert all of the files that you changed. Check the file permissions and investigate what else your app may have changed on your behalf. In the worst case you can start over by writing a full stock firmware image to your phone. A lot more painful than restoring a backup that would reflect how your phone was four hours ago. But a certain lack of planning will limit choices that way.
As to the boot animation per se, Samsung requires a .qmg animation file, while most apps use a bootanimation.zip formatted file. Ergo you usually need to convert your .zip file to a qmg. Or modify your kernel to use the .zip format. There are lots of existing threads that explain in detail how to do either which you would know if you had done a search before posting. I would suggest that it is always in your own interest to do at least a quick search first, if only so that you can pose more informed questions.
.
fffft said:
Simply restore your backup.
If you don't make backups that is a bad habit that you ought to change immediately. In the alternative, then manually revert the files that you changed and your bootanimation will work again. If it doesn't seem to, then wipe your system cache from recovery mode.
If the problem persists, I would suggest that you didn't really revert all of the files that you changed. Check the file permissions and investigate what else your app may have changed on your behalf. In the worst case you can start over by writing a full stock firmware image to your phone. A lot more painful than restoring a backup that would reflect how your phone was four hours ago. But a certain lack of planning will limit choices that way.
As to the boot animation per se, Samsung requires a .qmg animation file, while most apps use a bootanimation.zip formatted file. Ergo you usually need to convert your .zip file to a qmg. Or modify your kernel to use the .zip format. There are lots of existing threads that explain in detail how to do either which you would know if you had done a search before posting. I would suggest that it is always in your own interest to do at least a quick search first, if only so that you can pose more informed questions.
.
Click to expand...
Click to collapse
yeah its okay I just reverted everything and it works fine. I still want to but I don't wanna mess it up again. But yes I just reverted the files back and I'm okay. But I wanted a custom boot animation but there's really no clear tutorial on how to.
lgillen14 said:
But I wanted a custom boot animation but there's really no clear tutorial on how to.
Click to expand...
Click to collapse
Not true. You need to search better as I have seen several of them. And if memory serves, written at least one myself.
.
fffft said:
Not true. You need to search better as I have seen several of them. And if memory serves, written at least one myself.
.
Click to expand...
Click to collapse
do I need a different rom? I don't even know how do do any of that lime I've rooted all my phones but not gone seriously in depth about it. I don't know what I did wrong the first time and when I tried following directions and it almost messed me up. So could you guide me toward the appropriate thread I need to get to? Thanks
lgillen14 said:
do I need a different rom?
Click to expand...
Click to collapse
No, you simply need to do a search and read the existing boot animation guides. A lot of people claim to search when they really didn't. Or did one simplistic search and gave up, thinking it's easier if someone spoon feeds them. If you try a few different keywords you'll find the guides and everything you need.
You don't need a different ROM. Root is sufficient to change the boot animation file. If you want to make a qmg animation from scratch you can use Samsung's theme designer software.
.
Hello!
Normally when I come on the XDA forums, I am asking a question, because I end up making a silly mistake in Android. I never like to put out promotional content for attention, and that is surely what I am not doing here, I am simply putting my work out there to see if the community would like it and if we do like, we can begin setting it up for other devices immediately. Now, I am not a skilled programmer at all, but I know SOME Visual Basic with Windows Forum Applications, so I thought "why not give it a shot." I just wanted to say that.
So I made this simple little application called Lineage OS Installer. Now, reading through some of the comments on the Lineage OS Reddit page, some people were asking if there would be an installer for Lineage OS, and there was a good amount of people who did not want one, which makes sense; people should know what they are getting into, and understanding ADB and Fastboot is indeed important. However, sometimes, there is a person who is not involved with ROMS, who is fine with OEM Android, who does not want to use root and what not, however, they want the latest version of android possible for their device, and that was a main point of CyanogenMod; users could get the latest version of android on their phone and tablet when their manufacturer/carrier stopped supporting it. However, the installation can be intimidating, and for the user that I just described earlier, the user who does not want root and what not, that could mean they won't bother attempting to install a custom ROM. However, this application automates the process; all the user needs to do is click some buttons, and press Enter a few times to install LineageOS.
I understand I don't need "permission" to distribute this program, however, I am just asking if the overall community would support the use of this program.
NOTICE: The applicaton may fail to start properly. I am investigating this issue. In the meantime, ensure you have the latest .NET Framerwork([url]https://www.microsoft.com/en-us/download/details.aspx?id=55170&desc=dotnet47[/URL]). If that doesn't work, try building from the source ([url]https://github.com/PJBeans/LineageOS-Installer/wiki/How-to-build-from-the-source[/URL])
This is a simple graphical and command-line based installer designed to make it easier to install LineageOS; this program is aimed at beginners. It is not the prettiest program ever, but it still works with my Nexus 7 2013 WiFi just fine
Possible support for flashing root may become available in the future.
If you notice a bug (an issue with the application), please submit it here: https://github.com/PJBeans/Lineage-OS-Installer/issues
Features:
[ADB and Fastboot is required, but NOT included.]
- Instructions for enabling Developer Options, USB Debugging, and OEM Unlocking (if required)
- Embedded browsers to download TWRP, GApps, and LineageOS
- Automatically creates a backup with TWRP.
- Flashes TWRP, LineageOS, and GApps with minimal user interaction; no TWRP interaction required! (The most they really do is confirm they want to unlock the bootloader)
If you have a secondary device that supports LineageOS, perhaps you could try out this program and report your results [in a reply to this thread]! In order to make this as stable as possible, it would require lots of testing, and I do not plan on buying each and every Android phone anytime soon. If you want to test this program, use the prebuilt version, as the Source version may contain undocumented bugs blocking one from their goal. Note that:
- It may screw up your device. No automatic restore process is implemented yet, so make sure to have some sort of recovery tool handy.
- When you report back, please include the version of the program you used (as identified in the Downloads section), along with your device.
- CURRENTLY ONLY FOR NEXUS (AND PROBABLY ONEPLUS) DEVICES! HTC, LG, AND OTHERS THAT REQUIRE A BOOTLOADER UNLOCK SITE OR DEVICES WITH A DIFFERENT INSTALLATION PROCESS ( *cough cough* SAMSUNG) ARE NOT SUPPORTED!!
Screenshots:
Coming Soon
Downloads:
Prebuilt
Prebuilt [VB.NET]: (Version 2.0) https://github.com/PJBeans/LineageOS-Installer/releases (Tested on Nexus 7 2013 WiFi)
CURRENTLY FOR TESTING PURPOSES! - "-development" will be removed in the program once the program is known to be stable.
VB.NET is primarily developed by chompy33 (PJBeans), and C# is primarily developed by Evilarceus. Each branch's source can be found below.
Source
Source: (Version 2.0-development) https://github.com/PJBeans/Lineage-OS-Installer (I encourage absolutely anyone to contribute, even if you would like to make just a minor change!)
Updates:
Past:
UPDATE 1.4.0 and 1.4.1(VB.NET)
(I never published 1.3.0, so here's 1.4.0)
- Scripts have been updated; the user no longer needs to interact with TWRP.
- There is one button to install.
- The script automatically backs up data, cache, and dalvik prior to wiping for installation (no backup before unlocking the bootloader, however)
- (1.4.1) Fix issue with application failing to start (Thanks, @dinesh_redhawk for pointing out this bug that I somehow missed!)
- (1.4.1) Update Installer
UPDATE 1.2.0 (VB.NET)
- User must type "yes" before starting the process to ensure they know to read everything and follow all instructions given.
- Support for GApps
- More messages for user instructions.
- Scripts should be working correctly.
UPDATE 1.1 (VB.NET)
- More Material Design
- 3 step installation (Unlock Bootloader, Flash Recovery, install LineageOS)
- Added a beautiful background image (IMO) of New York City on First Form
Current:
UPDATE 2.0 (VB.NET)
- Check out the release notes on GitHub (Prebuilt Download link)
What is your viewpoint on this? Would you actually want an installer to exist for those who are inexperienced with flashing ROMS?
Sorry for such as long post, and I did not put this in DevDB because it is not directly an Android project.
chompy33 said:
Hi,
---
Normally when I come on the XDA forums, I am asking a question, because I end up making a silly mistake in Android. I never like to put out promotional content for attention, and that is surely what I am not doing here, I am simply putting my work out there to see if the community would like it and if we do like, we can begin setting it up for other devices immediately. Now, I am not a skilled programmer at all, but I know SOME Visual Basic with Windows Forum Applications, so I thought "why not give it a shot." I just wanted to say that.
So I made this simple little application called Lineage OS Installer. Now, reading through some of the comments on the Lineage OS Reddit page, some people were asking if there would be an installer for Lineage OS, and there was a good amount of people who did not want one, which makes sense; people should know what they are getting into, and understanding ADB and Fastboot is indeed important. However, sometimes, there is a person who is not involved with ROMS, who is fine with OEM Android, who does not want to use root and what not, however, they want the latest version of android possible for their device, and that was a main point of CyanogenMod; users could get the latest version of android on their phone and tablet when their manufacturer/carrier stopped supporting it. However, the installation can be intimidating, and for the user that I just described earlier, the user who does not want root and what not, that could mean they won't bother attempting to install a custom ROM. However, this application automates the process; all the user needs to do is click some buttons, and press Enter a few times to install Lineage OS.
I understand I don't need "permission" to distribute this program, however, I am just asking if the overall community would support the use of this program.
---
This is a simple graphical and command-line based installer to make it easier to install LineageOS; this program is aimed at beginners. It is not the prettiest program ever, but it still works with my Nexus 7 2013 WiFi just fine
I did not add support for flashing google apps (gapps) yet, just because I do not know if we will use the same open-gapps package that was used in CyanogenMod, or if we would switch to something different.
Features:
[ADB and Fastboot is required, but NOT included.]
- Instructions to enabling Developer Options, USB Debugging, and OEM Unlocking (if required)
- a file called setup.bat, that will set up the directory where all the required files live
- Embedded browsers to download TWRP and LineageOS*
- Included script that runs `adb devices` to ensure device is recognized
- Installation script that sets up the device to install Lineage OS, and pushes LineageOS to the device.
- Gives instructions for steps that must be completed on the device (Wiping, flashing, etc.)
The program's installation script is finished; it does its job to install a ROM to a device; it will unlock the bootloader, flash TWRP, and push the lineageos image. (I substituted LineageOS for CyanogenMod 13 while testing). *The only thing unfinished it the embedded browser to download LineageOS.
I would not recommend using it currently as it is still in early development
Downloads:
Prebuilt: https://drive.google.com/file/d/0B70zQND1cM1WQVFjYi0yZy1BVnc/view?usp=sharing
Source: https://github.com/PJBeans/Lineage-OS-Installer
I understand that the main focus with LineageOS right now is to set up the website, servers, and images, and I do not want to distract those users. But this is what I would like to ask anyone: Would you actually want an installer to exist for those who are inexperienced with flashing ROMS?
Sorry for such as long post, and I did not put this in DevDB because it is not directly an Android project.
Click to expand...
Click to collapse
Ill be honest. This is most dangerous for inexperienced users. If something goes wrong then they have no idea how to fix or find out how to fix it.
If used it would be best suited for someone that does rom testing where they flash multiple times a day, but as you are required to use a pc I really dont see much use for it.
just my thoughts.
zelendel said:
Ill be honest. This is most dangerous for inexperienced users. If something goes wrong then they have no idea how to fix or find out how to fix it.
If used it would be best suited for someone that does rom testing where they flash multiple times a day, but as you are required to use a pc I really dont see much use for it.
just my thoughts.
Click to expand...
Click to collapse
Thank you for your reply! I completely see what you mean; an inexperienced user could possibly freak out, perhaps disconnect the device while something was going on. Perhaps I/anyone else who contributes could add a support section clearly marked for troubleshooting, complete with a guide to reflash stock. If I/someone else did this, would that make it more friendly for beginners in your eyes?
chompy33 said:
Thank you for your reply! I completely see what you mean; an inexperienced user could possibly freak out, perhaps disconnect the device while something was going on. Perhaps I/anyone else who contributes could add a support section clearly marked for troubleshooting, complete with a guide to reflash stock. If I/someone else did this, would that make it more friendly for beginners in your eyes?
Click to expand...
Click to collapse
Yes that make it more friendly for beginners.
I'd be happy to help this project. I could maybe create a UI for this if all goes well.
Also, you should try learning C# if you already know Visual Basic. It's more widely supported and requires less typing. I can still contribute, since I do know both C# and Visual Basic
I wonder if it would be too much to ask to have this program automatically make a NANDROID backup before starting. Incase an inexperienced user disconnected the device or did something to disrupt the install, and caused a soft brick or similar, the NANDROID backup could be restored, and the user could re-attempt, with no harm done.
evilarceus said:
I'd be happy to help this project. I could maybe create a UI for this if all goes well.
Also, you should try learning C# if you already know Visual Basic. It's more widely supported and requires less typing. I can still contribute, since I do know both C# and Visual Basic
Click to expand...
Click to collapse
Thanks! The source is in the original post. The only thing that does not have a UI is the installation (although the current UI is pretty bad) I will try to learn C# as time goes on. If you would like to make part of the program in C#, feel free!
Doofitator said:
I know Visual Basic, and I'd be happy to help with the development of this application, too.
I also wonder if it would be too much to ask to have this program automatically make a NANDROID backup before starting. Incase an inexperienced user disconnected the device or did something to disrupt the install, the NANDROID backup could be restored, and the user could re-attempt, with no harm done.
Click to expand...
Click to collapse
Thanks for your reply! The source is above. Creating a NANDROID back is a great idea, perhaps we could create an automatic restore option too.
I am worried by the usage by inexperienced users. They are more prone to panic and destroy their phone, which could lead to a bad name for lineageOS on many forums where they will complain that lineageOS just killed their phone, while they did'nt understand the simplest part of the process.
BUT
This can be a tool very useful for experienced users who serially update phones of their many inexperienced friends.
I am doing just that (with around 50 differents phones to date) with my many friends of friends, and a tool like yours would simplify my job. For the moment, i keep a directory of directorys containing rooter scripts, recoverys, roms, gapps, utilities (adb, fastboot, odin, heindall,...) and have a multi-gigabyte library of those.
A utility who prepare a directory for a phone model, download rom, twrp/cwm, gapps, and do the phone rooting for every phone is a very desired thing, but it is a hell of a project to achieve.
So good luck with your project, and dont hesitate to ask me for help if you need, i would be proud to help you achieve your goal.
mlsoftlaberge said:
I am worried by the usage by inexperienced users. They are more prone to panic and destroy their phone, which could lead to a bad name for lineageOS on many forums where they will complain that lineageOS just killed their phone, while they did'nt understand the simplest part of the process.
BUT
This can be a tool very useful for experienced users who serially update phones of their many inexperienced friends.
I am doing just that (with around 50 differents phones to date) with my many friends of friends, and a tool like yours would simplify my job. For the moment, i keep a directory of directorys containing rooter scripts, recoverys, roms, gapps, utilities (adb, fastboot, odin, heindall,...) and have a multi-gigabyte library of those.
A utility who prepare a directory for a phone model, download rom, twrp/cwm, gapps, and do the phone rooting for every phone is a very desired thing, but it is a hell of a project to achieve.
So good luck with your project, and dont hesitate to ask me for help if you need, i would be proud to help you achieve your goal.
Click to expand...
Click to collapse
I see what you mean, and I/other contributors will (hopefully) try to make this process very user friendly, so they won't need to panic. I guess developers could use this if they needed to install the ROM on multiple devices, though currently the installation is kind of slow. I appreciate your response!
chompy33 said:
I see what you mean, and I/other contributors will (hopefully) try to make this process very user friendly, so they won't need to panic. I guess developers could use this if they needed to install the ROM on multiple devices, though currently the installation is kind of slow. I appreciate your response!
Click to expand...
Click to collapse
I would suggest that such a tool should be VERY wordy about telling the user what it is doing, and should NEVER suspend its apparent activity.
My experience (and it is commercial experience, with genuine products in the marketplace) is that the user will get nervous, and may do something unfortunate, if they fear that something has gone wrong...and they WILL fear this if there is no obvious activity for a long time...and "long time" might be only a few seconds.
So, to make this tool "safe", it should be continually reassuring the user that it is doing something. There should be a progress bar, that keeps moving. There should also be a text section that keeps updating what is going on. If the operation under way will take awhile, then this text session should (every few seconds) remind the user "I'm still working on this...estimated time to completion is XX seconds" (or some such).
This operation IS dangerous, particularly if the user does something wrong. So keep reassuring the user that everything is fine.
jiml8 said:
I would suggest that such a tool should be VERY wordy about telling the user what it is doing, and should NEVER suspend its apparent activity.
My experience (and it is commercial experience, with genuine products in the marketplace) is that the user will get nervous, and may do something unfortunate, if they fear that something has gone wrong...and they WILL fear this if there is no obvious activity for a long time...and "long time" might be only a few seconds.
So, to make this tool "safe", it should be continually reassuring the user that it is doing something. There should be a progress bar, that keeps moving. There should also be a text section that keeps updating what is going on. If the operation under way will take awhile, then this text session should (every few seconds) remind the user "I'm still working on this...estimated time to completion is XX seconds" (or some such).
This operation IS dangerous, particularly if the user does something wrong. So keep reassuring the user that everything is fine.
Click to expand...
Click to collapse
Good idea! Thanks for the suggestion, we will definitely incorporate this.
Two thumbs up for a LineageOS installer, plz develop it
Definitely having a LineageOS installer is a great idea!
Unquestionably, it will permit people who are not experienced with flashing custom roms(which accounts for a lot of people), nor do they have an interest in learning about that(e.g. my mom) to easily get the latest Android build on their Android phone (which may no longer be supported by the OEM; an e.g. AT&T LG G2).
44alexsmith said:
Definitely having a LineageOS installer is a great idea!
Unquestionably, it will permit people who are not experienced with flashing custom roms(which accounts for a lot of people), nor do they have an interest in learning about that(e.g. my mom) to easily get the latest Android build on their Android phone (which may no longer be supported by the OEM; an e.g. AT&T LG G2).
Click to expand...
Click to collapse
This is exactly what I am trying to achieve. Provided I/contributors make a stable build by the time a stable build of LineageOS comes out (or at least around there, it's an open source project so there is no official date), it could give LineageOS a reputation of being a very easy ROM to install. Thanks for the reply.
Creating an installer for users who don't event know what's going on from the inside is useless IMO.
If the installer fail to flash they get stuck with a bricked device and don't know what to do.
I added a .gitignore to reduce cloning size and keeping things clean: https://github.com/PJBeans/Lineage-OS-Installer/pull/1
If you want, add me as a collaborator on the GitHub project so I don't have to keep on making pull requests.
p4rot said:
Creating an installer for users who don't event know what's going on from the inside is useless IMO.
If the installer fail to flash they get stuck with a bricked device and don't know what to do.
Click to expand...
Click to collapse
Just FYI, I did say earlier that this installer should have an automatic NANDROID backup take place, so phones would be safe if something happened.
Doofitator said:
Just FYI, I did say earlier that this installer should have an automatic NANDROID backup take place, so phones would be safe if something happened.
Click to expand...
Click to collapse
We will attempt to add this (or at least guide the user) later on. Thanks for your response!
evilarceus said:
I added a .gitignore to reduce cloning size and keeping things clean: https://github.com/PJBeans/Lineage-OS-Installer/pull/1
If you want, add me as a collaborator on the GitHub project so I don't have to keep on making pull requests.
Click to expand...
Click to collapse
I set up a live chat on Telegram, the link is on the Repository's Readme. I appreciate your commitment to this project!
I sent an invite at https://github.com/PJBeans/Lineage-OS-Installer/invitations
chompy33 said:
We will attempt to add this (or at least guide the user) later on. Thanks for your response!
Click to expand...
Click to collapse
If possible, I think making this a mandatory step would be better - we don't want people skipping it and then complaining later.