Without the inclusion of proper documentation included with an Android Rom or an Android Build users will start filling up the HD2 Android Development Forum with why this wont work when it does on someone elses Rom. To stop this from happening there will be a requirement when creating a Thread for a Rom with Android included, or an Android Build.
------------------------------------------
------------------------------------------
If you are making a Rom with Android built in or an Android Build that is run from haret then please INCLUDE with your file a readme.txt file in the ROOT of your release archive with the following information:
*What BUILD version?
An internal version # that can be used to identify the authors exact release (e.g. my-rom-v0.5.zip) for easier reference for the users and fellow developers benefiting from the release.
*Which kernel image and kernel modules are used?
Where are zImage and modules.ko originally downloaded (in case the chef didn't compile on their own) and where is the kernel source code for the kernel and modules.
In case the chef did not compile on his own, he should still be able find out where the source code is.
(The license under which the Linux kernel is released requires the distribution of the source code that was used when distributing builds.)
*What rootfilesystems are used?
Where was it taken from, what does it include (android version it's based on etc) and in case of self compilation, where is the source code.
(In case of most windows mobile shipped devices that's often some rootfs file e.g. named android.ext2 and an initial ram filesystem often named initrd.cpio.gz).
*ChangeLog*
A ChangeLog is really an essential addition in every build as it informs the end user what modifications have been made from the last build. This will save you ALOT of questions as to what has been added, deleted or modified and therefore is a requirement for everyones benefit.
*WindowsMobile version your Android Build was tested on*
Please include your WinMo Build version, HTC OemDrivers (if known), XIP (if known) and Radio version so that users know what the Android Build was tested on and can replicate if neccessary for fault finding purposes.
------------------------------------------
------------------------------------------
If you are unable to obtain any of this information and thus can't make it available through an included readme.txt you should not distribute your rom and keep it for personal use only.
If you are using an exact copy of a present release (e.g. in case of a WinCE rom that has an android 'dual boot' option) you must include the readme.txt from the original rom chef.
If you release a Rom and do not have the required information then you will be asked to either create and include a readme.txt file with your Rom or ask for the thread to be deleted.
If you have any comments or questions on this please feel free to post.
Mark.
** reserved **
Thanks a lot for the quick action, Mark. I am glad to see a first positive response.
If this will establish I hope that
*users are informed about what they get
=>less unneeded questions and thus more room for constructive feedback
*developers have an easier time to benefit from present releases
*new developers must try to get an understanding of what they are doing
=>more quality releases
The original post can be found here.
I think it would be nice to hammer out the readme.txt requirements together with chefs so we can get some convention that satisfies everybody.
edit: Think it will really be good to always put readme.txt in root of release archive so everybody knows where to look for it.
dcordes said:
edit: Think it will really be good to always put readme.txt in root of release archive so everybody knows where to look for it.
Click to expand...
Click to collapse
Edited the 1st post to include this
Mark.
Will be following this convention for any future releases
DarkStone1337 said:
Will be following this convention for any future releases
Click to expand...
Click to collapse
Thank you
Future releases soon I hope lol
Mark.
May I suggest that the readme include the date of ROM compilation, as well as the date the kernel and root file systems files. I think this will help users and chefs to easily build there own compilations and keep track of it's validity.
And a title format like: [date]-[name]-[version]-{[kernel]-[kerneldate]}-{[modules]-[modules-date]}-[rootfs] (just like rules for 'regular' roms). Both for the post and the archive preferably?
Personally I switch between versions a lot, to find differences/improvements/bugs.
Clear archive-naming should simplyfy this .
Excellent rules! We need to improve stability of ports and eliminate all unnecessary questions !
P.S. Hope there won't be any "bogus", or "copy-paste-claim" ROM-s.
dcordes an mskip +1
ahbad said:
May I suggest that the readme include the date of ROM compilation, as well as the date the kernel and root file systems files. I think this will help users and chefs to easily build there own compilations and keep track of it's validity.
Click to expand...
Click to collapse
Very good idea. I think we should at least add the rom release date to minimum required readme.txt information.
For the rootfs release date I think we should leave it up to the chefs because I think it will be hard to find out in many cases. Reason is rootfilesystems get passed on 20 times...
In case of the kernel release date it might be a good idea to add it. should be easy to find out. When you grab the kernel e.g. from the two sources I link to in the thread
http://oe.netripper.com/files/htcleo_autobuild/
http://cotulla.pp.ru/leo/Android/
you can just copy paste the date from filename or information on the site. This would be very useful assuming the kernel images will be removed at some point.
On a side note: For both kernel examples the source code repository to add in readme.txt is
git://git.linuxtogo.org/home/groups/mobile-linux/kernel.git htc-msm-2.6.32
gitweb: http://git.linuxtogo.org/?p=groups/mobile-linux/kernel.git;a=shortlog;h=refs/heads/htc-msm-2.6.32
So currently in every leo rom readme.txt this must be linked to as kernel source reference. netripper autobuild zImages using this exact source code and cotulla zImages share same codebase (although currently the latest changes are unavailable but will be added in git soon)
shufflez said:
And a title format like: [date]-[name]-[version]-{[kernel]-[kerneldate]}-{[modules]-[modules-date]}-[rootfs] (just like rules for 'regular' roms). Both for the post and the archive preferably?
Personally I switch between versions a lot, to find differences/improvements/bugs.
Clear archive-naming should simplyfy this .
Click to expand...
Click to collapse
To me that seems over exaggerated. Rom version in file name should be enough. Rest can be looked up in readme.txt
So what does everybody think? If we add the release date of kernel and completed rom, do we have an agreement ? In that case we should compile an example and add it in the first post.
best regards
your right dcordes too much information in the title can be a bad thing. Something more like
[Date] [Name] [Version] [Build] [maybe Kernel version]
That should be Enough i think so for Example
[21/07] [Darkstone1337] [v5] [Eclair w/sense] [2.6.32]
Everything else should stay a change log for people to read
David Balfour said:
your right dcordes too much information in the title can be a bad thing. Something more like
[Date] [Name] [Version] [Build] [maybe Kernel version]
That should be Enough i think so for Example
[21/07] [Darkstone1337] [v5] [Eclair w/sense] [2.6.32]
Everything else should stay a change log for people to read
Click to expand...
Click to collapse
I am sticking with my opinion:
*in filename require internal chef rom version
*in readme.txt add:
-rom release date
-kernel release date
Mark what do you think? Any other opinions?
Install to folder
May be a good idea install all files to appropriate folder, not directly root of SDcard as in last darkstone FROYO. Greatly simplify process of testing and changes between several images and don't messy root. Switching between different versions is than as easy as renaming directory.
I think we should also leave directory structure etc to the chef as long as readme.txt with all the required information exists in archive root so users can find it easily.
so do we have some agreement here? Mark ? If so you should update the first post to compile final set of information needed and clarify that it is not a nice extra but a requirement.
dcordes said:
I am sticking with my opinion:
*in filename require internal chef rom version
*in readme.txt add:
-rom release date
-kernel release date
Mark what do you think? Any other opinions?
Click to expand...
Click to collapse
I agree with you on this theres no need to make things more complicated than they need to be. Although there does need to be some sort of standard for the thread title.
And no I cant think of anything else right now that needs to go in.
dcordes said:
I think we should also leave directory structure etc to the chef as long as readme.txt with all the required information exists in archive root so users can find it easily.
so do we have some agreement here? Mark ? If so you should update the first post to compile final set of information needed and clarify that it is not a nice extra but a requirement.
Click to expand...
Click to collapse
Also agree that its upto the chef how they want their files set up as long as its clearly stated in the readme.txt what to do to get it working.
Everything sounds fine What needs adding to the first post to make it complete?
Sorry I have been working on my Loader but its all finished now (I hope).
Mark.
HD2 Android Image & Instructions
Hi All,
Can somebody confirm if there is a working Android image for the HD2 yet? From reading previous threads, it would seem there is still some technical challenges, no image is available yet.
If I am wrong, please could somebody tell me the location of an image and instructions so I can install Android on my HD2? I am struggling with WM6.5 and I much prefer Android. I have used WM for 9-years now but it just doesn't compare - partially because there are limited decent apps available.
All the best,
Youdaler
youdaler said:
Hi All,
Can somebody confirm if there is a working Android image for the HD2 yet? From reading previous threads, it would seem there is still some technical challenges, no image is available yet.
If I am wrong, please could somebody tell me the location of an image and instructions so I can install Android on my HD2? I am struggling with WM6.5 and I much prefer Android. I have used WM for 9-years now but it just doesn't compare - partially because there are limited decent apps available.
All the best,
Youdaler
Click to expand...
Click to collapse
I will just give you a friendly warning this time as it is your first post. This thread is for the discussion of information to be included by Android builders.
If you look in the Android forum then you will see working builds by DarkStone and by Dan1j3l. Look at their threads for how to load Android. to answer your question yes Android does work (95%) on the HD2.
Please confirm you have read this so I can delete these posts and keep the thread clean. In futured please only post in the correct thread and if you arent sure then post in the Q&A thread at the top of the Android forum.
Mark.
Understand. Thanks for clarifying.
I think we should extend the readme.txt items with some section like 'expected issues' or 'known problems' .
And in the readme.txt , could help too:
Tested with:
-WinMo rom x.xx.xx
-Radio rom 2.xx.xx
Sent from my HTC Desire using XDA App
Hello Everyone I Am New In This World And I Have Some Questions About Developing
-Which Programming language Should I Learn To Create Apps.?
-How To Create ROM?
-What About Porting Something From A Device To Another One?
-Is The SDK Of The Mobile Is Enough To Port Something From It?
-Should I Own An Old Phone For Testing?
P.S. I Have GS3
You develop for Android primary in the Java language. You may write native (i.e. compiled) code as well, but Java is recommended in most cases.
Creating custom roms is much like creating a Frankenstein Monster. Decompose your original rom, pick the pieces you like, replace the other with stuff you dig up from other places, or create yourself. Then re-pack everything in your new custom image, flashing you phone. The details about what to use to split images, flash devices etc you have to search this forum for - it'll differ from device to device.
When developing for Android you chose a minimal API level, e.g. Android 1.5. This way your app will run on all devices with at least Android version 1.5, no porting needed. Java is "write once, run many" so to say.
You can test your new apps either on you phone or in the emulator (Android Virtual Device) supplied with the SDK. If you intend to develop lots of code, a dedicated phone may be quite useful for testing, yes, but absolutely not necessary. You'll not crash your phone just because your application crashes, all apps are running in separate processes protected from each others.
You find the official tutorial at developer.android.com/training/basics/firstapp/index.html
Thanks For Your Help. Your Words Are Very Useful
THE.W!ZARD said:
Hello Everyone I Am New In This World And I Have Some Questions About Developing
-Which Programming language Should I Learn To Create Apps.?
-How To Create ROM?
-What About Porting Something From A Device To Another One?
-Is The SDK Of The Mobile Is Enough To Port Something From It?
-Should I Own An Old Phone For Testing?
P.S. I Have GS3
Click to expand...
Click to collapse
you need java to learn programming................
for basic rom making a bit of general knowledge is enought not much of programming is required........
for basic porting you can use cygwin for complex ports u need t change the framwork files which you will learn as the time passes..
sdk is required for building app and adb fastboot not for porting and other kind of stuff(related to api's)............
what do you mean by old phone.. you build mods for your phone so test it on the phone you built the mod for not old phone or something like that.........
The first thing you need to do is learn Java.
http://forum.xda-developers.com/forumdisplay.php?f=613
Hi
I'm Italian and my english is so bad , sorry..
I would ask you what the language is recommended to develop android's app :
Java , C or C++ ? Anothrer doubt but C is used for android app ? mmm ..
There isn't a android native language , right ?
Coult I ask you to suggest me a web site's link where can I see how does android work ?
Sorry for my english , I'm studing english but there are too many word to say same thing
Thanks
dude its ok your english is fine and hear the language important is programming language how much good you are at will lead you to be a good developer and for learning android and how it works and all go to developers.android.com/training you will get whatever you want and browse on google and go to 4shared and find books on Android you get a huge and youtube.com/thenewboston 200 tutorial videos with great explaination and please first make sure you are very good at your oop concepts in java keepitup
devalex from Bolt A67
aeroxr1 said:
Hi
I'm Italian and my english is so bad , sorry..
I would ask you what the language is recommended to develop android's app :
Java , C or C++ ? Anothrer doubt but C is used for android app ? mmm ..
There isn't a android native language , right ?
Coult I ask you to suggest me a web site's link where can I see how does android work ?
Sorry for my english , I'm studing english but there are too many word to say same thing
Thanks
Click to expand...
Click to collapse
Java is the main language to develop Android's app. C or C++ can be used through the NDK to write parts of the app (but only some part, not the whole app) which are heavily CPU-demanding. Java's what you need to learn.
I suggest you start from developer.android[dot]com/training/basics/firstapp/index.html
dev.hinge086 said:
dude its ok your english is fine and hear the language important is programming language how much good you are at will lead you to be a good developer and for learning android and how it works and all go to developers.android.com/training you will get whatever you want and browse on google and go to 4shared and find books on Android you get a huge and youtube.com/thenewboston 200 tutorial videos with great explaination and please first make sure you are very good at your oop concepts in java keepitup
devalex from Bolt A67
Click to expand...
Click to collapse
Thanks a lot
Do you suggest me one particular book or is indifferent ? Aniway I Will begin to study from the link that you give me
Andreaaaaa said:
Java is the main language to develop Android's app. C or C++ can be used through the NDK to write parts of the app (but only some part, not the whole app) which are heavily CPU-demanding. Java's what you need to learn.
I suggest you start from developer.android[dot]com/training/basics/firstapp/index.html
Click to expand...
Click to collapse
The program in android works on the java virtual machine ? Ok
I would ask you One last thing
I have galaxy nexus , and on xda we can find lot of kernel ad rom , but I have one doubt :/
For the kernel the language used is C ?
And for the rom ? Java and C ?
Where can i find the kernel's source and factory image's source ?
O.t : Wich operating system do you use ? Now on my new laptop run window 8 and I ask to my self if is good choice .. For programming kernel,rom and app linux is the best ? or the operating system does not matter ? mmm..
If you want to learn to make a few apps, here is how I would start again:
Learn the Activity lifecycle and they methods ( the srceen ui )
Learn to make layout.xml without the ui editor. - it takes a few weeks.
Learn to use the AsyncTask to be able to make HTTP POST, GET and others stuff.
Only after this learn the Service, for background operations.
Broadcast receivers to listen system events: like boot completer internet connection lost, gps is on and so on.
With those sets you can earn a living at a company, which usually make applications client - Server side. Not really need to know more.
There are optimisations, but not at learning: some part of your code need to handle a lot of calculations, drawing, physics, AI, encryption, decryption: move that code part to NDK and start having problems with NDK development.
If you are a web developer and want to make some web based apps, than there is the webview and its the easiest case, at least virtually. For beginning / learning it is.
Game developers aren't covering they cost at least 80% of they so think about twice if you want to set up a full development cycle with NDK + OpenGL + animation, wasting like 5000 man hours. Depends on complexity of course, but those with 10 million downloads aren't made within 200 hours, for sure.
aeroxr1 said:
Thanks a lot
Do you suggest me one particular book or is indifferent ? Aniway I Will begin to study from the link that you give me
The program in android works on the java virtual machine ? Ok
I would ask you One last thing
I have galaxy nexus , and on xda we can find lot of kernel ad rom , but I have one doubt :/
For the kernel the language used is C ?
And for the rom ? Java and C ?
Where can i find the kernel's source and factory image's source ?
O.t : Wich operating system do you use ? Now on my new laptop run window 8 and I ask to my self if is good choice .. For programming kernel,rom and app linux is the best ? or the operating system does not matter ? mmm..
Click to expand...
Click to collapse
The Kernel is Linux, so it's written in C. I don't know about the ROM, I guess it's only Java, but there could be C parts, it's just guess-work.
Here you can find how and where to download and, if you want to, to build your android kernel, while here you can find AOSP (which stands for Android Open Source Project) code.
I personally use Linux (more precisely, elementaryOS, which shares its core with Ubuntu) and haven't used Windows for a long while. I don't know how good/comfortable Android development is under Windows.
It must be noted that getting Java running under Linux is not a one-click thing, but nothing that couldn't be solved by a simple tutorial on the Internet. On the other hand, Linux is way more light-weighted than Windows, which comes handy when you're running on little RAM as I do.
"I would ask you what the language is recommended to develop android's app : "
I would ask you what the language is recommended to develop android's app :
Click to expand...
Click to collapse
He is asking to develop Android application, not Android Rom, not Android kernel.
Please open your eyes!
matheszabi said:
He is asking to develop Android application, not Android Rom, not Android kernel.
Please open your eyes!
Click to expand...
Click to collapse
In my last post I Also asked for the kernel and rom's code and Language
Andreaaaaa said:
I personally use Linux (more precisely, elementaryOS, which shares its core with Ubuntu) and haven't used Windows for a long while. I don't know how good/comfortable Android development is under Windows.
Click to expand...
Click to collapse
I have a doubt of window or linux because on the link that you have posted there are a "tutorial" for source download on Linux but not on Window .. So I try to find another window's tutorial through google search but no result.
P.s : few weeks ago I'm using linux , but on the new laptop there is window 8 and I have to do a backup before install a dual boot for a future restore in case of warranty assistance -.-"
Thanks a lot All You are the best!
I use Windows for Android development. I don't think it makes much of a difference. I use Eclipse as the IDE, which is written in Java, and is pretty much the same for Windows and Linux.
Thought I'd chime in, though the thread has been quiet for two weeks.
Learning Android application development is going to point you first to Java and only Java.
Despite other posts, and Android documentation INSISTING otherwise, developers (myself in particular) DO write applications for Android entirely in C++, using the NDK. It's an advanced technique.
If you were already a C++ developer you would want to avoid Java, and you'd pursue the NDK and C++. However, if you're not a C++ programmer already, Java is a much easier introduction. C++ is a wonderful language, but it's full of complications. It's my personal favorite, and I have decades of experience using it an C, but it is not for beginners. Used correctly, the results can be many times faster than Java applications (despite Android documentation claiming otherwise).
Also, there are a wide range of targets for which C++ is entirely NOT suitable. Simple applications are typical of that.
One reason seasoned developers prefer C++ is portability. Despite a reputation to the contrary, C++ is the only language you can use to write applications for iOS, Android, Tizen, Blackberry and the non-mobile platforms like Linux, Windows and Mac - from a common base of code.
Since I've not been a beginner for decades, I can't really suggestion any great text, but I can say that Java is your language for Android as a beginner.
Kei here
hmm, can't be believe I'm posting my first reply on something like this, I didn't really want to reply but I know your peril.
I'm a mechatronics student and we're more on g-codes and robotics programming but software programming became my hobby, the first book (not the first book but the first book that I related too) I read was "An Introduction into C++" by Diane Zak (there might be a mistake, just google it, I read the book some couple of years ago).
To directly answer your question,
"Libraries written in C and other languages can be compiled to ARM, MIPS or x86 native code and installed using the Android Native Development Kit." (Wikipedia) but you can also use Java or C++, I personally prefer C++.
I'm going to make an example of a c++
------------------------------------------------------
#include iostream
(etc etc)
using namespace std;
.h estuffus
etc etc
\\ Variable section start
int game = 1;
float letterHead = 2
char appleButter = 'A';
\\ Variable section end
then recall the main function bla bla
{
if (letterHead == appleButter)
{appleButter = 'B';
cout << appleButter << endl; \\common misconception within beginners is that they think that cout would display text, it only works on a \\console window
}
else
{
appleButter = 'A';
cout << appleButter << endl;
}
then stop the application
------------------------------------------------------------
It's pretty straightforward once you grasp the basics, If you are making a game... well I kinda regularly dabble with Unity, I'm not advertising, but it's another straightforward engine, you could finish builds and it would then be processed into an apk file.
Don't hesitate to ask me, I could make you a tutorial on scripting, my current goal is to help people understand this area.
HAPPY SCRIPTING :> oh and for the last, I recommend C++ )
It Actually Depends On What You Are Interested in developing.
Let me Explain you one by one:
C
C is the mother of all programming languages.Unix Operating System is built on C.So Stable It is.
So If You are interested in Kernel or System Level Development , U must surely drink the depths of Ocean Of C Language.
C++
Provides advanced Libraries and can be now a days be used for anything right from System Level Programming to Complex Sockets.
Right From Native Android to Network Designing.
Java:
Has Millions Of Classes and is used for anything and everything.You Choose a Topic And The Java Language has an Inbuilt class for your Designed function.
Its a trend nowadays to do android coding in java ..
If you want you can change the trend by using C++ for android using NDK(Native Development Tools).
I would just like to say choose the right language for you and just gain the expertise to the right depths for your designed application. .
you should use Java by default, its a lot easier and Android sdk framework is for Java.
Furthermore java already calls a lot of c native components through jni.
You will only need c/c++ if you need specific native components that are not available by default in Android framework
Main development language for android is Java. For time consuming operation you can consider to use C++ via NDK.
Go with Java.
Learn C/C++ only when you know under the hood. But this is like 'chicken or the egg paradox' because probably you'll never know under the hood without learning C/C++
Java is the language used for Android programming.
I am not sure whether you want to learn Android programming or just look at some applications made in Android. So here are2 sources I found best suitable for you to learn step by step Android programming.
Courses from developer.android.com and udemy.com are worth implementable once.
Regards,
Derrick Spencer
Mobile App Strategist
AppsFlair.com
Hi.
If you only want to develop apps, the system does not matter. However, if you wish to do some kernel development stuff, you must use Linux since Android kernel is a modified Linux.
Sent from my iPhone using Tapatalk
.
Main language is java for android app.But if you want a complex calculator and secure your code,you need C++ and NDK
In my experience I faced a situation when I could not use Java because guys from Google(or somewhere else) simply forgot to include a proper wrapper for a C function =D
I prefer doing everything in Java(because it's super comfortable), but when it comes to calculation speed I switch to C++(up to 10x boost sometimes). For image processing I use OpenGL - it's lightning fast(except some rare operations)
Gi guys,
Thus is my first post.
---------- Post added at 12:38 PM ---------- Previous post was at 12:34 PM ----------
I've built web based database application for my personal purpose.
If I want it can be accessed via android app which language is more stable and comfortable to be used?
Your suggestion would be appreciated. Thank you.
I just built AOSP from source for my MTK6589 phone. This is my first time building android from scratch, luckily the rom is working great. The only problem I'm having is that there are some languages missing from it (probably changed by the original author of the source code).
How do I go about re-adding these languages?
Is there a config file I can edit before building the rom?
Any help would be greatly appreciated.
If your device makefile inherits the full product you should theoretically have all available locales.
To add custom ones you could use the CUSTOM_LOCALES variable in your buildspec.mk file. Look into build/buildspec.mk.default for further details on this file.
Or you add the locales to your device's config, but I can't recall the exact variable name atm.. May you want to look into other device trees for this method. It should be something like PRODUCT_LOCALES I think.
Sent from my AOSPA One m8 using XDA Free mobile app
Thanks! I managed to fix it by editing MTK_PRODUCT_LOCALES in ProjectConfig.mk
oddhap said:
Thanks! I managed to fix it by editing MTK_PRODUCT_LOCALES in ProjectConfig.mk
Click to expand...
Click to collapse
Great to hear