Skip to main content

Get Google Glass on your Nexus (or in that case Android)


Guess we all are interested about Google Glass. Pretty interested I might say. And all the more since the Glass Explorer prototypes started making its way to the dev community. Last day while reading a idea gist about what might be some good things to implement in glass fro Wikimedia I was pointed to the Glass Viewer in Google Glass Developer portal(Playground).

And today I found a way to run Glass apps in my Nexus 4.
Thanks to Michael Evans(as he pointed that out) and Google we now have working factory images for the XE5 root.

The build process is also very detailed. 
And then we have another dump (which is very useful) from AndroidPolice

Now how would you like if these were repackaged as install-able APK's which you can try in your android?


Google Glass's build process is fairly conservative - they don't use hidden APIs often, and when they do, they use reflection. Thus, it is relatively easy to repackage the Glass APKs for other devices.

Modifications to the base APK

The use-library element in AndroidManifest is removed, as it refers to unused code.
com/google/glass/hidden/HiddenViewConfiguration.smali is patched to always return 0xffff instead of calling the nonexistent View.getDeviceTapTimeout
An instructional video (don_doff_background.mov, 8MB) is removed to save space.
All native libraries required are shipped with the APK, as are all the Glass fonts.
For the camera, instead of calling Camera.open() to get the rear facing camera, Camera.open(0) is called to get the first camera, as the Nexus 7 doesn't have a rear camera.

So without Further Ado: Install

Download the APK:
Setup: http://goo.gl/32FXv This one's been modified so that instead of scanning a barcode, it uses the existing Google Account to setup and then force closes.
Install just like any other boring APK. None of the Google Glass apps need system privileges. I do not recommend installing these APKs as system APKs, as the Glass apps will attempt to reboot the phone after a force close.

It works on both Nexus 4 and Note 2 (not tested by me).

Everything including the raw image and apk and build process for these are in github.
I'll update this post with the links very soon.

Till then Go-Glass!!





Comments

Popular posts from this blog

Curious case of Cisco AnyConnect and WSL2

One thing Covid has taught me is the importance of VPN. Also one other thing COVID has taught me while I work from home  is that your Windows Machine can be brilliant  as long as you have WSL2 configured in it. So imagine my dismay when I realized I cannot access my University resources while being inside the University provided VPN client. Both of the institutions I have affiliation with, requires me to use VPN software which messes up WSL2 configuration (which of course I realized at 1:30 AM). Don't get me wrong, I have faced this multiple times last two years (when I was stuck in India), and mostly I have been lazy and bypassed the actual problem by side-stepping with my not-so-noble  alternatives, which mostly include one of the following: Connect to a physical machine exposed to the internet and do an ssh tunnel from there (not so reliable since this is my actual box sitting at lab desk, also not secure enough) Create a poor man's socks proxy in that same box to have...

Deep Dive into the Google Agent Development Kit (ADK): Features and Code Examples

In our previous overview, we introduced the Google Agent Development Kit (ADK) as a powerful Python framework for building sophisticated AI agents. Now, let's dive deeper into some of the specific features that make ADK a compelling choice for developers looking to create agents that can reason, plan, use tools, and interact effectively with the world. 1. The Core: Configuring the `LlmAgent` The heart of most ADK applications is the LlmAgent (aliased as Agent for convenience). This agent uses a Large Language Model (LLM) for its core reasoning and decision-making. Configuring it effectively is key: name (str): A unique identifier for your agent within the application. model (str | BaseLlm): Specify the LLM to use. You can provide a model name string (like 'gemini-1.5-flash') or an instance of a model class (e.g., Gemini() ). ADK resolves string names using its registry. instruction (str | Callable): This is crucial for guiding the agent's be...

Build Smarter AI Agents Faster: Introducing the Google Agent Development Kit (ADK)

The world is buzzing about AI agents – intelligent entities that can understand goals, make plans, use tools, and interact with the world to get things done. But building truly capable agents that go beyond simple chatbots can be complex. You need to handle Large Language Model (LLM) interactions, manage conversation state, give the agent access to tools (like APIs or code execution), orchestrate complex workflows, and much more. Introducing the Google Agent Development Kit (ADK) , a comprehensive Python framework from Google designed to significantly simplify the process of building, testing, deploying, and managing sophisticated AI agents. Whether you're building a customer service assistant that interacts with your internal APIs, a research agent that can browse the web and summarize findings, or a home automation hub, ADK provides the building blocks you need. Core Concepts: What Makes ADK Tick? ADK is built around several key concepts that make agent development more s...