从github导入个library,报错Could not find method android() for arguments

乐之者v 2016-12-12 11:01:24
我在github上找了个项目,作为library导入到project里面。。
然后一直报错:Could not find method android() for arguments
搜索后发现是app:build.gradle和library的build.gradle不对劲。。
我原来的app:build.gradle如下所示:

apply plugin: 'com.android.application'
android {
compileSdkVersion 24
buildToolsVersion "24.0.2"
defaultConfig {
applicationId "com.example.administrator.actionbartest"
minSdkVersion 18
targetSdkVersion 24
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}

dependencies {
//github添加的依赖
compile 'com.github.manuelpeinado.glassactionbar:glassactionbar:0.3.0'

compile fileTree(dir: 'libs', include: ['*.jar'])
androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
exclude group: 'com.android.support', module: 'support-annotations'
})
compile 'com.android.support:appcompat-v7:24.2.1'
testCompile 'junit:junit:4.12'
}


照网上说的,把这个app:build.gradle的android{ }及里面的东西全删了。改成


ext {
compileSdkVersion = 24
buildToolsVersion = "24.0.1"
}

还把library里面的build.project也改成了。。

android {
compileSdkVersion rootProject.ext.compileSdkVersion
buildToolsVersion rootProject.ext.buildToolsVersion
}

结果还是不行。。一直报错:Error:Cause: buildToolsVersion is not specified.

我只是想从github导入个library..折腾了大半天。。求解。
...全文
2917 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
拭心 2016-12-15
  • 打赏
  • 举报
回复
引用 9 楼 sinat_32502451 的回复:
[quote=引用 8 楼 u011240877 的回复:] [quote=引用 7 楼 sinat_32502451 的回复:] [quote=引用 6 楼 u011240877 的回复:] [quote=引用 5 楼 sinat_32502451 的回复:] [quote=引用 4 楼 u011240877 的回复:] 准确地说是 project 和 library 的 build.gradle 使用的 compileSdkVersion 和 buildToolsVersion 不一致,把 library 改成和 app 一致就行了,不用“把这个app:build.gradle的android{ }及里面的东西全删了”。
project 和 library 的 build.gradle 使用的 compileSdkVersion 和 buildToolsVersion 改成一样了。。 仍旧报错:Could not find method android() for arguments [/quote] 你直接把项目发我邮箱,我给你看看吧,不看代码不清楚究竟什么状况。方便么? sxzhang2016@163.com[/quote] 我把项目全删掉,然后去github重新下载。。再配置一遍。。然后就好了。 总之,非常感谢您的帮助~~ [/quote] OK,好了就行。发现是什么原因了吗?[/quote] 可能是我在配置文件的时候。。不小心把某些文件的代码删掉了[/quote] 好吧
乐之者v 2016-12-15
  • 打赏
  • 举报
回复
引用 8 楼 u011240877 的回复:
[quote=引用 7 楼 sinat_32502451 的回复:] [quote=引用 6 楼 u011240877 的回复:] [quote=引用 5 楼 sinat_32502451 的回复:] [quote=引用 4 楼 u011240877 的回复:] 准确地说是 project 和 library 的 build.gradle 使用的 compileSdkVersion 和 buildToolsVersion 不一致,把 library 改成和 app 一致就行了,不用“把这个app:build.gradle的android{ }及里面的东西全删了”。
project 和 library 的 build.gradle 使用的 compileSdkVersion 和 buildToolsVersion 改成一样了。。 仍旧报错:Could not find method android() for arguments [/quote] 你直接把项目发我邮箱,我给你看看吧,不看代码不清楚究竟什么状况。方便么? sxzhang2016@163.com[/quote] 我把项目全删掉,然后去github重新下载。。再配置一遍。。然后就好了。 总之,非常感谢您的帮助~~ [/quote] OK,好了就行。发现是什么原因了吗?[/quote] 可能是我在配置文件的时候。。不小心把某些文件的代码删掉了
拭心 2016-12-15
  • 打赏
  • 举报
回复
引用 7 楼 sinat_32502451 的回复:
[quote=引用 6 楼 u011240877 的回复:] [quote=引用 5 楼 sinat_32502451 的回复:] [quote=引用 4 楼 u011240877 的回复:] 准确地说是 project 和 library 的 build.gradle 使用的 compileSdkVersion 和 buildToolsVersion 不一致,把 library 改成和 app 一致就行了,不用“把这个app:build.gradle的android{ }及里面的东西全删了”。
project 和 library 的 build.gradle 使用的 compileSdkVersion 和 buildToolsVersion 改成一样了。。 仍旧报错:Could not find method android() for arguments [/quote] 你直接把项目发我邮箱,我给你看看吧,不看代码不清楚究竟什么状况。方便么? sxzhang2016@163.com[/quote] 我把项目全删掉,然后去github重新下载。。再配置一遍。。然后就好了。 总之,非常感谢您的帮助~~ [/quote] OK,好了就行。发现是什么原因了吗?
乐之者v 2016-12-15
  • 打赏
  • 举报
回复
引用 6 楼 u011240877 的回复:
[quote=引用 5 楼 sinat_32502451 的回复:] [quote=引用 4 楼 u011240877 的回复:] 准确地说是 project 和 library 的 build.gradle 使用的 compileSdkVersion 和 buildToolsVersion 不一致,把 library 改成和 app 一致就行了,不用“把这个app:build.gradle的android{ }及里面的东西全删了”。
project 和 library 的 build.gradle 使用的 compileSdkVersion 和 buildToolsVersion 改成一样了。。 仍旧报错:Could not find method android() for arguments [/quote] 你直接把项目发我邮箱,我给你看看吧,不看代码不清楚究竟什么状况。方便么? sxzhang2016@163.com[/quote] 我把项目全删掉,然后去github重新下载。。再配置一遍。。然后就好了。 总之,非常感谢您的帮助~~
怀君 2016-12-15
  • 打赏
  • 举报
回复
拭心 2016-12-14
  • 打赏
  • 举报
回复
准确地说是 project 和 library 的 build.gradle 使用的 compileSdkVersion 和 buildToolsVersion 不一致,把 library 改成和 app 一致就行了,不用“把这个app:build.gradle的android{ }及里面的东西全删了”。
拭心 2016-12-14
  • 打赏
  • 举报
回复
引用 5 楼 sinat_32502451 的回复:
[quote=引用 4 楼 u011240877 的回复:] 准确地说是 project 和 library 的 build.gradle 使用的 compileSdkVersion 和 buildToolsVersion 不一致,把 library 改成和 app 一致就行了,不用“把这个app:build.gradle的android{ }及里面的东西全删了”。
project 和 library 的 build.gradle 使用的 compileSdkVersion 和 buildToolsVersion 改成一样了。。 仍旧报错:Could not find method android() for arguments [/quote] 你直接把项目发我邮箱,我给你看看吧,不看代码不清楚究竟什么状况。方便么? sxzhang2016@163.com
乐之者v 2016-12-14
  • 打赏
  • 举报
回复
引用 4 楼 u011240877 的回复:
准确地说是 project 和 library 的 build.gradle 使用的 compileSdkVersion 和 buildToolsVersion 不一致,把 library 改成和 app 一致就行了,不用“把这个app:build.gradle的android{ }及里面的东西全删了”。
project 和 library 的 build.gradle 使用的 compileSdkVersion 和 buildToolsVersion 改成一样了。。 仍旧报错:Could not find method android() for arguments
乐之者v 2016-12-13
  • 打赏
  • 举报
回复
引用 2 楼 u011240877 的回复:
除了你 app 的 build.gradle,也把 library 的 build.gradle 代码发上来看看,要没改过的。
library的build.gradle如下:

apply plugin:'java'

android {
    compileSdkVersion 24
    buildToolsVersion '24.0'
    defaultConfig { 
        targetSdkVersion 24
    }
    sourceSets {
        main {
            manifest.srcFile 'AndroidManifest.xml'
            java.srcDirs = ['src']
            res.srcDirs = ['res']
        }
    }
    lintOptions {
        abortOnError false
    }
}
拭心 2016-12-13
  • 打赏
  • 举报
回复
除了你 app 的 build.gradle,也把 library 的 build.gradle 代码发上来看看,要没改过的。
DiQl 2016-12-12
  • 打赏
  • 举报
回复
看第一行的 apply plugin: 'com.android.application' 你首先应该把这个改成 com.android.library,之后再编译看有什么错误.

80,359

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧