杰克编译永远

升级我的项目,以启用杰克和Java8function后,我的16GB的MacBook似乎无法build立我的项目了。 我看到内存使用越来越高,但进程始终停留在同一点。

我的Gradle控制台:

Executing tasks: [:app:assembleDebug] Configuration on demand is an incubating feature. Incremental java compilation is an incubating feature. :app:preBuild UP-TO-DATE :app:preDebugBuild UP-TO-DATE :app:compileDebugNdk UP-TO-DATE :app:checkDebugManifest :app:preReleaseBuild UP-TO-DATE :app:prepareComAndroidSupportAnimatedVectorDrawable2421Library UP-TO-DATE :app:prepareComAndroidSupportAppcompatV72421Library UP-TO-DATE :app:prepareComAndroidSupportCardviewV72421Library UP-TO-DATE :app:prepareComAndroidSupportCustomtabs2340Library UP-TO-DATE :app:prepareComAndroidSupportDesign2421Library UP-TO-DATE :app:prepareComAndroidSupportRecyclerviewV72421Library UP-TO-DATE :app:prepareComAndroidSupportSupportCompat2421Library UP-TO-DATE :app:prepareComAndroidSupportSupportCoreUi2421Library UP-TO-DATE :app:prepareComAndroidSupportSupportCoreUtils2421Library UP-TO-DATE :app:prepareComAndroidSupportSupportFragment2421Library UP-TO-DATE :app:prepareComAndroidSupportSupportMediaCompat2421Library UP-TO-DATE :app:prepareComAndroidSupportSupportV42421Library UP-TO-DATE :app:prepareComAndroidSupportSupportVectorDrawable2421Library UP-TO-DATE :app:prepareComBluelinelabsConductor203Library UP-TO-DATE :app:prepareComFacebookAndroidFacebookAndroidSdk4160Library UP-TO-DATE :app:prepareComGithubJkwiecienEasyImage130Library UP-TO-DATE :app:prepareComGoogleAndroidGmsPlayServicesAuth940Library UP-TO-DATE :app:prepareComGoogleAndroidGmsPlayServicesAuthBase940Library UP-TO-DATE :app:prepareComGoogleAndroidGmsPlayServicesBase940Library UP-TO-DATE :app:prepareComGoogleAndroidGmsPlayServicesBasement940Library UP-TO-DATE :app:prepareComGoogleAndroidGmsPlayServicesTasks940Library UP-TO-DATE :app:prepareComGoogleFirebaseFirebaseAnalytics940Library UP-TO-DATE :app:prepareComGoogleFirebaseFirebaseAnalyticsImpl940Library UP-TO-DATE :app:prepareComGoogleFirebaseFirebaseAuth940Library UP-TO-DATE :app:prepareComGoogleFirebaseFirebaseAuthCommon940Library UP-TO-DATE :app:prepareComGoogleFirebaseFirebaseAuthModule940Library UP-TO-DATE :app:prepareComGoogleFirebaseFirebaseCommon940Library UP-TO-DATE :app:prepareComGoogleFirebaseFirebaseCore940Library UP-TO-DATE :app:prepareComGoogleFirebaseFirebaseIid940Library UP-TO-DATE :app:prepareComHannesdorfmannMosbyMvp201Library UP-TO-DATE :app:prepareComHannesdorfmannMosbyMvpConductor082Library UP-TO-DATE :app:prepareComHannesdorfmannMosbyViewstate201Library UP-TO-DATE :app:prepareComHannesdorfmannMosbyViewstateConductor082Library UP-TO-DATE :app:prepareComJakewhartonButterknife840Library UP-TO-DATE :app:prepareComJakewhartonRxbindingRxbinding040Library UP-TO-DATE :app:prepareComJakewhartonRxbindingRxbindingAppcompatV7040Library UP-TO-DATE :app:prepareComJakewhartonRxbindingRxbindingDesign040Library UP-TO-DATE :app:prepareComJakewhartonRxbindingRxbindingRecyclerviewV7040Library UP-TO-DATE :app:prepareComJakewhartonRxbindingRxbindingSupportV4040Library UP-TO-DATE :app:prepareComJakewhartonTimberTimber431Library UP-TO-DATE :app:prepareComKelvinappsRxfirebase0015Library UP-TO-DATE :app:prepareComSquareupLeakcanaryLeakcanaryAndroid14Library UP-TO-DATE :app:prepareIoReactivexRxandroid121Library UP-TO-DATE :app:prepareDebugDependencies :app:compileDebugAidl UP-TO-DATE :app:compileDebugRenderscript UP-TO-DATE :app:generateDebugBuildConfig UP-TO-DATE :app:generateDebugResValues UP-TO-DATE :app:processDebugGoogleServices Parsing json file: /Users/leonardo/AndroidStudioProjects/Kluster/app/google-services.json :app:generateDebugResources :app:mergeDebugResources UP-TO-DATE :app:processDebugManifest UP-TO-DATE :app:processDebugResources :app:generateDebugSources :app:unzipJacocoAgent :app:transformClassesWithPreJackPackagedLibrariesForDebug :app:transformClassesWithPreJackRuntimeLibrariesForDebug 

我的build设:

 apply plugin: 'com.android.application' android { compileSdkVersion 23 buildToolsVersion "24.0.3" dexOptions { maxProcessCount 2 javaMaxHeapSize "2g" } defaultConfig { jackOptions { enabled = true } applicationId "com.kluster" minSdkVersion 16 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' } } compileOptions { targetCompatibility 1.8 sourceCompatibility 1.8 } } dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) compile 'com.facebook.stetho:stetho:1.3.1' compile rootProject.ext.supportV4 compile rootProject.ext.supportDesign compile rootProject.ext.supportAnnotations compile rootProject.ext.supportAppCompat compile rootProject.ext.supportRecyclerView compile rootProject.ext.supportCardview compile(rootProject.ext.butterknife) { exclude group: "com.android.support" } compile rootProject.ext.conductor compile(rootProject.ext.easyImage) { exclude group: "com.android.support" } compile rootProject.ext.glide compile rootProject.ext.dagger compile rootProject.ext.rxJava compile rootProject.ext.rxAndroid compile rootProject.ext.mosby compile rootProject.ext.mosbyViewState compile rootProject.ext.mosbyConductor compile rootProject.ext.mosbyViewStateConductor compile rootProject.ext.rxBinding compile rootProject.ext.rxBindingV4 compile rootProject.ext.rxBindingV7 compile rootProject.ext.rxBindingDesign compile rootProject.ext.rxBindingRecyclerView debugCompile rootProject.ext.leakCanary compile rootProject.ext.timber compile rootProject.ext.firebaseAuth; compile rootProject.ext.googleAuth compile rootProject.ext.rxFirebase compile rootProject.ext.facebook provided rootProject.ext.butterknifeCompiler provided rootProject.ext.daggerCompiler provided rootProject.ext.javaxAnnotation 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' } apply plugin: 'com.google.gms.google-services' 

gradle.properties:

 # Project-wide Gradle settings. # IDE (eg Android Studio) users: # Gradle settings configured through the IDE *will override* # any settings specified in this file. # For more details on how to configure your build environment visit # http://www.gradle.org/docs/current/userguide/build_environment.html # Specifies the JVM arguments used for the daemon process. # The setting is particularly useful for tweaking memory settings. org.gradle.jvmargs=-Xmx2048m # When configured, Gradle will run in incubating parallel mode. # This option should only be used with decoupled projects. More details, visit # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects # org.gradle.parallel=true 

在使用Jack之前,编译器会在20秒左右的时间内生成,可能会出现什么错误? 谢谢

Solutions Collecting From Web of "杰克编译永远"

似乎这已被分类承认为“严重”的错误 ,希望“2.4”Gradle插件应该带给我们更快的编译时间:)

这并不是说这可能会产生重大差异,而是尝试使用以下内容更新应用程序的build.gradle

 android { . . . defaultConfig { . . . . jackOptions { enabled true additionalParameters('jack.incremental': 'true') } . . } dexOptions { javaMaxHeapSize '4096m' } compileOptions { incremental true . . . } } 

尝试增加Java堆大小

  dexOptions { javaMaxHeapSize "4g" } 

有了16GB的MacBook Pro,你甚至可以把它8g