Android 要在XE16上编译Google Glass应用程序,我的CompileSDK版本应该是什么?

Android 要在XE16上编译Google Glass应用程序,我的CompileSDK版本应该是什么?,android,google-glass,google-gdk,Android,Google Glass,Google Gdk,我收到的错误与我的应用程序在早期版本上编译的问题有关。在Android Studio中,我在build.gradle中使用了“compileSdkVersion”Google Inc.:Glass Development Kit Skeek Peek:15“,但在尝试向我的设备发送应用程序后,我得到了: 4277-4277/com.myapp.app E/AndroidRuntime﹕ FATAL EXCEPTION: main Process: com.myapp.app, PID:

我收到的错误与我的应用程序在早期版本上编译的问题有关。在Android Studio中,我在build.gradle中使用了“compileSdkVersion”Google Inc.:Glass Development Kit Skeek Peek:15“,但在尝试向我的设备发送应用程序后,我得到了:

    4277-4277/com.myapp.app E/AndroidRuntime﹕ FATAL EXCEPTION: main
Process: com.myapp.app, PID: 4277
java.lang.NoClassDefFoundError: com.google.android.glass.timeline.TimelineManager

编译dkversion“谷歌公司:Glass开发工具包预览版:19”

我当时也在使用Android Studio,很幸运在XE16上编译了一个以前功能齐全的Glass应用程序。我把
build.gradle
改成了这里的答案,但运气不好。Android Studio表现得好像没有看到SDK更新

[编辑:Android Studio刚刚更新到0.5.5,解决了此问题]

最后,我转而使用运行在Eclipse上的Android开发工具(ADT)捆绑包,一切进展顺利

旁注:如果您使用语音命令,请不要忘记将其添加到清单文件:


如果您的语音命令不在预先批准的单词列表中,您必须将此开发权限添加到您的应用程序中。有关更多详细信息,请参见此处:

正如所说,
TimelineManager
已被删除。将
编译器DKversion
更改为后,您需要修改代码,以便使用Android SDK管理器更新Glass开发工具包预览。在Android平台4.4.2下,您可以选择它


尝试运行这个新版本的示例,并将其与您的代码进行比较

为了让Gradle开心,您需要升级一些东西,然后修改应用程序模块中的
build.Gradle
文件

  • 将Android Studio升级至0.5.5。您可以使用内置的“检查更新”功能或
  • 打开Android SDK管理器并安装最新版本的GDK。它将位于新文件夹4.4.2下,标题为“玻璃显影工具包预览”
  • 打开现有的GDK项目,编辑应用程序模块中的内部
    build.gradle
    文件。对于导入的项目,这将是
    /app/build.gradle
  • compileSdkVersion
    更改为
    19
    。它将生成一个类似以下内容的文件:

    apply plugin: 'android'
    
    android {
        compileSdkVersion 19
        buildToolsVersion "19.0.3"
    
        defaultConfig {
            minSdkVersion 19
            targetSdkVersion 19
        }
    ...
    }
    

  • 我试图在IntelliJ IDEA中实现这一点,最终我做的是进入项目结构(+)并将SDK下的构建目标更改为玻璃显影工具包预览(4.4.2)

    注意:确保build.gradle仍具有正确的
    compileSdkVersion
    值:

    "Google Inc.:Glass Development Kit Preview:19"
    

    将Android Studio升级至0.5.5,并将字符串设置为“Google Inc:Glass Development Kit Preview:19”


    即使gradle使用了正确的版本,IDE也没有选择正确的JDK。谷歌今天早些时候推送了一个更新。

    不幸的是,我的gradle仍在抱怨:错误:模块“应用”:平台“谷歌公司:玻璃开发工具包预览:19”未找到。此处相同,编译版本“谷歌公司:玻璃开发工具包预览:19”找不到。我看到错误-
    无法确定任务的依赖项:onebusaway android:packageDebug'>未能找到目标Google Inc.:Glass Development Kit Skeek Peek:19
    。我在Android SDK中安装了API 19的GDK预览版@kurtisnelson您是否也将新的gdk.jar作为依赖项添加到
    libs
    文件夹中?啊,对不起,我错过了名称从“潜行峰值”到“预览”的更改。这是我现在的工作,与
    编译dkversion“谷歌公司:玻璃开发工具包预览:19”
    ,将
    \addons\addon-google\u gdk-google-19\libs中的新
    gdk.jar
    包含在
    \addons\addon-google\u gdk-google-19\libs
    中,不要忘记将
    中的新
    gdk.jar
    复制到
    libs
    目录中。然后,从命令行尝试
    gradlew installDebug
    。看起来Android Studio刚刚更新到0.5.5,这使它能够识别新的SDK版本(“Google Inc:Glass Development Kit Preview:19”)。同意,看起来构建现在在Android Studio 0.5.5中成功了,而没有将
    gdk.jar
    添加到
    libs
    文件夹中。这正是我昨晚所做的。这篇文章写得很好,对任何未来的玻璃制作都很有帮助,因为我还必须为第二对未能更新的玻璃创建一个单独的项目。谢谢。明天我会有更好的补充。不幸的是,当前的答案将gdk.jar中的存根方法加载到apk中,然后apk信任类加载器来查找设备上的实际实现。它是有效的,但它是危险和脆弱的。换句话说,如果它在运行时出现异常,对不起!:D在更新到0.5.5版本后,编译版本“谷歌公司:玻璃开发工具包预览:19”可以正常工作!我能够从我的lib文件中删除jar,并且只需要将它添加到gradle中就可以进行编译。珍妮,这是奇怪的行为。我不知道那是在幕后发生的。非常有趣!我也更新了,这确实解决了它。我正在更新我的答案以反映这一点。