2016-02-12 137 views
0
apply plugin: 'com.android.application' 

android { 
    compileSdkVersion 19 
    buildToolsVersion "22.0.1" 


    defaultConfig { 
     applicationId "com.myapp.new" 
     minSdkVersion 19 
     targetSdkVersion 19 
     versionCode 51 
     versionName "2.0.5" 
    } 



    buildTypes { 
     release { 
      minifyEnabled false 
      proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.org' 
     } 
    } 
} 


compileOptions { 
    sourceCompatibility JavaVersion.VERSION_1_7 
    targetCompatibsility JavaVersion.VERSION_1_7 
} 



dependencies { 
    //testCompile 'junit:junit:4.12' 

    //compile 'com.android.support:appcompat-v7:19.0.0' 

} 

################################################################################ 
Task.java 

package bolts; 

import java.util.ArrayList; 
import java.util.Collection; 
import java.util.Collections; 
import java.util.List; 
import java.util.concurrent.Callable; 
import java.util.concurrent.CancellationException; 
import java.util.concurrent.Executor; 
import java.util.concurrent.ExecutorService; 
import java.util.concurrent.ScheduledExecutorService; 
import java.util.concurrent.ScheduledFuture; 
import java.util.concurrent.TimeUnit; 
import java.util.concurrent.atomic.AtomicBoolean; 
import java.util.concurrent.atomic.AtomicInteger; 

/** 
* Represents the result of an asynchronous operation. 
* 
* @param <TResult> 
*   The type of the result of the task. 
*/ 
public class Task<TResult> { 
    /** 
    * An {@link java.util.concurrent.Executor} that executes tasks in parallel. 
    */ 
    public static final ExecutorService BACKGROUND_EXECUTOR = BoltsExecutors.background(); 

    /** 
    * An {@link java.util.concurrent.Executor} that executes tasks in the current thread unless 
    * the stack runs too deep, at which point it will delegate to {@link Task#BACKGROUND_EXECUTOR} in 
    * order to trim the stack. 
    */ 
    private static final Executor IMMEDIATE_EXECUTOR = BoltsExecutors.immediate(); 

    /** 
    * An {@link java.util.concurrent.Executor} that executes tasks on the UI thread. 
    */ 
    public static final Executor UI_THREAD_EXECUTOR = AndroidExecutors.uiThread(); 

    /** 
    * Interface for handlers invoked when a failed {@code Task} is about to be 
    * finalized, but the exception has not been consumed. 
    * 
    * <p>The handler will execute in the GC thread, so if the handler needs to do 
    * anything time consuming or complex it is a good idea to fire off a {@code Task} 
    * to handle the exception. 
    * 
    * @see #getUnobservedExceptionHandler 
    * @see #setUnobservedExceptionHandler 
    */ 
    public interface UnobservedExceptionHandler { 
    /** 
    * Method invoked when the given task has an unobserved exception. 
    * <p>Any exception thrown by this method will be ignored. 
    * @param t the task 
    * @param e the exception 
    */ 
    void unobservedException(Task<?> t, UnobservedTaskException e); 
    } 

    // null unless explicitly set 
    private static volatile UnobservedExceptionHandler unobservedExceptionHandler; 

    /** 
    * Returns the handler invoked when a task has an unobserved 
    * exception or {@code null}. 
    */ 
    public static UnobservedExceptionHandler getUnobservedExceptionHandler() { 
    return unobservedExceptionHandler; 

即使下载JDK 1.7和安装它后,我仍然有这个错误摇篮DSL方法未找到: 'compileOptions()'

错误:(27,0)未找到摇篮DSL的方法:“ compileOptions()' 可能的原因:项目'app'可能正在使用不包含该方法的Android Gradle插件版本(例如'testCompile'已在1.1.0中添加)。 fixGradleElements>修复插件版本和同步项目项目“应用程序”可能使用不包含该方法的Gradle版本。 open.wrapper.file>打开Gradle包装文件。构建文件可能缺少Gradle插件。 apply.gradle.plugin“>应用摇篮插件

+0

只有一两件事,尽管这可能不是你的问题的原因;你在'targetcompatib ** s ** ility'中有一个错字(注意多余的''') – fge

回答

2

您的问题将通过这个属性targetCompatibsility待提高,必须targetCompatibility

compileOptions { 
    sourceCompatibility JavaVersion.VERSION_1_7 
    targetCompatibility JavaVersion.VERSION_1_7 
} 

顺便说一句,你确定鸵鸟政策需要定义里面的一些依赖您build.gradle文件:

dependencies { 

     ??? 
} 
+0

所以,这样的错字_can_是找不到方法的原因?呃。我今天会学到一些东西... – fge

2

虽然你有一个错字,真正的问题是这样的:

compileOptions { 
    sourceCompatibility JavaVersion.VERSION_1_7 
    targetCompatibility JavaVersion.VERSION_1_7 
} 

应该是Android的{}闭包像这里面:

android { 
    compileSdkVersion 19 
    buildToolsVersion "22.0.1" 


    defaultConfig { 
     applicationId "com.myapp.new" 
     minSdkVersion 19 
     targetSdkVersion 19 
     versionCode 51 
     versionName "2.0.5" 
    } 

    //FIX 
    compileOptions { 
     sourceCompatibility JavaVersion.VERSION_1_7 
     targetCompatibility JavaVersion.VERSION_1_7 
    } 

    buildTypes { 
     release { 
      minifyEnabled false 
      proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.org' 
     } 
    } 
} 
+0

谢谢你的回答。它解决了这个问题 –

相关问题