Chromeos-apk – Run Android APKs on Chrome OS, OS X, Linux and Windows
github.com
github.com
From the README:
> Soundcloud - Works, crashes when playing sound
Funny definition of 'works'.
"It's done; it just has some bugs that need fixing."
To be fair, I've said this sentence myself in earnest several times.
You can say it will probably never be done, or you update your definition of "done" to "it has no bugs stopping a release". Personally I prefer the latter.
Often there are tons of TODO comments left in the code (including TODO comment this class), unit tests are non-existent, a simple smoke test will cause a null pointer exception or not even deploy, or they committed schema migration SQL scripts but did not change the entities/data objects corresponding to those tables so the - now mandatory - new columns cannot even be FILLED by the app.
Stuff like that, that isn't DONE, it's deserving a punch in the face. OTOH, it may be symptomatic of our don't-blame culture that the consulting firm in question isn't fired on the spot or the much needed punch in the face isn't delivered. Those are days I wish we had US-American at-will employment and hire/fire culture.
It's not malicious. You could argue it's negligent, but I would only agree with that assessment if the Dev in question doesn't include the "it just has some bugs that need fixing" bit and is attempting to see what he/she can squeak by QA because he/she doesn't want to work on that thing anymore.
Otherwise it just reflects the difference in focus between writing code and building a product.
That's like a winedb entry that says "game works" followed by "crashes after intro video"!
Brilliant.
Edit: Perhaps the punny nature of this is deserving of downvotes, but the statement above is the actual use case I presented to a co-developer, discussing how this project could be of use to our app, which was built with Ionic.
FWIW, there's value in it (the app, not necessarily this post) even if it means having to unplug fewer devices to swap them out with different devices to test.
Is it a matter of features, speed, or convenience? Obviously, all of those can be overcome, be it as a fork of the official emulator or as a third-party emulator. For instance, this new Chrome extension must be the same thing under the hood: a Dalvik runtime, possibly an ARM->Intel recompiler for any NDK applications, etc.
I figured the only reason this wasn't done to mass effect already was because it wasn't in demand. But if it's so desirable, surely creating an actual emulator would be superior to hacking up web browser extensions and ostensibly playing cat-and-mouse with Google over this?
I presume it's been improved since then and runs nicer on better hardware, but my first impulse is that speed is a huge concern in Android emulation. Convenience only matters if speed is solved, but then it becomes huge.
Dev system needs at lease able to run eclipse or android studio + emulator + adb at the same time.
Admittedly there are few on the market.
Just timed starting up a fresh instance, unlocking it and starting Maps.
This is starting from when I clicked launch in AVD manager on a mid-range laptop from 2011
1:25 emulator showed up
1:53 until lock screen
1:61 until maps loaded
[0] https://software.intel.com/en-us/android/articles/intel-hard...
You no longer have to emulate ARM. You can run the native x86 image, using GPU acceleration, and the thing screams. I can get multiple high resolution emulators running in parallel without issue. I'm still used to debugging every single compile on an actual device having been through years of slow emulation, but let me tell you that the environment is quite different now. Genymotion is even better, but not by much with regards to performance.
[1]: https://developer.android.com/tools/devices/emulator.html#vm...
Surely by "Intel" they mean "x86-compatible"? Many AMD cpus have the necessary VT-x, you shouldn't have any trouble here.
When they say Intel they mean Intel unfortunately.
Edit: looks like that is done by Bluestacks and Genymotion. So I guess this is just about the novelty of the hack.
I'm so sad Firefox OS is probably never going to properly take off. I use Android and like it very much, but development for it is a literal nightmare.
I agree it's somewhat unlikely to be too successful, but I definitely think they're at least aiming in the right direction.
possibly an ARM->Intel recompiler
The NDK has an x86 target, so it would make sense to just rely on developers providing those in their APK.Features - it is missing logging of any sort, so when an app crashes you don't know why. You can't use adb logcat nor presumably connect a debugger (I just use logcat most of the time anyway). e.g. an app I'm working on crashes when trying to use the "share" feature. this is probably to be expected, but without a log or anything it's tricky to know why. A game I made uses the NDK and despite having the x86 version of the library in the APK, it crashes on startup.
Speed - this is the killer feature! The emulator is useless (at least on Linux) as the native drivers cause it to hang IME, the startup time is too large, and when running an app is too slow to really judge its usage. You can use the emulator in a pinch, but better to test on devices. This means plugging them in and swapping devices (first world problems ;), which is a bit of a pain.
Convenience - the regular build-install-debug cycle is incorporated into the Android build system, whereas with this solution you have to faff about running your own scripts to execute chromeos-apk on the APK, then install by hand from the extensions screen. However you can debug right on the same PC without having to have a phone or tablet available.
So the main difference is speed and a bit of convenience. It is as fast as running the app on a real Android device, without having to have one handy. I can see why Google didn't release this for all apps yet, as there are a lot of places that it crashes out. But it's really cool that this works at all, and I'm sure it'll only get better.
On the other hand, what we have in ChromeOS (and soon Chrome) is a reproduction of the Dalvik/ART runtime. As a runtime, its only job is to allow Android apps to run.
It probably was an huge amount of work for the Chrome team (apparently, they have been working on it for quite some time but now that it is here, it means that with it installed you can run Android apps on your desktop computer.
so, it is both a matter of features, speed and convenience. I am an Android dev. In the startup I work for, we have mobile apps (Android, iOS and even Windows Phone), a website and are even working on desktop versions of our product. I don't know what this will mean for us though. Sure, we can use this new runtime to make our Android app run on the desktop but it has been thought out for mobile UX so a huge amount of work would be necessary to make it work nicely with the mouse+keyboard combo. It is very nice that we now have that option though, especially with Material Design looming in the corner.
I hope Google gets us something official sooner rather than later. It's a little disheartening that I own a Chromebook Pixel and yet I can't use Google's own hardware to design or test Android apps without installing Eclipse on a sideloaded Linux chroot via Crouton.
To boot, the Pixel's relatively decent hardware, high-res display, and touchscreen just seem like it would be ideal for testing Android apps if it could be done natively.
I doubt it will ever be as simple as I would like. But I can dream.
Why? Can you develop Android apps on your phone?
https://play.google.com/store/apps/details?id=com.aide.ui&hl...
...so what you're saying is there are limitations around what you can do with a browser.
So when do we see Crysis or HPC in HTML 5?
"Introducing the Chromebook Pixel A laptop that brings together the best in hardware, software, and design."
"HP Chromebook 11. Made with Google. Everything you need in one laptop. For $279."
"A new type of computer designed to help you get things done faster and easier."
One click from there is the features page[2]:
"Meet Chromebook A new type of computer with everything built-in. For everyone. Starting at $199."
"Gets everyday things done Your favorite apps are built-in and one click away. Find thousands more in the Chrome Web Store."
"Meet the family Chromebooks are fast, easy to use, and great for everyone in your life who could use a computer."
Laptop. Computer. Everything built in. Thousands of apps in the Chrome Web Store. "For everyone in your life who could use a computer."
Google is absolutely, positively claiming these are computers for everyone.
I work for a navigation company. We deploy navigation software on 3rd party, purpose built hardware following model analagous to Chrome OS and the "Chromebook" moniker. Even though I use our devices in my car, would you say that I'm not "eating my own dog food" because I'm not writing software on the device in my car?
What is on debian today that you can't get on or don't like about OSX? I ask this as a former Linux die hard. What am I missing back in the Linux world these days?
Also, One Note is killer isn't it? It is so much nicer than Evernote. I've loved One Note ever since the first time it shipped with Office. It's so great to see Microsoft porting their better apps to other platforms.
Freedom.
I was a heavy OneNote user in Windows and accumulated a lot of stuff in it, so after coming back to Debian, I desperately tried running it in Wine and also tried the Web version but unfortunately they didn't cut it. Currently I use CherryTree[0] and it gets the job done but it's very far away from the OneNote experience.
I heard Simplenote developers was also thinking about a native & offical Linux client. I can't wait to try it out.
The ability to use any hardware other than a Mac, presumably.
I hope Google could really carry this project as far as possible. The next several major issues would be polishing up the platform, eliminating the bugs, unifying the android and chromebook development interface. Think of one day when android developers could actually design apps for the desktop. How cool would that be?
That's when Microsoft should really get worried.
Dam but it looks full of promise i hope one day it will work well ...
[1] http://commondatastorage.googleapis.com/chromium-browser-con...