【问题标题】:Failed to build the sample project BluetoothLeGatt with Android Stodio 0.5.4使用 Android Stodio 0.5.4 构建示例项目 BluetoothLeGatt 失败
【发布时间】:2014-04-13 05:23:20
【问题描述】:

我是 Android 新手,我即将处理 BLE 应用程序。 所以我在 Windows XP w SP3 上下载并安装了 Android Studio 0.4.6,并将其更新到 0.5.4。

然后,我去了http://developer.android.com/samples/index.html 并为我的项目下载了BluetoothLeGatt.zip (http://developer.android.com/downloads/samples/BluetoothLeGatt.zip)。

当我尝试“导入项目”以使用 BluetoothLeGatt 项目时,它失败并显示以下消息:

未能刷新 Gradle 项目“BluetoothLeGatt” 该项目正在使用不受支持的 Gradle 版本。请使用 1.10 版本。 请在项目的 Gradle 设置或项目的 Gradle 包装器(如果适用)中指向受支持的 Gradle 版本。 修复 Gradle 包装器并重新导入项目 Gradle 设置

我点击“Fix Gradle wrapper and re-import project Gradle settings”得到消息:

快速修复失败 在 build.gradle 文件中找不到任何对 Android Gradle 插件的引用。请点击链接进行文本搜索,然后手动更新构建文件。

build.gradle 文件是:

buildscript {
    repositories {
        mavenCentral()
    }

    dependencies {
        classpath 'com.android.tools.build:gradle:0.8.+'
    }
}

apply plugin: 'android'

dependencies {
    // Add the support lib that is appropriate for SDK 18
    compile "com.android.support:support-v13:19.0.+"
}

// The sample build uses multiple directories to
// keep boilerplate and common code separate from
// the main sample code.
List<String> dirs = [
    'main',     // main sample code; look here for the interesting stuff.
    'common',   // components that are reused by multiple samples
    'template'] // boilerplate code that is generated by the sample template process

android {
    compileSdkVersion 19
    buildToolsVersion "19.0.3"

    sourceSets {
        main {
            dirs.each { dir ->
                java.srcDirs "src/${dir}/java"
                res.srcDirs "src/${dir}/res"
            }
        }
        instrumentTest.setRoot('tests')
        instrumentTest.java.srcDirs = ['tests/src']
    }
}

好吧,我是 Android 新手,所以我不知道如何解决它,我不知道我应该先通过哪些文件来帮助我解决它。

非常需要帮助。

【问题讨论】:

  • 你什么时候下载的?相关文件是 BluetoothLeGatt/gradle/wrapper/gradle-wrapper.properties 但我刚刚下载了它,它指向正确的 Gradle 版本。
  • 哦,看到你的帖子我又试了。它现在指向正确的版本。但是又出现了一条错误消息:Error:com.android.support:support-v13:19.1.+(双击此处查找用法。)它在文件 build.gradle dependencies {...}

标签: android-studio android-gradle-plugin


【解决方案1】:

在 build.gradle 中将你的类路径设置为 0.9.+

classpath 'com.android.tools.build:gradle:0.9.+'

然后在 gradle/wrapper/gradle-wrapper.properties 中,您需要检查您的 distributionUrl 错误是非常错误的指向,让人相信问题仅在 build.gradle 文件。

使用 gradle:0.9.+ 您在 gradle-wrapper.properties 中的 distributionUrl 应设置为:http\://services.gradle.org/distributions/gradle-1.10-all .zip

distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists

###Correct distributionUrl###
distributionUrl=http\://services.gradle.org/distributions/gradle-1.10-all.zip

然后同步 gradle,清理并重建项目,你应该一切顺利

【讨论】:

  • 仍然无法在设备中运行:等待设备。目标设备:samsung-gt_i9500-4d0034e2564f60bb 上传文件本地路径:C:\ADT\Projects\BluetoothLeGatt\BluetoothLeGattSample\build\apk\BluetoothLeGattSample-debug-unaligned.apk 远程路径:/data/local/tmp/com.example.android .bluetoothlegatt 安装 com.example.android.bluetoothlegatt 设备外壳命令:pm install -r "/data/local/tmp/com.example.android.bluetoothlegatt" pkg: /data/local/tmp/com.example.android.bluetoothlegatt失败 [INSTALL_FAILED_OLDER_SDK]
  • 对不起,我是Android世界的新手,我应该接受答案(它会关闭这个帖子吗?)并打开另一个问题或在这里尝试更多?
  • @Quey 这是另一个问题,所以你打开一个新线程,因为我认为它们彼此没有任何关系。但你可能在这里有答案:stackoverflow.com/questions/9093709/… 尝试降低我的 gradle 文件的 API 版本(Manifest 中不需要他们写在那里,所以降低你的版本)或使用具有更高 API 兼容性的模拟器
  • 谢谢,我想我可以解决了,“Android 4.3 (API Level 18) 引入了对蓝牙低功耗的内置平台支持”,所以 samsung-gt_i9500 (API 17) 的固件需要更新.
猜你喜欢
  • 2014-05-20
  • 2012-10-19
  • 2013-08-17
  • 1970-01-01
  • 1970-01-01
  • 2013-06-03
  • 2018-10-26
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多