2016-10-18 12 views
5

Mam kod aplikacji w studio Android, który chcę przekonwertować na projekt biblioteki, dzięki czemu mogę go używać jako biblioteki w innej aplikacji.
build.gradle projektu bibliotecznego jest następującyJak korzystać z jackOptions dla projektu biblioteki Android

apply plugin: 'com.android.library' 
apply plugin: 'com.google.gms.google-services' 
android { 
    compileSdkVersion 24 
buildToolsVersion "24.0.3" 
defaultConfig { 
    //applicationId "com.example" 
    minSdkVersion 16 
    targetSdkVersion 24 
    versionCode 1 
    versionName "1.0" 

    jackOptions { 
     enabled true 
    } 
    multiDexEnabled true 
} 
dexOptions { 

    javaMaxHeapSize "4g" 
} 
buildTypes { 
    release { 
     minifyEnabled false 
     proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
    } 

} 
} 

dependencies { 
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' 
}) 
testCompile 'junit:junit:4.12' 

/* support libraries*/ 
compile 'com.android.support:appcompat-v7:23.1.0' 
compile 'com.android.support:design:23.1.0' 
compile 'com.android.support:recyclerview-v7:23.1.0' 
compile 'com.android.support:support-v4:23.1.0' 
compile 'com.android.support:support-annotations:23.1.0' 

/* google play services libraries*/ 
compile 'com.google.android.gms:play-services-location:9.0.0' 

} 

używam studio android 2.2.1 i JDK 1.8,
JDK 1.8 wymaga jackOptions

mówi:
BŁĄD: Biblioteka projekty nie mogą włączyć Jacka. Jack jest włączony w domyślnej konfiguracji. Jeśli wyłączę funkcję jackOptions, to moja biblioteka nie działa z powodu jdk 1.8. Mówi, że ustawienia JackOptions są konieczne i pojawiają się następujące błędy.

app:generateDebugSources 
app:mockableAndroidJar 
app:prepareDebugUnitTestDependencies 
app:generateDebugAndroidTestSources 
myapplication:generateDebugSources 
myapplication:generateDebugAndroidTestSources 
myapplication:mockableAndroidJar 
myapplication:prepareDebugUnitTestDependencies 

Odpowiedz

0

Dzięki Olivier M. masz obejścia pracuje tu: Is there way to use Java 8 features with Android library project?.

Część import jest:

// Java8 not fully supported in library projects yet, https://code.google.com/p/android/issues/detail?id=211386 
// this is a temporary workaround to get at least lambdas compiling 
gradle.projectsEvaluated { 
    tasks.withType(JavaCompile) { 
     options.compilerArgs << "-Xbootclasspath/a:" + System.properties.get("java.home") + "/lib/rt.jar" 
    } 
} 
+0

wewnątrz modułu lub projektu. ? – jenuine

1

duplikatów wpis w ustawieniach. Wystarczy usunąć następujące linie z pliku build.gradle:

jackOptions { 
     enabled true 
} 
Powiązane problemy