Related
Where should i start first to learn how to code for android, make roms and compile the android tree?
or just a good place to start?
From what starting point?
Building android to make custom builds involves knowing lots of things; java, c, linux, gcc build system, android platform, etc, etc.
To make apps you just need to know java and the android platform.
Start here: http://developer.android.com/
Code for Home screen Pull up Menu
I have a similar request but was unsure if I should start a new thread, If this needs to be moved my apologies (I also searched through Q&A forums as well and came up empty ). Where or how could I get the source code for the Home Screen pull up menu? I checked out the Google Source Code but it requires Linux or Mac OS and I run Windows Vista.
cingall said:
I have a similar request but was unsure if I should start a new thread, If this needs to be moved my apologies (I also searched through Q&A forums as well and came up empty ). Where or how could I get the source code for the Home Screen pull up menu? I checked out the Google Source Code but it requires Linux or Mac OS and I run Windows Vista.
Click to expand...
Click to collapse
i don't think you can compile the source code in windows
david1171 said:
i don't think you can compile the source code in windows
Click to expand...
Click to collapse
Yeah, I'm considering running Linux on my laptop alongside Vista, as I have hit dead-ends on a couple projects simply because you need Linux for different things . All I really need is a place that I could find the source; I had an idea that I proposed to mohsinkhan47 for his Vista theme and he asked me to find the code for the pullup menu. It would be much appreciated if anyone could guide me in the right direction.
i know where you can get the entire source code. grab it from here
Thanks for the link, that was the site that I went too before but says I need either Linux or Mac OS. Still scouring the android sites but coming up with nothing .
Yeah I do not think there is a way to compile the source in windows. I guess like stericson once said "you're going to have to get your hands dirty and use linux" (it was something like that.
Guess I gotta break my cherry sometime, thanks all for the advice.
Can someone please explain how to set up CM on my PC so that I can run in an emulator and do some dev? Preferrably using Eclipse IDE.
Thanks!
Nexus One
CM 5.0.5.3
Yeah great post! I'm also looking forward to start dev'ing.
Did you already set up the Android SDK?
Yup. Android SDK is set up.
I just read [source.android.com/download] that you can't compile the Android source on Windows. That basically kills it for me at this time until I get my hands on a non-Windows machine.
Basically, I want to make changes to webkit for adding Arabic support. Can this be done without the above requirement?
daiski said:
Yup. Android SDK is set up.
I just read [source.android.com/download] that you can't compile the Android source on Windows. That basically kills it for me at this time until I get my hands on a non-Windows machine.
Basically, I want to make changes to webkit for adding Arabic support. Can this be done without the above requirement?
Click to expand...
Click to collapse
I'd grab a VMware image for e.g. Ubuntu Server 9.10 (http://www.thoughtpolice.co.uk/vmware/) and use some of the free VMware versions (e.g. Player). Then follow the instructions on Cyanogenmod Wiki to get the source code and build your own system image. There should be plenty of information about how to build it, and support on IRC or the forums. Once you're past that, you can start tinkering with the Webkit code. Webkit is part of the framework (I believe), and probably has a lot of dependencies on it, so you probably cannot build it without the rest.
Maybe you want this thread to be moved to the Development forum.
Thanks for the tips robert I'll get right on that!
This thread was in the Development forum and was moved here by a moderator.
Ah btw, I thought about VMWare Player again. I don't think you can add another disk there, or at least, it's complicated (http://communities.vmware.com/thread/158454). So you might want to use VMWare Server, which is free, too. You will need a couple of gigabytes for the source code, intermediate build files, etc.
robert-qfh said:
Ah btw, I thought about VMWare Player again. I don't think you can add another disk there, or at least, it's complicated (http://communities.vmware.com/thread/158454). So you might want to use VMWare Server, which is free, too. You will need a couple of gigabytes for the source code, intermediate build files, etc.
Click to expand...
Click to collapse
Can you explain why I'd need to add another disk?
Depends on how they set up the disk when they created the image. If they made it large enough, you don't need another disk.
I have installed Ubuntu on my android phone by following the nexusonehacks.net guide. All is working well. The reason I am creating this thread is because in nexusonehacks.net guide he mentions that he got his ubuntu.img from some guys at the xda forums.
I am wanting to get an ARM img of mint linux (LXDE version) and while I have spent countless hours trying to figure out how to install mint linux with an ARM emulator it appears to be above my linux knowledge.
I know that mint linux is based on ubuntu and should have the latest linux kernel and therefor has ARM support built in already, so that is not a problem, no need to compile a kernel with support for ARM.
Basically I am just looking for someone who is running an ARM emulator or has an ARM based laptop to install mint linux (LXDE version) and do a disk dump of the HDD into an image file I can then use to replace the ubuntu.img file I am currently using on my phone.
If this would be a simple task for someone to do and upload the image, I would be most appreciative.
It would be best if I could have the dev who provided the original ubuntu.img file to nexusonehacks.net do the dd of mint linux as I am sure he knows all of the details of how to do a proper dd for use on an android phone. If anyone can point me in the direction of that particular dev, that would be great, thanks!
Buddy of mine was working on gentoo for his N900, which is an ARM proc. Ubuntu has an emulator for that, he said that it seems only ubuntu does, but you run a virtual machine with an ARM emulator. Thing is that I'm not sure if a standard ARM emulator would work too well, the chip on the N1 has some extra stuff on it apparently
It sounds to me complicated because Linux Mint is not distributed for ARM...
Take Debian
I know I did not helped, I just gived my advice on how to get Linux on Android phones: get debian which is available for tons of architectures, including ARM, natively.
Well, it doesn't really work that way. If the distribution doesn't have their packages built for ARM then it's not going to work. Yes the kernel supports ARM but it still has to be built specifically for the processor it's going to run on. That goes for most other software packages too.
Getting debian and LXDE running on the N1 is pretty easy to do. There is a guide buried a few pages down in this forum. Also, I'm hoping to release a script to help automate much of the install soon.
jairuncaloth said:
Well, it doesn't really work that way. If the distribution doesn't have their packages built for ARM then it's not going to work. Yes the kernel supports ARM but it still has to be built specifically for the processor it's going to run on. That goes for most other software packages too.
Click to expand...
Click to collapse
I guess you were talking about Ubuntu, not Debian?
jairuncaloth said:
Getting debian and LXDE running on the N1 is pretty easy to do.
Click to expand...
Click to collapse
Very easy: Debian is available for ARM:
[alpha][amd64][arm][armel][hppa][i386][ia64][mips][mipsel][powerpc][sparc][s390][source][multi-arch]
jairuncaloth said:
There is a guide buried a few pages down in this forum. Also, I'm hoping to release a script to help automate much of the install soon.
Click to expand...
Click to collapse
I would love to see that.
Well this pretty much answers my question. Thank you very much. At least I have ubuntu running on it, I will be happy with that.
Sent from my Incredible.
Hi guys,
If you're, like me, greatly excited to get Ubuntu Touch onto your phone, and/or tablet, here is a guide to port it!
It helps you get started on a port:
https://wiki.ubuntu.com/Touch/Porting
Also:
This is not a thread for eta:s for your device port. Nor is it a thread to ask for a port. Both of which you'll have to go to each device's own forum.
This is a thread for discuss ports, get help on them and to share experiences.
For Ubuntu Touch specific questions, see other threads.
FAQ:
Can you port device X?; Ask in your device X's forum. Or even better, try it yourself! It's not that hard, actually. See link above.
Does Ubuntu Touch run Android Apps?; No.
Will it?; Maybe. If anyone cares to actually make it work.
Do I need to have X; run Y; or do Z?; Check the Port guide! https://wiki.ubuntu.com/Touch/Porting
Sent from my GT-I9300 using xda app-developers app
Everyone with a nexus needs to install Ubuntu and then show everyone they know how in it's current state it is unusable except as a test device for apps.
Sv: Port Ubuntu Touch
Markk29 said:
Everyone with a nexus needs to install Ubuntu and then show everyone they know how in it's current state it is unusable except as a test device for apps.
Click to expand...
Click to collapse
Well, it is a dev release for developers and Ubuntu enthusiasts, so they probably already run Ubuntu. And if not, it's a 20 min install.
And porting it is still a large project by itself, so it'll go nicely hand in hand until the stable release of Touch, I think.
Sent from my Transformer using xda app-developers app
coming soon https://plus.google.com/u/0/107265043789873157543/posts/hAE1grem6hj
Kalashnikitty said:
coming soon https://plus.google.com/u/0/107265043789873157543/posts/hAE1grem6hj
Click to expand...
Click to collapse
is that S3 , in the pic if i am not wrong?
Porting posted:
https://wiki.ubuntu.com/Touch/Porting
S3 already has it: http://www.omgubuntu.co.uk/2013/02/ubuntu-phone-up-running-on-samsung-galaxy-s3
Just been reading through the process and if seems relatively straightforward to port so I can't wait to see what comes out of this
can i ask a question?what mean ubuntu is based on cm10.1?by which meaning?ubuntu i quess it will be an OS by itshelf.why based on cm10.1?
termagazis said:
can i ask a question?what mean ubuntu is based on cm10.1?by which meaning?ubuntu i quess it will be an OS by itshelf.why based on cm10.1?
Click to expand...
Click to collapse
Because some of the Android components are reused. Read here: https://wiki.ubuntu.com/Touch/Porting#General
Ubuntu is a distro. Linux is an OS. Android is kind of a distro too.
Please correct me if I'm wrong.
Actually pending when canonical gets to compile drivers for particular phones which incidentally is probably going to be for only their oem devices, they use the cm base.
Essentially just the drivers and hal layer.
Its not based on CM. It takes advantage of CM base. Its direct ubuntu.
And from what iv seen you can forget about lag. The alpha is awesome compared with android alphas
Sent from my GT-N7000 using xda premium
edy_3dz said:
Because some of the Android components are reused. Read here: https://wiki.ubuntu.com/Touch/Porting#General
Click to expand...
Click to collapse
yes i have read this but my english isnt perfect so i maybe didnt understant something.so because ubuntu and android are based in Linux kernel,they taking some stuff "ready" for more easyness.something like that?
Phones need drivers like your PC does and a kernel which acts as interaface between the hardware and the operating system.
Everyphone uses its own vendor supplied kernel with some modifaction and their own graphics driver. So they use the low-level stuff that already exists for Ubuntu.
You can't just make one "OS" for a smartphone that just works on all devices it has to be ported to the specific hardware (kernel and driver).
blackout23 said:
Phones need drivers like your PC does and a kernel which acts as interaface between the hardware and the operating system.
Everyphone uses its own vendor supplied kernel with some modifaction and their own graphics driver. So they use the low-level stuff that already exists for Ubuntu.
You can't just make one "OS" for a smartphone that just works on all devices it has to be ported to the specific hardware (kernel and driver).
Click to expand...
Click to collapse
thats what i mean.so they took the allready existing stuff from cm10.1 because it will work with ubuntu (or with some small changes) because both OS are based on Linux kernel.i understand right?
fromanbr said:
Ubuntu is a distro. Linux is an OS. Android is kind of a distro too.
Please correct me if I'm wrong.
Click to expand...
Click to collapse
Ubuntu is a distro or distribution which is a OS Linux isn't a OS it's a kernel (the underlying framework kinda like the glue)
PHONE SLOW CLICK ME?
_____________________________________
"If your doing the right thing then to hell with everyone else -Deadly"
TingTingin said:
Ubuntu is a distro or distribution which is a OS Linux isn't a OS it's a kernel (the underlying framework kinda like the glue)
PHONE SLOW CLICK ME?
_____________________________________
"If your doing the right thing then to hell with everyone else -Deadly"
Click to expand...
Click to collapse
Wikipedia says Linux is an unix like OS, but the main component is the Linux Kernel. Android only uses the Linux Kernel and not so much the GNU system tools which make it unix like, that is why people generally don't refer to android as a Linux distro.
BukaKing said:
Wikipedia says Linux is an unix like OS, but the main component is the Linux Kernel.
Click to expand...
Click to collapse
But saying it like that makes it sound like u can use this as a Mac OS or Windows replacement which I think is what he was asking
Android only uses the Linux Kernel and not so much the GNU system tools which make it unix like, that is why people generally don't refer to android as a Linux distro.
Click to expand...
Click to collapse
I never said android was a Linux distro
PHONE SLOW CLICK ME?
_____________________________________
"If your doing the right thing then to hell with everyone else -Deadly"
TingTingin said:
But saying it like that makes it sound like u can use this as a Mac OS or Windows replacement which I think is what he was asking
I never said android was a Linux distro
PHONE SLOW CLICK ME?
_____________________________________
"If your doing the right thing then to hell with everyone else -Deadly"
Click to expand...
Click to collapse
You didn't say android was a Linux distro but he did, I was just adding to the conversation.
I think I may understand what you're thinking though. Mac and Windows are not open source and you cant build your own version, so they are not as comparable in that sense, they are binary distributions. But you can build your own Linux configured the way you want outside of any distro, a distro is just a packaged version of Linux with additional packages and configurations.
Had angie tried to pull the source code? It's ridiculously slow on my end. About 15gb at 9 to 152kbs... I guess every dev in the world is trying to pull it...Lol...too bad there's no way to speed it up
Sent from my SAMSUNG-SGH-I727 using xda app-developers app
fromanbr said:
Ubuntu is a distro. Linux is an OS. Android is kind of a distro too.
Please correct me if I'm wrong.
Click to expand...
Click to collapse
Actually, Linux is a clone of the UNIX kernel. Ubuntu is an operating system (or Linux distribution) with a Linux kernel. Android could be considered a Linux distribution as well, even though it's mostly Java stacks on top of a Linux kernel.
Sent from my Galaxy Nexus using Tapatalk 2
What is needed to be an android developer? What things I have to learn to develop apps and make custom roms or kernels?
It isnt that easy. Just an app that is slightly complex can take 3-4 months if you have 0 knowledge before you start
Sent from my LG-P880 using xda app-developers app
alekthefirst said:
It isnt that easy. Just an app that is slightly complex can take 3-4 months if you have 0 knowledge before you start
Sent from my LG-P880 using xda app-developers app
Click to expand...
Click to collapse
Thanks for the reply. I am going to learn C, C++, VB.NET, Linux and Java. After an year and three months my course will complete. I want to know, what is needed more to learn. Please tell.
C language is the base for kernel development.. ROM is not difficult to make/develop/mod.. but Kernel is.. good luck friend
Sent from my LG-P990 using xda premium
Subhajitdas298 said:
Thanks for the reply. I am going to learn VB.NET, Linux and Java. After an year my course will complete. I want to know, what is needed more to learn. Please tell.
Click to expand...
Click to collapse
Visual Basic .NET is not required for android developing. VB (.NET) was created by Microsoft and is supposed to run and supported only on Windows. (can be emulated on linux though..)
Linux: you need to specify what you want to learn about linux. How to access the terminal, know the different shells (sh, bash, zsh, ..) and how to use them (executing commands, creating scripts, using system variables, pipes, ...). It's also good to know the boot process and how it's working to boot into linux (kernel -> initial ramdisk --> init --> usermode).
Another thing is how to compile applications using gcc and understanding the automatic building process using Makefiles and how to configure it (using defines, ./configure) to make a build that fits your need.
Other things to learn and understand: debugfs, tmpfs, ramfs, procfs, devfs, sysfs, ramdisk structure, and much more.
Also important are the differences between linux distributions. They all have it's own way to process different operations, for example, installing and updating the distribution or apps. (debian/ubuntu -> apt-get, fedora -> yum, suse -> yast, ...)
Java: only needed if you want to develop android apps running in userspace executed by the dalvik virtual machine (=> normal apps that run on android os). Java's coding syntax is based on C's. When coding apps for android os be sure you get used with the android sdk.
C: not bad to know. You can do kernel stuff and develop apps that can be executed by the linux/android kernel directly without involving the dalvik-vm which allows you to access internal things. Custom recoverys, for example, were developed using C and the android ndk with a modified ramdisk to execute the recovery binary instead of the dalvik-vm which initializes android.
C++: not really needed, but it supports object oriented programming which makes everything better structured and understandable. The android ndk has some support for c++ header files to work with.
So.. one year isn't enough. There is so much to learn and it's really not easy.. more frustrating
Then finally you can start to work build roms for a specific device, because every device has other hardware components and different ways to do this and that. You need to know and understand them to successfully develop software that runs fine on the specific device.
gordon0001 said:
Visual Basic .NET is not required for android developing. VB (.NET) was created by Microsoft and is supposed to run and supported only on Windows. (can be emulated on linux though..)
Linux: you need to specify what you want to learn about linux. How to access the terminal, know the different shells (sh, bash, zsh, ..) and how to use them (executing commands, creating scripts, using system variables, pipes, ...). It's also good to know the boot process and how it's working to boot into linux (kernel -> initial ramdisk --> init --> usermode).
Another thing is how to compile applications using gcc and understanding the automatic building process using Makefiles and how to configure it (using defines, ./configure) to make a build that fits your need.
Other things to learn and understand: debugfs, tmpfs, ramfs, procfs, devfs, sysfs, ramdisk structure, and much more.
Also important are the differences between linux distributions. They all have it's own way to process different operations, for example, installing and updating the distribution or apps. (debian/ubuntu -> apt-get, fedora -> yum, suse -> yast, ...)
Java: only needed if you want to develop android apps running in userspace executed by the dalvik virtual machine (=> normal apps that run on android os). Java's coding syntax is based on C's. When coding apps for android os be sure you get used with the android sdk.
C: not bad to know. You can do kernel stuff and develop apps that can be executed by the linux/android kernel directly without involving the dalvik-vm which allows you to access internal things. Custom recoverys, for example, were developed using C and the android ndk with a modified ramdisk to execute the recovery binary instead of the dalvik-vm which initializes android.
C++: not really needed, but it supports object oriented programming which makes everything better structured and understandable. The android ndk has some support for c++ header files to work with.
So.. one year isn't enough. There is so much to learn and it's really not easy.. more frustrating
Then finally you can start to work build roms for a specific device, because every device has other hardware components and different ways to do this and that. You need to know and understand them to successfully develop software that runs fine on the specific device.
Click to expand...
Click to collapse
Isn't VB.NET not required to make PC apps to manage phone, like some kind of phone manager or hacker or something like that?
In short I have to learn linux in core level- is that right? They told me, they are going to teach ubuntu. Don't know if they are going to teach in core level. Is there any ebook to learn Linux deeply?
Sure you can use it for developing apps for windows but it doesn't allow you to build native/winapi dynamic link libraries (dll) which can be quite useful. VB. NET also doesn't allow you to build userspace(ring3)/kernelspace(ring0) drivers which is essencial for supporting new hardware.
VB is, in my opinion, only good for building simple apps with a nice user interface. Sure it's quite easy to learn, but you do have not the possibilities like you have with C, C++ or Delphi.
And yea, the internals of linux would be a good start. But also getting used with KDE and GNOME (desktop managers) which both are useable on ubuntu. Ubuntu is also good cause google officially supports building android stuff on it.
Gesendet von meinem LG-P880 mit Tapatalk 2
gordon0001 said:
Sure you can use it for developing apps for windows but it doesn't allow you to build native/winapi dynamic link libraries (dll) which can be quite useful. VB. NET also doesn't allow you to build userspace(ring3)/kernelspace(ring0) drivers which is essencial for supporting new hardware.
VB is, in my opinion, only good for building simple apps with a nice user interface. Sure it's quite easy to learn, but you do have not the possibilities like you have with C, C++ or Delphi.
And yea, the internals of linux would be a good start. But also getting used with KDE and GNOME (desktop managers) which both are useable on ubuntu. Ubuntu is also good cause google officially supports building android stuff on it.
Gesendet von meinem LG-P880 mit Tapatalk 2
Click to expand...
Click to collapse
Thanks for reply but I didn't get the first paragraph. Anyways, what is delphi?
like gordon0001 already said, when you're new to android, start with a ROM, never with a kernel it can make you go crazy
and trust me, i know what i'm talking about
so for the start, i'd suggest you to learn java, maybe experiment with some apps, and then make your own rom.
if you're used to it a bit, you might want to start messing around with kernels. therefor you need C.
but be warned, i cannot be held responsible if you go crazy
simple application, less requirement.
start with examples within the sdk
Sent from my LG-P880 using Tapatalk 2
laufersteppenwolf said:
like gordon0001 already said, when you're new to android, start with a ROM, never with a kernel it can make you go crazy
and trust me, i know what i'm talking about
so for the start, i'd suggest you to learn java, maybe experiment with some apps, and then make your own rom.
if you're used to it a bit, you might want to start messing around with kernels. therefor you need C.
but be warned, i cannot be held responsible if you go crazy
Click to expand...
Click to collapse
I am not saying, I am going to start right away. It will take me one or more years to learn everything. I am just asking, what is required other than java, c and c++?
Also, is there an Ebook, where I can learn (understand) linux? Specifically Ubuntu.
K9998 said:
simple application, less requirement.
start with examples within the sdk
Sent from my LG-P880 using Tapatalk 2
Click to expand...
Click to collapse
I will keep that in mind.
Subhajitdas298 said:
I am not saying, I am going to start right away. It will take me one or more years to learn everything. I am just asking, what is required other than java, c and c++?
Also, is there an Ebook, where I can learn (understand) linux? Specifically Ubuntu.
Click to expand...
Click to collapse
for the building/compiling process, batch wouldn't be that bad
and about ubuntu, i'd suggest learning by doing
it's not really hard. with a few commands you can live with linux quite well
laufersteppenwolf said:
for the building/compiling process, batch wouldn't be that bad
and about ubuntu, i'd suggest learning by doing
it's not really hard. with a few commands you can live with linux quite well
Click to expand...
Click to collapse
I am totally Linux noob. So, someone has to teach me.
Can you tell me how to install ubuntu alongside Windows 7? I want to install it on a blank partition. I have 64 bit downloaded and burnt on a dvd.
just boot the dvd, the GUI will guide you through
still some Qs, tho:
and for partitioning, have you already partitioned your hdd? and what is it's size?
how much RAM do you have?
and which linux have you downloaded/do you want to use?
laufersteppenwolf said:
just boot the dvd, the GUI will guide you through
still some Qs, tho:
and for partitioning, have you already partitioned your hdd? and what is it's size?
how much RAM do you have?
and which linux have you downloaded/do you want to use?
Click to expand...
Click to collapse
Already partitioned. Using for 2 years.
HDD Size - 1 TB.
Partitions (GB) - 97 (Win 7 service pack 1, 32 bit, ram lock removed), 97 (blank, want to use for Linux, ubuntu 13.04 64 bit), 147 (songs, movies etc.), 480 (games and software collection), all that is left (tv recordings and other stuff).
RAM - 6 GB DDR3.
Processor - Intel Core 2 Duo @ 2.93 GHz (overclock to 3.2 GHz).
GPU - ASUS NVIDIA GeForce 210 Silent 1 GB DDR3.
Total graphics ram - 37** MB.
Subhajitdas298 said:
Already partitioned. Using for 2 years.
HDD Size - 1 TB.
Partitions (GB) - 97 (Win 7 service pack 1, 32 bit, ram lock removed), 97 (blank, want to use for Linux, ubuntu 13.04 64 bit), 147 (songs, movies etc.), 480 (games and software collection), all that is left (tv recordings and other stuff).
RAM - 6 GB DDR3.
Processor - Intel Core 2 Duo @ 2.93 GHz (overclock to 3.2 GHz).
GPU - ASUS NVIDIA GeForce 210 Silent 1 GB DDR3.
Total graphics ram - 37** MB.
Click to expand...
Click to collapse
i, for one, would recommend xubuntu. no bloatware, nice UI, pure performance but it is your call for sure
and with 6GB RAM, swap should not be needed (i'm running xubuntu with 4GB RAM, and no need at all for swap )