Android Screen Control Without Root - Android Apps and Games

The ability to control the screen of my Android phone has been a major pain since I moved from Windows Mobile to Android quite some time ago.
The only solutions required root permissions. However there are scenarios where that is not an option such as in a corporate environment / providing remote support for a device that is not your own.
Android 2.1 onwards ( as far as I know) supports a API called MonkeyRunner that is to be used for application testing. Using this along with java sources provided by "The Android Open Source Project" I have put together a small application that will capture the screen and allow passing of click and key press events to the device.
It is highly limited to the extent that it allows only for touch events and keystrokes. It currently does not support drag events and typing of special characters but something is better than nothing
Have a look at some stuff I have put together.
http://piglings.blogspot.com/2011/08/android-screen-control-without-root.html
Cheers,
Vikram.

It's nice, but I can't really use it.
I have an HTC One X, but your tool doesn't fit the Android's screen on my laptop, so I can only control the top half of my Android.
Nice job though...

Related

Android apps on windows phone

Hi guys,
I'm currently using an iPhone as my primary phone and android as a secondary one. I want to shift to windows phone (mango) but there are a few apps on the android not available on winmo which I can't live without. Is there any way to run android apps on the windows mobile the same way(or ANY way) its done on the blackberry play book?
Thanks
I don't think there's any. But there are alternate apps.
Android apps on WP7 would be incredibly difficult, though theoretically it could be done with enough effort.
Most Android apps use Dalvik (a dialect of Java). This is totally incompatible with the Silverlight/C# that WP7 apps use, but there are enough similarities between them that it might be possible to build a tool that either translates the Dalvik instructions to MSIL (the binary that compiling C# produces) at launch, or dynamically interprets it (the latter would be very slow, though).
However, even with purely Dalvik apps, there are other problems. WP7 apps are limited to a very restrictive sandbox, with no access to the vast majority of the filesystem (for example). Android apps, by comparison, have a great deal of access to the device they run on, so even a very simple app may expect to have permissions that wouldn't be available on WP7. Instead, attempts to access restricted parts of the filesystem would have to be "virtually" redirected within the sandbox. This is possible in many cases, but a *lot* of work to code and has all kinds of weird edge cases.
Additionally, Android apps have a very different runtime model from WP7 apps. The biggest change is in how they handle leaving the foreground; WP7 apps are either suspended or dehydrated, while Android apps often just keep running (they can elect to suspend, but aren't required to). WP7 does support background tasks (with strict limitations, at least if you stick to the official APIs), but moving the Android app runtime into those background tasks would be quite difficult.
Finally, there's the issue of hybrid apps (apps that use native code in addition to managed runtimes like Sliverlight or Dalvik). These are much more common on Android than on WP7 (at least, than on WP7 outside this webite). Android runs on a Linux kernel, using POSIX system calls and APIs. WP7 runs on a CE kernel, using win32 system calls and APIs. There's a very loose mapping from one to the other (see the Wine project for running Win32 apps on desktop Linux) but it adds a lot of overhead and would be another layer, at least as tricky as the managed part, to the difficulty of this project.
Short version: nope, sorry.
GoodDayToDie said:
Android apps on WP7 would be incredibly difficult, though theoretically it could be done with enough effort.
Most Android apps use Dalvik (a dialect of Java). This is totally incompatible with the Silverlight/C# that WP7 apps use, but there are enough similarities between them that it might be possible to build a tool that either translates the Dalvik instructions to MSIL (the binary that compiling C# produces) at launch, or dynamically interprets it (the latter would be very slow, though).
However, even with purely Dalvik apps, there are other problems. WP7 apps are limited to a very restrictive sandbox, with no access to the vast majority of the filesystem (for example). Android apps, by comparison, have a great deal of access to the device they run on, so even a very simple app may expect to have permissions that wouldn't be available on WP7. Instead, attempts to access restricted parts of the filesystem would have to be "virtually" redirected within the sandbox. This is possible in many cases, but a *lot* of work to code and has all kinds of weird edge cases.
Additionally, Android apps have a very different runtime model from WP7 apps. The biggest change is in how they handle leaving the foreground; WP7 apps are either suspended or dehydrated, while Android apps often just keep running (they can elect to suspend, but aren't required to). WP7 does support background tasks (with strict limitations, at least if you stick to the official APIs), but moving the Android app runtime into those background tasks would be quite difficult.
Finally, there's the issue of hybrid apps (apps that use native code in addition to managed runtimes like Sliverlight or Dalvik). These are much more common on Android than on WP7 (at least, than on WP7 outside this webite). Android runs on a Linux kernel, using POSIX system calls and APIs. WP7 runs on a CE kernel, using win32 system calls and APIs. There's a very loose mapping from one to the other (see the Wine project for running Win32 apps on desktop Linux) but it adds a lot of overhead and would be another layer, at least as tricky as the managed part, to the difficulty of this project.
Short version: nope, sorry.
Click to expand...
Click to collapse
That was quite disheartening for the OP
But I liked the thorough explanation.
for curiosity, which apps are you looking for?
Thanks a million for the detailed reply. I can give up on this now otherwise would have gone crazy searching. As for the apps I wanted to use Rako which basically controls the lighting in my house and creston media which controls my theatre. These I can't live without.
Additional ones would be anonymous email and sms bomb.( to bug my friends)
as for the lighting you got me..
but for media the xbox (if you have one) companion controls my whole xbox media experience from audio (zune), movies (integrated movie player streaming from my pc)..
What about this - http://wp7mapping.interoperabilitybridges.com/Library?source=Android
Can't this be used?!
buffalosolja42 said:
but for media the xbox (if you have one) companion controls my whole xbox media experience from audio (zune), movies (integrated movie player streaming from my pc)..
Click to expand...
Click to collapse
Crestron controls my theater as a whole i.e lights, projector, blu ray etc. I just need to press 1 button and lights dim, screen comes down, blurry starts playing and so on. For the xbox controller its only for the xbox
buffalosolja42 said:
but for media the xbox (if you have one) companion controls my whole xbox media experience from audio (zune), movies (integrated movie player streaming from my pc)..
Click to expand...
Click to collapse
drupad2drupad said:
What about this - http://wp7mapping.interoperabilitybridges.com/Library?source=Android
Can't this be used?!
Click to expand...
Click to collapse
Okay im a noob and i have noooo idea what that is
drupad2drupad said:
What about this - http://wp7mapping.interoperabilitybridges.com/Library?source=Android
Can't this be used?!
Click to expand...
Click to collapse
That is just for developers who want to port their app.
jessenic said:
That is just for developers who want to port their app.
Click to expand...
Click to collapse
Exactly! So yes, Android app can come to WP, only if developers are hard working to port it.
However, I haven't done more than making ROMs for WM, Themes for Android, but I am currently porting 2 apps from Android to WP. Honestly, all porting is made so dead easy that a little bit of English and Bing at hand, and you are off to a great start! It's slow process but anyone can port if they want to.

How About Android for Desktops...

Another discussion where I posted a version of this led me to thinking that this might make for an interesting topic all on its own.
How would you envision a port of android made specifically for Desktop/Laptop environments, and do you think such an OS would be appealing to the average user?
_______________________________
As I envision it, ChromeOS should be folded into Android 4.0 and Google should build a version of the combined OS for Desktops.
The idea would be to create a common ecosystem of apps and usage environment accross multiple device categories, ad have it all interconnected through Google products and other apps running in the background.
I envision something that boots instantly right into ChromeOS while the rest of the Android system boots up in the background, thus allowing you virtually immediate cloud based functionality on the desktop. You could even choose to ONLY boot into chrome, say if you needed to look up something quickly online and didn't want to fully turn on a computer that has been turned off.
The chrome side of things would be very similar to ICS for tablets and would be deeply linked to all things google as well as relying on versions of the same Google apps that run on mobile, but optimized for ICS and taking advantage of larger screen dimensions. I envision touch interface to be retained for those who have touch sensitive screens, but also better keyboard and touchpad/mouse controls than currently exist. Lastly I would bundle a Google fork of Libre office specifically designed to have deep automatic integration with Google docs and Google+, but allowing users to have local editing control.
I would love to have such a system and have a common ecosystem between my phone, tablet and desktop/laptop, much how Apple currently does with IOs devices and MacOS and how Microsoft is planning to do with Windows 8 and WP8. unlike those ecosystems, this would run variants of the same OS, as opposed to different OSs made to work together, thus being able to take advantage of current built up knowledge and the existing android market.
Imagine if Google did the entire thing open sourced and released it to desktop and laptop OEMs.
A guy can dream right? If only there was a way to have a bunch of people pitch it to Google.
What do you guys think and how would you envision such an OS?
Android is already going to be merged with the Linux kernel in version 3.3 (with improved power management in 3.4)
nejc121 said:
Android is already going to be merged with the Linux kernel in version 3.3 (with improved power management in 3.4)
Click to expand...
Click to collapse
you sure about that? From what I've read Android is going to provide it's drivers and both Android and linux are going to provide patches to each other's kernels (with Power management being addressed in later versions of the linux kernel (3.4?). The Android kernel will remain (at least for now) a fork of the linux kernel.
Still that doesn't really address the subject of this thread.
Santeno said:
As I envision it, ChromeOS should be folded into Android 4.0 and Google should build a version of the combined OS for Desktops.
I envision something that boots instantly right into ChromeOS while the rest of the Android system boots up in the background, thus allowing you virtually immediate cloud based functionality on the desktop.
Click to expand...
Click to collapse
Yeah i too dream of Google using all the OS & games tech experience they have gained from Android to bootstrap a full desktop OS.
My personal fantasy is that the under no circumstances include any of the Chrome Cloud based nonsense. But focus quite heavily on games and multimedia, offer an OS that delivers content & gaming rather than try going head to head on productivity (where they would get owned).
Am not going to go into my objections to the cloud concept, lots of geeks my age & older well remember the mainframe model from the 70's and the cloud suffers many of the same inherent flaws IMHO.
I addition my fantasy involves ARM leveraging the experience with the multi-cores they have developed to produce an ARM desktop CPU arrays, as am a big fan or clusters and arrays, render farms etc.
I have to confess being serious i don't see either happening since both would be attempting to breaking into markets they are inexperienced in and where entrenched competitors already have a tough obstacle course laid out, plus pretty deep war chests.
But the main issue with a Google desktop OS, IMHO to succeed, i think it would have to be capable of some kind of half decent x86 emulation ........... But hey we are talking 'The Brothers Grimms Tales of Silicone Valley' here anyways.
Its possible to do so now, albeit not the same experince you get on your phone or tablet due to lack of driver support Its how i checked out 4.0 before I got it on my Asus Transformer Prime. Worth a try!
(Im new to XDA so I cannot post links, however google "android x86 download" and its the first link.)
There are ready is a port of android that works on desktops that these guys are working on over at http://www.android-x86.org/.

Android phone powered Desktop

Android devices are so powerful today, and the hardware is becoming so powerful that I don't think that the software is utilising that.
We already have much of the technology in devices of today to enable a desktop environment to be streamed from our phones.
Display output: Chromecast (wireless display), MHL (Wired display & charger), etc.
Input methods: Bluetooth Keyboard & mouse, Accelerometer (to emulate mouse input), etc.
UI: Separate Launcher for the desktop UI.
With Microsoft bringing Windows 10 later this year as one OS for both the Phone & Desktop, surely that will allow them to work better in sync with one another, but that will still require a separate desktop computer and phone to create this kind of experience.
But Google now has the chance to simply output a separate UI from the same device that can display a phone UI all at the same time.
If we look at past launches of major Android builds then this coming Google I/O would be the perfect time to announce something like this, since they say that they usually deliver one major build that focuses on UI, and then one that focuses on major feature integration.
And not only would this allow for us to take our desktop with us everywhere in our pocket and connect wirelessly to any compatible display but also it could enable people in poorer economies to buy one device which could give them better access to the internet with a portable display integrated into the device, and also they could connect to the larger displays to browse the web or work on office documents with apps such as 'Google Docs'.
This could really be useful for people who wish to use their device in the work place too.
With Android mobile now offering multiple user profiles on their phones, surely they could create one profile for work, with all of their work apps available in both their phone and desktop UI's, but also a personal profile with all of their media applications & games available when out of work.
The desktop tower may still be useful for a few years to enable support for legacy applications whilst we are waiting for those applications to be ported over to Android/Android Desktop, but that shouldn't take too long considering how quickly we are see'ing apps becoming available to Android offering the kind of services that many of us desire, and if the developers only need to create one application back end for both the Desktop mode & phone mode, then it will be much quicker to bring apps to market with a small bit of time required to make a UI which can be scaled between the phone & desktop mode well.
There are multiple projects trying to create this very experience, but if it was a major part of the Android OS then finally people will get the experience that many people are waiting for, you only have to look at the comments on the developer pages of these projects to see that many people want this kind of experience.
With 64-bit now supported in Android too there is less of a reason to hold back this kind of experience.
I agree totally. Is this the only thread on this subject? Was going to setup Chromecast for video and Bluetooth for keyboard, mouse and audio. Doing this on a Jiayu S3A which is very powerful. Would like one place to discuss what works and what doesn't. Launcher options also need to be discussed.

An app, web.android.com, like web.whatsapp.com?

Dear Members,
Imagine: An Android Black Box without any screen but only USB Power+Data and Wi-Fi ports to be connected with a Lap- /Desk- top computer and the combo used as a Superphone
I have been planning for a long time to use internet — like the thread I had posted in Unix StackExchange in
unix.stackexchange.com/questions/86380/reading-sim-data-via-file-managers-using-usb-datamodem, around September 2013.
There I had posted the links of an idea: If Mobile-> Internet access Modem, why not datacard->mobile, posted in both Knoppix and Debian forums, around March 2013.
A killer of an idea came to me while I began using web.whatsapp.com
I have been doing research on the alternatives of the Android OS available on the web. These two links are sufficient for what I am going to present:
beebom.com/android-alternative/
itsfoss.com/open-source-alternatives-android/
Won't it be easier if, rather than to build free and Open-source alternatives to Android, Android itself is enhanced for its use with a computer, keyboard and mouse, using an app like the Whatsapp Digital Optical Code scanner, to have the display and button- and touchscreen- controls transferred to our lap- / desk- top computers, like we can in Whatsapp via web.whatsapp.com?
In Linux there already are ways to remotely control a desktop via appropriate permissions with a GUI interface.
This way, Google remains happy, while we too remain free from restrictive policies.
There are many emulators already available on the Open Source Linux systems, like QEMU, VirtualBox, and so on, not to mention the proprietary VMWare.
The app needs to have two parts:
(1) A rudimentary functionality of a Transceiver/Emulator, to slip right between the Hardware and the Android OS, creating a "What You Ask Is What You Get" one to one virtual communicator, and side by side, relaying the signals to the main app.
(2) A virtualisation of the user input signals and transceiving the same with the Android OS.
The main application having all the remaining functionalities to connect the Android OS with the Lap- / Desk- top via Wi-Fi, internet and its in-built optical scanner.
Of course, the App needs to have a cloud application to store all the data of the users on the cloud securely via SSL security like Whatsapp.
The App could earn its profits from the revenue structure Google has erected to have the app paid via advertisements. Interested users like us would also be more than willing to pay for the app, I believe.
In the end, again, a device could as well be developed to combine an Android SmartPhone Black-Box (without screen) Hot-plugged with a standard lap- / desk- top and forming a seamless combination of the two into one super-unit via Free and Open Source Software.
To conclude, I seek this opportunity to inform that I am a very empowering closet-entrepreneur, but I have my own limitations because of my inability to accept certain existing structures. So rather than forming an entrepreneurship venture, I like freely to share information. FOSI instead of FOSS, I for Ideas.

Is bare metal Linux possible?

Bit of a story here.
So I have been long into car hacking, doing all sorts of canbus related modifications to my Merc W203 model.
The stock radio is utter garbage by today's standard, and Xtrons do a ton of android head units for my car. (Either with an A35 CPU and 2gb ram, or Px5 CPU with 4gb ram).
I am wondering, would it be possible to COMPLETELY remove android from it, and instead boot something like archlinux-arm on it. I want to create some custom applications on it whilst also having full control over the entire OS (Hence the want for Linux, not android).
I do kernel development as well so I am not worried at all about devices not working, I can likely hack together a kernel driver for nonworking hardware on the unit.
I am simply looking if it is possible to wipe android and see if it's possible to use it as a bare bones PC.
Any help would be appreciated, before I bite the bullet and spend £250 on one!:laugh:
You still need the GUI and stuff like that.
Besides, Android "is" Linux! Much better, imo, to base it off of Android, to keep the ecosystem that that comes with.
FransUrbo said:
You still need the GUI and stuff like that.
Besides, Android "is" Linux! Much better, imo, to base it off of Android, to keep the ecosystem that that comes with.
Click to expand...
Click to collapse
I am pretty sure by he said 'bare bones' does not mean an (Linux kernel based) operating system with only an command line terminal (i.e. something that looks like MS-DOS).
My point is that native Linux doesn't HAVE "mobile GUI". It have X11, which is *NOT* (!!) suited for such a project..
So either have to port whatever GUI Android have back to Android, or write his own. Which is a *MASSIVE* (!!) undertaking..
Also, Linux isn't quite suited for mobile applications. That's why Android was created. It took all the good from Linux and made it fit a mobile application.. Reverse engineering or back porting all that work to Linux is just dumb..
FransUrbo said:
My point is that native Linux doesn't HAVE "mobile GUI". It have X11, which is *NOT* (!!) suited for such a project..
So either have to port whatever GUI Android have back to Android, or write his own. Which is a *MASSIVE* (!!) undertaking..
Also, Linux isn't quite suited for mobile applications. That's why Android was created. It took all the good from Linux and made it fit a mobile application.. Reverse engineering or back porting all that work to Linux is just dumb..
Click to expand...
Click to collapse
Wait does the OP mean he need some thing like postmarketOS(some kind of Linux distribution with mobile GUI)?
Of course he does!! What do you think "Linux" is?!
Linux is *JUST* (!!) the kernel! NOTHING else.
The *distribution* is everything else. Boot procedure (scripts, commands, filesystem tools - technically that's "The Userland" - the install procedure, the packaging etc etc). Then you put your GUI on top of that.
On top of that you have X11. Or "The GUI". TECHNICALLY, X11 require some more stuff, the window manager too actually be useful. Without it (the window manager), X11 is just an API to the graphical functions - "draw window border", "draw a close button" etc etc. Which is what the window manager utilises.
So: kernel <- userland <- X11 <- Window manager <- Graphical apps
Then all of that is packaged up in a need CD/DVD/Image to make it easily installed and used. And we call that "The Distribution".
This is how UN*X works and that's how LINUX works. Simple, portable and very useful. But not for a phone, tablet or, in this case, a car!
That's why Android was created. It is ALL of that, in ONE package! With thousands and probably millions of apps compiled for it. Do it yourself, and you have to write EVERY (!) app you need yourself - radio apps, navigation etc etc ad-finitum..
Because NO ONE/THING (except in very rare occasion) "talks" to the kernel. They "talk" to libraries (libc, libX11 etc) to do what they need. Which is why you need "The Userland". THEY (the libraries) then "talk" to the kernel (networking, filesystem, input, output etc) giving the apps a nice API - "Application Programming Interface". A set of functions and tools for applications to use, so they don't have to recreate "the wheel" every time.
Now, I'm not going to go deeper, unless you want me to . I do understand that the un-initated don't know the difference between "Linux" the-kernel and "Linux" the-everything. But this *IS* important, believe it or not..
The kernel is absolutely useless on its own. It can't do squat! It was never MEANT to be used on its own. It was designed and built to be used *with* a distribution - "GNU" in the large majority of cases..
Although it's possible to use bare-bones Linux with either your own distribution (MASSIVE amounts of work, I know, I've tried it!) or an existing one (Debian GNU/Linux, RedHat, SuSE etc - they all provide binaries and packages for a multitude of processors), none of them have all the goodies that Google Play Store have.
And none of them are really targeted towards a mobile graphical environment.
Raspbian for example, was made for the Raspberry Pi, but that is in 99% of cases a non-graphical environment (robots and media stations mostly). Most distributions is like that.
The Play store on the other hand is *specifically* targeted towards a mobile, graphical environment. As this is. I would be foolish to try to reinvent the wheel when Android already IS Linux+userland+GUI+distribution.
Keep in mind though that Android apps on Google Play is compiled for an ARM (ARM64) architecture! Meaning, whatever hardware utilised, MUST run on/with an ARM processor..
All this limits the hardware choices substancially.
Everything "is possible". In theory. In practice though, I'd say the answer is "no". It is simply to much work to get it working. For absolutely no benefit.
With that being said... Bare Android on the other hand!! Now THAT is an idea.
Get your Android kernel source and compile it for the specific hardware you're using and then your Android distribution, set it up juuuuuuust so and you'll get what I (and probably everyone always wanted - a non-bloated piece of ... well, we've all seen them.

Categories

Resources