Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to launch a regular Activity on Google Glass

I have been looking through the github examples for google glass and my code doesn't really look very different. With the exception of launching a regular TextView, my code should theoretically work. My Activity code is:

package com.helloglass;

import android.os.Bundle; import android.app.Activity;

public class MainActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);


    }


}

My Layout is

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin" >

    <TextView 
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Hello World"/>


</FrameLayout>

And my manifest is

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.helloglass"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk
        android:minSdkVersion="15"
        android:targetSdkVersion="15" />

    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name" >
        <activity
            android:name="com.helloglass.MainActivity"
            android:label="@string/app_name_hello"
            android:enabled="true" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
            </intent-filter>
        </activity>
    </application>

</manifest>

Now all I want to do is just see the damn view pop up, but I keep getting this error

[2013-11-29 14:04:49 - Dex Loader] Unable to execute dex: java.nio.BufferOverflowException. Check the Eclipse log for stack trace.
[2013-11-29 14:04:49 - HelloGlass] Conversion to Dalvik format failed: Unable to execute dex: java.nio.BufferOverflowException. Check the Eclipse log for stack trace.

I tested the example projects and they are working, so I doubt its my eclipse installation. I am trying to understand what I am doing wrong here because it isn't very clear in the GDK docs. There are barely any examples doing this. But my assumption is my code above will just be an immersion since the doc says that You create immersions using standard Android activities. Since there is no extra info on setting up anything special in the manifest, I fail to see what I am doing wrong. Any explanation on this would be greatly appreciated.

like image 345
Andy Avatar asked Jan 12 '23 19:01

Andy


2 Answers

This is not a Glass-specific problem, but an issue with a recent version of the Android build tools. Can you try some of the suggested fixes near the bottom of this thread and see if they fix it?

UPDATE: This seems to have been fixed in version 19.0.1 (December 2013) of the Android Build Tools. If you are experiencing this problem, upgrade using the Android SDK Manager and see if that solves it.

like image 170
Tony Allevato Avatar answered Jan 18 '23 08:01

Tony Allevato


edit: this solution ended up not giving me a usable apk

Android dex gives a BufferOverflowException when building

the answer of adding sdk.build.tools=18.1.1 to the project.properties worked for me.

like image 30
yincrash Avatar answered Jan 18 '23 09:01

yincrash