2014-01-06 3 views
4

Я начинаю разрабатывать приложение Google Glass с помощью GDK.Как запустить образец Google GDK для Google Glass на устройстве?

Я использую Eclipse с Android SDK Manager для установки GDK.

После этого я импортировать проект Google Glass следующие шаги упоминалось here:

  1. Click File> New Project> Android Sample Project
  2. Выберите Glass Development Kit в качестве цели сборки и Нажмите "Далее.
  3. Выберите Таймер образец и нажмите Отделка.
  4. В обозревателе пакетов Eclipse щелкните правой кнопкой мыши образец и выберите Запустите как> Приложение Android со стеклом, подключенным к вашей системе разработки.

Стекло Google (версия XE12) подключено, но ничего не появляется. Тогда я следую за другим tutorial в Интернете, чтобы запустить приложение вручную с помощью команды: adb

./adb shell am start -n com.google.android.glass.sample.timer/.MenuActivity 

Но результат разрешения Отказ:

$ ./adb shell am start -n com.google.android.glass.sample.timer/.MenuActivity 
Starting: Intent { cmp=com.google.android.glass.sample.timer/.MenuActivity } 
java.lang.SecurityException: Permission Denial: starting Intent { flg=0x10000000 cmp=com.google.android.glass.sample.timer/.MenuActivity } from null (pid=2938, uid=2000) not exported from uid 10032 
    at android.os.Parcel.readException(Parcel.java:1327) 
    at android.os.Parcel.readException(Parcel.java:1281) 
    at android.app.ActivityManagerProxy.startActivity(ActivityManagerNative.java:1631) 
    at com.android.commands.am.Am.runStart(Am.java:441) 
    at com.android.commands.am.Am.run(Am.java:108) 
    at com.android.commands.am.Am.main(Am.java:81) 
    at com.android.internal.os.RuntimeInit.finishInit(Native Method) 
    at com.android.internal.os.RuntimeInit.main(RuntimeInit.java:238) 
    at dalvik.system.NativeStart.main(Native Method) 

Как решить эту проблему?

С другой стороны, я сделал приложение, подобное примеру Android, используя Eclipse. После того, как я нажимаю Запуск> Приложения для Android в строке меню Eclipse, консоль сказал:

[2014-01-06 18:55:10 - Glass001] Android Launch! 
[2014-01-06 18:55:10 - Glass001] adb is running normally. 
[2014-01-06 18:55:10 - Glass001] No Launcher activity found! 
[2014-01-06 18:55:10 - Glass001] The launch will only sync the application package on the device! 
[2014-01-06 18:55:10 - Glass001] Performing sync 
[2014-01-06 18:55:10 - Glass001] Automatic Target Mode: Unable to detect device compatibility. Please select a target device. 
[2014-01-06 18:55:17 - Glass001] Uploading Glass001.apk onto device '015DBXXXXXX701C' 
[2014-01-06 18:55:17 - Glass001] Installing Glass001.apk... 
[2014-01-06 18:55:20 - Glass001] Success! 
[2014-01-06 18:55:20 - Glass001] /Glass001/bin/Glass001.apk installed on device 
[2014-01-06 18:55:20 - Glass001] Done! 
[2014-01-06 18:56:48 - Glass001] ------------------------------ 

ли это связано с сообщением об ошибке «Нет Launcher активность найден!» ? Ссылаясь на эту ошибку, я нашел answer в переполнении стека. Где я должен поместить строки следующим образом: AndroidManifest.xml?

<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="com.google.android.glass.sample.timer" 
    android:versionCode="2" 
    android:versionName="1.0" > 

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

    <application 
     android:allowBackup="true" 
     android:icon="@drawable/ic_timer" 
     android:label="@string/app_name" > 

     <activity 
      android:name="com.google.android.glass.sample.timer.MenuActivity" 
      android:label="@string/app_name" 
      android:theme="@style/MenuTheme" 
      android:enabled="true" > 
     </activity> 

     <activity 
      android:name="com.google.android.glass.sample.timer.SetTimerActivity" 
      android:label="@string/app_name" 
      android:enabled="true" > 
     </activity> 

     <activity 
      android:name="com.google.android.glass.sample.timer.SelectValueActivity" 
      android:label="@string/app_name" 
      android:enabled="true" > 
     </activity> 

     <service 
      android:name="com.google.android.glass.sample.timer.TimerService" 
      android:icon="@drawable/ic_timer" 
      android:label="@string/app_name" 
      android:enabled="true" 
      android:exported="true"> 
      <intent-filter> 
       <action android:name="com.google.android.glass.action.VOICE_TRIGGER" /> 
      </intent-filter> 
      <meta-data 
       android:name="com.google.android.glass.VoiceTrigger" 
       android:resource="@xml/voice_trigger_start" /> 
     </service> 

    </application> 

</manifest> 

Debug режим Google Glass включен (Да, я могу видеть устройство в Eclipse)

ответ

4

Вы должны настроить конфигурацию отладки, которая будет работать для этого. Первоначально это приложение не запускается без взаимодействия с пользователем. Если вы перейдете в раскрывающийся список отладки и скажете «configure», вы можете автоматически запустить свою деятельность по вашему выбору. Таким образом, на вершине выбирайте проект, когда он спрашивает, что делать, скажем, активность автоматического запуска с раскрывающимся рядом с ним. Используйте раскрывающийся список, чтобы выбрать действие, которое вы хотите автоматически запустить. Затем попробуйте отладить приложение, и оно должно автоматически запускаться и запускаться на вашем стекле.

+0

* Отладка выпадающего списка и скажем, что вы можете настроить автоматическое начало деятельности по вашему выбору * где это? в меню «Стекло»/в Eclipse? Я новичок в Google Glass. – Raptor

+0

Этот параметр находится в затмении. Он должен быть наверху рядом с кнопкой ошибки, у вас будет раскрывающийся список, а один из параметров - отладка конфигурации или изменение конфигурации. – w9jds

+0

Также, если вы хотите жестко закодировать действие для запуска, я бы просто добавил линии намерения в службу, потому что это то, что обычно запускается, когда вы выполняете голосовую команду с экрана команды «ok glass». поэтому вы видите фильтр намерений в сервисе. – w9jds

Смежные вопросы