Helpful Links - Firmware Development / Tweaking / Hacking
As you can see, Geodex just created the "Firmware / Development" sub-forum for us. I'm going to compile some useful links for new amateur developers. I am not a developer and have just starting learning about these things. At the very least these links should give people like me a starting point to check out what's inside the files that make up our firmware.
Elf II Source Code:- Since Ainol hasn't released the Crystal Source Code yet and the Crystal is basically an Elf II with a different screen and different WiFi chip, these should be useful starting points.
Ainol Official Release
fards github
My Development Tools Folder on MediaFire
At the moment I am just working with the stock firmware. You can download the stock firmware and then extract the .zip file to get started. I've been told the real development work is done in the kernel though. I'd like to get into the kernel and touchscreen drivers after I've created a stable custom ROM.
RESOURCES AND SCRIPTS
DragonDev's Learning Center - Not a lot here but this is where I write up things that I've learned along the way and post it for other people to learn as well.
XDA-University - Lots of great starter information from the people behind XDA-Developers.
XDA Developers Forum - One of the best places to do your research.
Android Terms, Slang and Definitions - Super handy for understanding terms you may not have run into before.
Update.zip - Ainol Zip Signer - Thanks to Soulflier we can easily sign our update.zip files. You'll need this to be able to make a flashable .zip file.
Unpack and Repack Boot.img - Thanks to Christian Troy for these scripts. You need them to be able unpack and repack the boot.img. They will also unpack and repack the uImage which, as far as I know, is the same thing.
Here are some alternative scripts.
Add Root to your ROM - Thanks to Soulflier on this one. I packaged this as the files you need and the folders you need to move those files into. Then open the add-to-updater-script file and add the lines in there to your updater-script.
Add Init.d Support - These are the files and folders you need to add init.d support to your ROM.
Kernel Governors, Modules, I/O Schedulers, CPU Tweaks, AIO App Configs - Giant reference guide.
Alternate ways to Sign packages and ROM's -
SignAPK or
AutoSign. You would need to re-work them though with the signing keys from the Ainol Signer.
Decompile/Recompile Android applications - This may or may not end up being useful for customized Flash/YouTube/Netflix.
Creating your own UPDATE.zip - For adding or deleting apps from an UPDATE.zip.
SOFTWARE
Android Developer Tools (ADT) Bundle - This is the official Android SDK developers package.
Cygwin - Limited Linux capabilities and terminal in Windows.
dsixda's Android Kitchen, v0.218 - ROM Kitchen that runs in Cygwin. A collection of scripts to help you build/extract, deodex, root, zip-align, sign APK and ZIP files, etc. The boot.img extraction does not work and neither does the update.zip signing. I haven't figured out how to build the working scripts for those options into the Kitchen, so I use the stand alone versions listed in the scripts section. You'll also have to manually fix issues when converting between update-script (Amend) and updater-script (Edify), so you'll have to know how to read that and what to be looking for. What this kitchen
will do is deodex your apps/framework and zipalign.
ONDA Kitchen - ROM Kitchen that works in Cygwin. Mostly works fine with the Crystal but it's not as stable as dsixda's kitchen. It seems to work better with the Crystal because it uses the same CPU as the ONDA (I think), but I get a lot of freezes/crashes using it.
VirtualBox - Run a complete Linux operating system inside of Windows.
Ubuntu - This is one of the Linux operating systems I've used over the years. I've found it to be one of the easier ones to get used to if you've never used Linux before.
Linux Mint - Another Linux OS that looks pretty nice and seemed easy to get adjusted to but I ended up going back to Ubuntu.