![]() |
Alternatives to current development
Since it appears that the delays in having a fully functional Android build is that the drivers do not exist for the Linux kernel, and therefore equivalent drivers must be implemented, why not bypass this requirement altogether?
One could theoretically implement a POSIX wrapping layer on top of the CE Kernel, with a wrapper for Linux commands as well. The vast majority are either implemented mostly (WinSock vs POSIX Sockets, for instance), or would be trivial (pthreads versus Windows threads). If one can make the CE Kernel respond to POSIX and Linux API calls in a proper manner, one could theoretically run Android on top of the Windows CE Kernel. This would let you use the drivers are are extant for the system already. All that would then need to be implemented are the intermediate JNI layers within Android. You would also need to implement a means by which to execute ELF binaries. This would be a large task, certainly, but if it is done, it means that practically any Windows CE device could have a full Android build ported. You would lose ext2/4 support, though. Just my 2 cents. You could always do the reverse and write a driver abstraction layer to handle CE drivers within Linux, but that may actually be more difficult. Edit: This appears to have posted itself in the wrong forum - can someone please move it to the Android subforum of TP2? |
Re: Alternatives to current development
Moved
|
Re: Alternatives to current development
Running Android on a CE kernel... Just seems wrong.
What is really left that would benefit throwing away everything that's been done thus far and basically starting over on a complete rewrite that sounds bad even on paper... who knows how it would actually work, if at all. |
The idea is totally ludicrous. Android doesn't run on a generic POSIX layer, it has a number of custom kernel drivers. Figuring out how to shoehorn them into CE would be a bear, even if you had CE kernel source.
It would be an utter waste of time. Look at how well Cygwin emulates POSIX on desktop windows (it's a dog). CE is even more lobotomized. Ridiculous. Sent from my TP2 using Tapatalk |
Re: Alternatives to current development
Quote:
I see your point about Cygwin DLL performance - however, many of the POSIX commands that would be required would almost be basic wrappers... the majority of the thread commands have near-direct analogs with the Windows API, for instance. |
Re: Alternatives to current development
Quote:
|
Re: Alternatives to current development
Quote:
Code:
typedef struct pthread |
Congratulations, you've duplicated one API, only a couple thousand more to go. If you implement one/day successfully, you might be done in 3-5 years. Hint: you won't average one/day.
Sent from my TP2 using Tapatalk |
Re: Alternatives to current development
lol, I was just going to ask does BT work? GPS? Prox sensor? Ambient light sensor? How about stylus detection?
AmeiseMike, you seem like a sharp guy... Why not help out with the community development? The devs have made great progress, and help is always appreciated. The more people writing code, in theory the more code that makes it into the kernel :p. |
Re: Alternatives to current development
If you cannot duplicate a single basic interface per day, then you aren't very good at what you do. pthreads itself has already been ported to the Windows API in the past, as have several other APIs. To be fair, however, that is not an API, it is a single API procedure, though the other pthread functions would be trivial to implement as well.
As per the 3-year concept... how long have you been trying to port Android onto the TP2, so far? A successful wrapping of the Android system around CE would allow any WinCE device to have 'droid, not just TP2. arrrghhh - they don't need more programmers, they need people who can reverse engineer things. As per BT, GPS, Proximity, Ambient, etc, that would have been handled by the CE drivers. You'd need to implement the JNI wrappers in Android for them, though. |
Re: Alternatives to current development
Quote:
Indeed, people who are skilled at REing are always needed with this type of project - and hard to come by. I guess I'll go back to what vinceweis said. Put up or shut up - either you help out, actually implement what you're talking about, or lurk and enjoy what the other developers are working very hard on. Your choice, I'm certainly not trying to discourage you from what you're doing - but from this angle and this stage in the game, it frankly seems counter-productive. If you think you can do it, then do it and prove us all wrong :D. |
Re: Alternatives to current development
Quote:
Quote:
Quote:
|
Re: Alternatives to current development
Quote:
|
Re: Alternatives to current development
I think AmeiseMike's idea is not so bad but it is so much hard to make it reality. The abstract layer is really flexible to make it usable most cross platform API like use .dll on Linux or .so on Windows but we can not implement all the JNI wrapper for each device, it is a very very big job and who know what's happen with them. Also Windows & Linux kernel is 2 kind of kernel and it all difference. AFAK, Android use Linux as a based but it also use emulator and native linux binary format, and many system process made to interactive directly with kernel signal and many other things like access /proc, /dev, /sys ... everything are related to Linux stuff, I think we can not handle it all.
There are simpler & easier way is use Ndiswrapper method to load WinCE's driver and call it's API, it is use in many Linux distro to reuse Windows's drivers such as closed source driver.... You all can read more about it in Wiki's page: NDISwrapper - Wikipedia, the free encyclopedia Good luck! |
Re: Alternatives to current development
I think the primary problem with this is that it would not bypass the very issues with WM6.5 that push me to Android on this phone. For example, sending and receiving texts. Would that just thunk calls down to MAPI under WM6.5, or is it possible to access lower-level radio functions and process all of that directly within Android? If it relies on MAPI then so much additional overhead will be incurred that there will be significant performance penalties. Further, the amount of RAM that WM can make available may not be enough for Android in the first place. I had this problem when I ported Quake 2 to Pocket PC. Some device models simply could not allocate enough contiguous memory for the game to run (20-30 MB). The hardware had enough physical memory, but because of OEM implementation issues it could not allocate such large blocks. These are the sorts of problems that would be encountered running one entire OS on top of another on hardware that is already resource-limited to begin with.
|
All times are GMT -4. The time now is 11:06 AM. |
Powered by vBulletin® ©2000 - 2025, Jelsoft Enterprises Ltd.
©2012 - PPCGeeks.com