android - jack 编译永远

标签 android android-gradle-plugin build.gradle android-jack-and-jill

升级我的项目以启用 Jack 和 Java8 功能后,我的 16gb macbook 似乎无法再构建我的项目。 我看到内存使用率越来越高,但进程总是卡在同一点。

我的 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

我的构建:

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 (e.g. 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 秒左右的时间内构建,可能有什么问题?? 谢谢

最佳答案

好像是 triaged acknowledged as a "Critical" bug希望“2.4”Gradle 插件能给我们带来更快的构建时间:)

这并不是说这可能会产生重大影响,但请尝试使用以下内容更新应用的 build.gradle

android {
   .
   .
   .


  defaultConfig {

    .
    .
    .
    .
    jackOptions {
            enabled true
            additionalParameters('jack.incremental': 'true')
    }
    .
    .
  }

  dexOptions {
        javaMaxHeapSize '4096m'
  }

  compileOptions {
    incremental true
    .
    .
    .
  }
}

关于android - jack 编译永远,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39886131/

相关文章:

android - layout-finger 和 layout directory 的区别

android - 如何使用 CSS/HTML5 Jquery Mobile 设置自定义背景

android - 定义应用程序中所有 Activity 要使用的常量 : android

Android Gradle - 如何在应用程序安装后运行任务

android - 将 android 插件版本(gradle 版本)更新到 3.3.0 后无法解析符号 'R'

android - 如何在 Android 上使用 GDB 运行 Dalvik 可执行文件?

android - 使用 elvis 运算符回退 gradle 中的未知属性

java - gradle 可以只包含特定的包并排除其他所有包吗

Gradle 构建 null 控制台对象

java - 升级到新的 Android Studio 后我一直遇到错误