在设计模拟器中安装Android Wear watchface配置测试

时间:2015-06-21 14:35:09

标签: android android-studio wear-os watch-face-api

我正在开发测试/使用我的掌上电脑伴随配置活动的一些问题。虽然我对Android开发并不陌生,但这是我的第一个表面应用程序,所以如果其中一些问题很明显,请参考相应的文档。

我有可穿戴模块和手持模块。目前,手持模块只有一个活动作为配套配置。

我有两个问题:

  1. 通过连接到通过USB连接到计算机的手持设备的磨损仿真器进行测试/调试时,如何启动配套配置活动?在磨损设备上选择表面时,没有"齿轮"图标出现(但是,我认为这是因为没有可穿戴的配置活动,只是一个配套的配置活动,但当然我可能是错的)。
  2. 在Android Wear应用程序内部的手持设备上,表盘上的三个点有一个菜单项,用于"安装设置应用程序"但是这个选项只是启动游戏商店,当然,找不到要安装的任何设置应用程序。如何在手持设备上启动设置/随播配置活动。

    1. 如何在实际设备上测试/调试这些模块?我想通过Android Studio将手持设备模块加载到我的手机设备上,并将可穿戴模块加载到连接的磨损设备上。实现这一目标的正确步骤是什么,因为我似乎无法做到这一点?
    2. 我假设我选择手持模块活动然后运行。在设备选择器中,我选择连接的手持设备,一切似乎都已完成,但设备上或物理磨损设备上的Android Wear应用程序内没有显示表盘。

      ****更新****

      当我将应用程序加载到通过蓝牙调试连接的实际可穿戴设备上时,我似乎能够正常运行配套配置

      adb forward tcp:4444 localabstract:/adb-hub
      adb connect localhost:4444
      

      还没有通过模拟器(如果可能的话)

      供参考,这里是清单文件。为了这个项目的隐私,我已经清理了一些数据,但是没有任何后果应该丢失。

      可穿戴式清单:

      <?xml version="1.0" encoding="utf-8"?>
      <manifest xmlns:android="http://schemas.android.com/apk/res/android"
          package="com.FOOBAR.android.FOOBAR" >
      
          <uses-feature android:name="android.hardware.type.watch" />
      
          <!-- Required to act as a custom watch face. -->
          <uses-permission android:name="com.google.android.permission.PROVIDE_BACKGROUND" />
          <uses-permission android:name="android.permission.WAKE_LOCK" />
      
          <application
              android:allowBackup="true"
              android:icon="@mipmap/ic_launcher"
              android:label="@string/app_name"
              android:theme="@android:style/Theme.DeviceDefault" >
              <service
                  android:name=".WatchfaceService"
                  android:label="@string/my_analog_name"
                  android:permission="android.permission.BIND_WALLPAPER" >
                  <meta-data
                      android:name="android.service.wallpaper"
                      android:resource="@xml/watch_face" />
                  <meta-data
                      android:name="com.google.android.wearable.watchface.preview"
                      android:resource="@drawable/preview_accuweather" />
                  <meta-data
                      android:name="com.google.android.wearable.watchface.preview_circular"
                      android:resource="@drawable/preview_accuweather" />
                  <meta-data
                      android:name="com.google.android.wearable.watchface.companionConfigurationAction"
                      android:value="com.FOOBAR.android.FOOBAR.watchface.CONFIG_HANDHELD" />
      
                  <intent-filter>
                      <action android:name="android.service.wallpaper.WallpaperService" />
                      <category android:name="com.google.android.wearable.watchface.category.WATCH_FACE" />
                  </intent-filter>
              </service>
      
              <meta-data
                  android:name="com.google.android.gms.version"
                  android:value="@integer/google_play_services_version" />
          </application>
      
      </manifest>
      

      掌上清单:

      <?xml version="1.0" encoding="utf-8"?>
      <manifest xmlns:android="http://schemas.android.com/apk/res/android"
          package="com.FOOBAR.android.FOOBAR" >
      
          <uses-sdk android:minSdkVersion="18"
              android:targetSdkVersion="21" />
      
          <!-- Permissions required by the wearable app -->
          <uses-permission android:name="com.google.android.permission.PROVIDE_BACKGROUND" />
          <uses-permission android:name="android.permission.WAKE_LOCK" />
      
          <!-- All intent-filters for config actions must include the categories
              com.google.android.wearable.watchface.category.COMPANION_CONFIGURATION and
              android.intent.category.DEFAULT. -->
          <application
              android:allowBackup="true"
              android:icon="@mipmap/ic_launcher"
              android:label="@string/app_name"
              android:theme="@style/AppTheme" >
              <activity
                  android:name=".HandheldConfig"
                  android:label="@string/app_name" >
                  <intent-filter>
                      <action android:name="com.FOOBAR.android.FOOBAR.watchface.CONFIG_HANDHELD" />
                      <category android:name="com.google.android.wearable.watchface.category.COMPANION_CONFIGURATION" />
                      <category android:name="android.intent.category.DEFAULT" />
                  </intent-filter>
              </activity>
      
              <!--
              <meta-data
                  android:name="com.google.android.gms.version"
                  android:value="@integer/google_play_services_version" />
                  -->
          </application>
      
      </manifest>
      

1 个答案:

答案 0 :(得分:0)

我正在开发一些Android Wear应用程序,对于您的2个问题,我希望我的回答可以帮助您:

  1. 我认为您应该检查通过USB线连接的手机是否与您的磨损模拟器配对,在我看来,这些设备不会相互配对。

  2. 我正在使用Eclipse开发Wear应用程序,所以在我的情况下,只需直接在Eclipse上运行wear应用程序,它就会将应用程序安装到Wear模拟器(Android Virtual Device)。

  3. 我想让你知道的一件事是只有手表上的表面有固件5.0及以上版本,所以确保在你创建磨损模拟器时,你应该选择设备的目标是至少5.0.1否则你将看不到你的那里有表面