这是我的问题:
因为我每次尝试创建一个新项目时都会将Android Studio更新为.4.3,我会遇到一些构建失败,所以每个新项目都会发生这种情况,而不是我自己的代码......
我们来看看:
Android代码:
package com.appgcm;
import android.support.v7.app.ActionBarActivity;
import android.support.v7.app.ActionBar;
import android.support.v4.app.Fragment;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.os.Build;
public class MainActivity extends ActionBarActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
if (savedInstanceState == null) {
getSupportFragmentManager().beginTransaction()
.add(R.id.container, new PlaceholderFragment())
.commit();
}
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}
/**
* A placeholder fragment containing a simple view.
*/
public static class PlaceholderFragment extends Fragment {
public PlaceholderFragment() {
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.fragment_main, container, false);
return rootView;
}
}
}
的build.gradle
apply plugin: 'android'
android {
compileSdkVersion 19
buildToolsVersion "17.0.0"
defaultConfig {
minSdkVersion 7
targetSdkVersion 19
versionCode 1
versionName "1.0"
}
buildTypes {
release {
runProguard false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard rules.txt'
}
}
}
dependencies {
compile 'com.android.support:appcompat-v7:+'
compile fileTree(dir: 'libs', include: ['*.jar', '*.aar'])
}
Gradle控制台错误:
Executing tasks: [:appgcm:generateDebugSources]
Relying on packaging to define the extension of the main artifact has been deprecated and is scheduled to be removed in Gradle 2.0
:appgcm:preBuild FAILED
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':appgcm:preBuild'.
> Build Tools Revision 19.0.0+ is required.
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.
BUILD FAILED
Total time: 3.265 secs
好吧,我认为这是足够的信息来取出一些东西,我仍然不是gradle的专家,所以详细解释你的解释越好。
非常感谢!
修改
我接受了来自pyus13的建议,现在我正在收集另一种错误,这里是:
FAILURE: Build failed with an exception.
* Where:
Build file 'C:\Users\pandolet\workspace\APPGCM\appgcm\build.gradle' line: 1
* What went wrong:
A problem occurred evaluating project ':appgcm'.
> Plugin with id 'android' not found.
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.
BUILD FAILED
Total time: 0.306 secs
根级别build.gradle:
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
repositories {
mavenCentral()
}
dependencies {
'com.android.tools.build:gradle:0.8.+'
}
}
allprojects {
repositories {
mavenCentral()
}
}
答案 0 :(得分:7)
首先使用Android SDK Manager下载最新的Build Tools 19.0.0和19.0.1。
然后更改buildToolsVersion“17.0.0”以取消您的build.gradle
文件
buildToolsVersion "19.0.0"
因为在发布文档中提到Gradle 1.10和android插件0.8需要buildTools 19.0.0 +
还要确保您的根项目级别build.gradle
文件具有gradle插件0.8作为类路径
classpath 'com.android.tools.build:gradle:0.8.+'