[ANDROID] So how is it done? - Touch CDMA General

How is Android actually ported to work on the Vogue?
Are you guys literally taking the source code, changing things, compiling & releasing it?
How have you guys learned how to do it?
I'm really interested in helping out and would like to learn more, so any info is great!

Still interested. If any developers could chime in I'd really appreciate it.
Even if you just post a link to some resources I could read.

I googled...I found..
http://www.kandroid.org/android_pdk/index.html
It may be old IDK....Have fun

Thanks!
If anyone has anything else.. please post!

http://cs-alb-pc3.massey.ac.nz/vogue/
^A bit of info about how the project came to be and progressed

Thank you for the reply!
So, when it comes to myn and plemen releasing their builds, what exactly are they doing? Are they getting the source code from Google and completely customizing it, or are they customizing a source that has already been ported for the Vogue? Or... what?

To summarize:
The brunt of the porting effort is in the kernel (the heart of Linux) - a kernel which supports the Vogue hardware needed to be constructed, and the Android-specific extensions added and made to support the hardware. Martin (dzo) did most of the work on that.
Then, there are some core user-space libraries in Android which interface with the hardware and kernel (audio and radio being the big two, with lights, GPS, camera, etc. following). These also needed to be created and updated to support the Vogue hardware. Each time a new Android version comes out, these libraries tend to change and parts need to be rewritten to keep up with Android. A lot of people were and are instrumental in this process.
Then comes the questions you're asking, the "userland" pieces of the build: porters can start from an AOSP (Android Open Source Project) build, which is built ground-up from the released Android sources, a build from another phone (Tattoo, Hero, Droid, etc.), or an SDK emulator build (which is usually not preferred because SDK builds have extra debugging and are missing features for real hardware). To "port" a build, the Vogue libraries are copied in and init scripts and build properties are updated to support the Vogue's screen resolution and hardware initialization. Some porters go an extra mile and unpack, modify, and repack application data to support 320x240 better or to add new themes. For the most part, this is what people like myn and plemen do.
Builds can also be "zipaligned" (package files are aligned to match cache and block boundaries, so they're loaded faster), and image files downsized or removed to enhance speed.

Related

source code to hook SystemAPISets implemented in nk.exe

mamaich said:
Occasionally I've found this page - http://blogs.msdn.com/sloh/archive/2005/05/27/422605.aspx
It has an interesting code at the bottom. I've already made a program that can hook system calls, I'll try to hook EnterCriticalSection and WaitForMultipleObjects and force them to use that code. Maybe this would reduce the occasional lockdowns.
Click to expand...
Click to collapse
I've made such a program. It gave no noticeable improvements for me, but I've attached it to this post with source code.
Source code would be interesting to people, who need to hook kernel functions that are implemented in nk.exe.
The function uses LoadKernelLibrary to load DLL, DLL relocates SystemAPISets table to writeable memory and hooks needed functions.
Code has no comments and looks ugly, but is short and should be easy to understand.
mamaich: thanks so much for this. I need all the hooking code I can get my hands on right now.
Will look at this ASAP. In your debt
V
Thanks...I've just started programming in EVC++ 4, so it might be useful.
Project is compiled with VS2005, it can be ported to eVC4. And it is designed for WM5, but should work also with older OSes, maybe minor modifications in internal OS structures may be necessary.

pSlimClient 0.1 - Open source slimserver client written in c# (source only)

Good evening! I just released the source for my very own slimserver client for windows mobile! (I was very frustrated as I couldn't find any free/open source ones out there).
This is the first release ever, and hence very very basic. Thus, I have only released the source, and no binaries..
It does work, and it does satisfy my current requirements, so I don't plan on spending a lot more time on it. If you want to see it evolving to meet your own needs as well, please do help, by donating your time and coding skills
In order to make it work , you will have to manually edit the libslim\core.cs file with your slimserver details.
There are no GPL notices, nor attributions in the files yet for the various pieces of code that I used. This will change soon!
The scrolling list control is called Kinetic Scroller, and I found it on this forum. Many thanks to dosfan for releasing the source to that excellent and extremely usable control (I did some minor changes).
I found what was the basis for SlimXML somewhere on the web, I don't remember where. Many thanks to the developer In order to compile it, you might need Visual Studio 2008.
You will also need SlimServer version 7 beta installed, as the previous versions do not provide any CLI functionality for browsing the music folders
https://sourceforge.net/projects/pslimclient/
Nice..
This sounds great. Currently I am using the handheld skin and mplayer. It works but a real client would be sweet. The only problem is I don't think I can get a C# compiler. Do you know of a free one or would you be able to get me a binary? I'm running duttys 6.1 on a at&t tilt.
Thanks and good luck with the project.
wr420

A Few questions regarding development for android..

Hello all,
I'm now the proud owner of an android phone (htc desire) and as a hobbiest programmer i'm of course intrested in making (free) apps for it. I come from a linux based devices background (like gp2x, wiz, dingoo a320) etc. So i'm used to the gcc toolchains and libs and I read a bit around about android programming. Am i correct in saying that is not possible to just use a gcc toolchain for programming android apps since android uses some sort of java virtual machine ?
Or is this possible after all, just like one woud make apps for linux based devices. I think the Answer will be NO but i still ask since i wasn't certain and did not find that much information about it.
Suppose it is not possible, my only option for porting linux based games / apps would be to use the NDK and split up the main functions of a game and make a shared lib out of it, which could be called using JNI from java right ?
But i have a question if this is the case...
I can't really imagine that all phone manufactures use the same hardware in their phone or even the same architecture, so suppose i would use the NDK to create a shared lib with basic functions of a game i wish to port, wouldn't this lib need to be build for the specific architecture of a certain phone and thus could only work on that phone ? or are all android phones arm based ?
So you could say my question basically comes down to this :
Will Using the ndk and apps created with it, be less compatible then a java only app for all the droid phones out there ?
thanks
hmm seems i can answer my own questions now, i hadn't looked at the official ndk site itselve yet and did not know it would have all the info i needed.
So using gcc toolchains only does not work,
android uses a (modified ?)java virtual machine called dalvik
de libraries do have to be build for a specific architecture, and all droid's (phones) do seem to run on arm, but in the future the x86 architecture will be supported as well.
HOWEVER,
one can target ARMv5TE or ARMv7-A (and in the future x86) and include the needed libs (per architecture) in the apk file, the droid system will do the rest by checking if a lib for the specific architecture is availible or not.
also it's worth to note that ARMv5TE libs should work on any arm based droid phone, BUT without hardware fpu support. Since all the (linux based) devices i programmed for had no hardware fpu either and weren't as near as powerfull as my desire is, i don't think using software floating point would be a problem for my needs and if it i do need it i can always use fixed point math.
Just thought i should write a small excerpt of that page here, since there might be other people looking for it eventually

Android Rom development (fixing video camera, etc.)

First of all, lots of respect to the devs for all the work they have done so far. The last few weeks we've gone from almost nothing to one of the most complete android ports of all windows devices.
Now for the topic: I'm a (beginning) software developer and after a lot of development on the .net framework I started learning java last year, at university.
I was wondering what parts of android are actually written in java. I know that the linux kernel and stuff is written in low-level languages like C(++) or even assembler. On top of that, Android runs a java virtual machine (called drupal if I remember correctly).
Does the built-in software, like for example the standard camera software, run in java, or has it been written in low-level languages to improve speed? If it has been written in Java, can we actually edit that code from the roms that are commonly used?
If so, I think there are a lot of people that could look at stuff like fixing the video camera (by changing the button layout in that mode for example) and other small bugs that occur on higher software levels. I think there are a lot of people that know nothing about kernel development but do know stuff about java (or similar OO-languages like C#) that could help out with stuff like this.
Am I on to something here? Any people that can tell me more about this?
i dont relly know
up up !!
in XTarantula's ROM the Stock Video Camera works with sound.
his build is based on Android 2.1 (Eclair) update 1.
Model Number is Nexus One and is fully stock (even with Stock Launcher, no launcher pro preinstalled.)
its a great build, im just waiting for a Froyo Build with the same features.
hope this will help: http://developer.android.com/guide/topics/ui/ui-events.html

[IDE] Using IntelliJ IDEA for Android development

When starting with Android development most people start so by using Eclipse, so did I. Unfortunately for me this was a quite frustrating experience no matter if I developed on Windows or Linux. I often had troubles launching projects after some changes and was forced to rebuild the whole workspace (which takes a while esp. if you included a couple library projects). So after a while I decided to switch to IDEA which is a lot more satisfying. I never had any issues with broken projects and everything just builds so much faster.
One big difference (and it seems many people have troubles with it) is IDEA's handling of library projects. Unfortunately I think this is done in a very logical way, as each "project" is handled as a model. Means you create a project ("My app"), add a module for your main app project, and add new modules for each library project you would add. For each modules you can set the dependencies and say on which modules it depends.
In the newest version (12) Jetbrains also added an Android UI designer, which was one of the features not available before.
If you are curious you can download and install IDEA from their website, or when you are using Ubuntu you can simply download it from Software center.
http://www.jetbrains.com/idea/
And here's a nice article given a quick introduction:
http://www.itwriting.com/blog/7083-intellij-idea-the-best-ide-for-programming-android.html
IDEA rocks, +1. It makes my little Arch box work like a real PC at times
i use idea too,just feel good
Sent from my Nexus 4
What about the on-the-fly analysis performed by IDEA during development? Does it detect many bugs?
Have you never used this functionality?
Nobody uses this feature of IDEA?
I've only had a brief play with it so far - updated the Android SDK and loaded 1 project from GitHub, but it compiles like lightning compared to Eclipse. Thanks for letting us know about this - it's much appreciated
So how does it handle multi-module projects? The advantage of Eclipse/Qt Creator is you can keep multiple projects open at once plus the plugin integration with Maven and Git.
I briefly tried out IntelliJ a couple months back and immediately stepped away when it failed multi-module requirement for me.
More speed than molasses Eclipse would be nice, though the Windows version runs tolerably on fast i5 and SSD.
If it supports .webp on the UI designer (unlike Eclipse), then I'll be all over it!
IntelliJ IDEA has no workspace concept like Eclipse, but its project can have multiple modules: http://www.jetbrains.com/idea/documentation/migration_faq.html .
I'm a total noob/beginner when it comes to programming - never really been into it. That said, I've recently been giving it a go using Eclipse - creating my own Android app. I've just installed IDEA and find it far better to use then Eclipse. Really loving it actually.
I never got into Eclipse. The only Eclipse project I tried using was IBM's Lotus version of OpenOffice. The thing was huge, bloated with Eclipse libraries.
Netbeans is my preferred IDE (also good for C++ and others) but it, unfortunately, falls short for Android.
Intellij worked first try. Glad to see a forum for this on XDA!
Really happy this gets some attention, I've switched from Eclipse to IDEA a while ago and I can't go back.
IDEA is just so smart and works so nice!
I think the best part of IntelliJ is that when you are programming you do it in one environment, from IntelliJ I can see Jira stories, commit svn/git and everything else I do while programming, without switching to 5 different applications
I hope more and more people will switch to IntelliJ, thanks for this thread!
Isn't anyone here bothered by the slow compile times compared to Eclipse? I'm working on a relatively large project, and each time anything is modified it seems to rebuild from scratch. Eclipse in comparision is able to launch the app with the new changes almost instantly.
I love IntelliJ when it comes to it's editor and project management, but in the end it takes about 20s to get my changes on the screen. I'm probably saving some time not having to bother with corrupted workspaces and such though.
I have been using it for more than a year now, haven't looked back at eclipse again.
One thing that bugs me about all of these options is that they don't work on Android itself. Not a big deal for me yet, but I see it becoming more important as we start to see Android devices with bigger screens and keyboards.
I know that AIDE is a decent IDE that runs on Android, but it only runs on Android and it doesn't compare with Eclipse or IntelliJ (yet).
I heard that the current version of Eclipse (4.2) enables some degree of GUI independence, and the next version (due in June) enforces that. That would be a good step forward, but still mostly a theoretical one.
If JetBrain were to undertake the rather large task of making IntelliJ work on Android, as well as existing desktop platforms, they would certainly get my $.
I wonder - is the new Gradle based build system compatible with Android itself?
I found the new-ish GAE Endpoints service to be quite interesting in that part of the build process (code generation) happens on the server as a service. This strikes me as very Googly and I wonder whether Google will provide Android build as a service sometime in the near to medium future. That would certainly help move us towards a platform independent future, though I guess AIDE has shown that it is not the build system, but the IDE, that is holding us back from developing on Android.
I've been using IntelliJ since just after I started Android development (2+ years ago). I had tried Eclipse before that, and besides the excellent feature set, always found the editor to be lacking in many ways (still no virtual space). So when starting with Android development I just hated it because I had to do it in Eclipse. No offense to the people who use and love it, I'm sure that it is a great IDE, it just does not suit me at all.
When I discovered IntellJ, I immediately felt comfortable within the IDE. This made me enjoy the coding that much more which, to me, beats out any feature that an IDE can ever have. IntelliJ has some shortcomings, but overall I find it an exceptional IDE for Android development. It can be a tad sluggish in large projects, but not to the point of annoyance. It is also insanely stable, and I have NEVER in 2 years of working with it had a single crash - just brilliant.
Also, having been using it over an extended period, I can safely say that they excellent developers at JetBrains have constantly been improving on the Android support within the IDE. Feature wise, I think that IntellJ is definitely almost on par with Eclipse, and they have done this without any official support from Google (as far as I know). If Google would take notice of IntelliJ and provide support (I'm thinking ADT) that would just make it even better - here's hoping.
I would highly recommend anyone attempting android development to give IntellJ a go - the Community Edition is free. Especially developers coming from Visual Studio
Thanks, tried it, but I prefer Eclipse.
I'm a new programmer (now learning), and it seems better for me now.
DubelBoom said:
Thanks, tried it, but I prefer Eclipse.
I'm a new programmer (now learning), and it seems better for me now.
Click to expand...
Click to collapse
I think this is an important point. Try all the options available, and make a choice based on what you prefer.
I'm just glad that at this point Android has at least two very capable IDEs to provide that choice.
I really cant figure out how to get IDEA to see my install of the android SDK. It looks like their setup tutorial assumes default locations for jdk and android-sdk on windows. How do you setup paths if android-sdk is somewhere else? (using a mac)
Also, second link on the first post seems to be dead right now.
truehybridx said:
I really cant figure out how to get IDEA to see my install of the android SDK. It looks like their setup tutorial assumes default locations for jdk and android-sdk on windows. How do you setup paths if android-sdk is somewhere else? (using a mac)
Also, second link on the first post seems to be dead right now.
Click to expand...
Click to collapse
Check my answer here: http://stackoverflow.com/a/16485929/104891 .
I am on my second attempt at using IDEA for Android dev and I am stuck at the same point as last time, and its the only thing that Eclipse has going for it: I want to create a new Android app, min SDK 8, target SDK 17 (or whatever). This is fairly easy in Eclipse and I can go though the wizard for a new project, choose my settings, even the app icon and end up with the bare outline of my app that has the ICS style (ie an ActionBar & Holo theme)... can I hell do this is IDEA. I know that there is something I am/am not doing that is causing this but I have followed tutorials for adding support libs and even had a go at ActionBarSherlock.
I think this is where a lot of users are scared off of IDEA - I think its interface and usability is better than Eclipse, hell, the GUI editor for the layout XML files is better in IDEA than in Eclipse! (Eclipse freaked out on me several times trying to put static, non moving buttons at the bottom of the screen with a vertical scrollview above them, IDEA, sure, no problem!).
If they could sort the basics out, like getting the wizards included and even if they could allow you to add in various other frameworks (ABS, ViewPager etc) then they would have a winner.
On that matter, anyone got a tutorial on setting up a new project in IDEA the same as Eclipse with Holo theme?
Thanks

Categories

Resources