[英]Android Studio Error: org.gradle.process.internal.ExecException
[英]Android Studio org.gradle.process.internal.ExecException even using multiDexEnabled
我正在嘗試在Android上移植Apache Flink 。 這是我的build.gradle
文件:
apply plugin: 'com.android.application'
android {
compileSdkVersion 23
buildToolsVersion "23.0.2"
defaultConfig {
applicationId "hk.ust.symlab.mobiflink"
minSdkVersion 23
targetSdkVersion 23
versionCode 1
versionName "1.0"
multiDexEnabled true
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
packagingOptions {
exclude 'META-INF/maven/org.apache.flink/force-shading/pom.xml'
exclude 'META-INF/NOTICE.txt'
exclude 'META-INF/maven/org.apache.flink/force-shading/pom.properties'
exclude 'META-INF/ASL2.0'
exclude 'META-INF/maven/com.google.guava/guava/pom.xml'
exclude 'META-INF/DEPENDENCIES'
exclude 'META-INF/LICENSE'
exclude 'META-INF/maven/com.google.guava/guava/pom.properties'
exclude 'META-INF/NOTICE'
exclude 'META-INF/LICENSE.txt'
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
testCompile 'junit:junit:3.8.1'
compile 'com.android.support:appcompat-v7:23.2.1'
compile 'com.android.support:design:23.2.1'
compile 'com.android.support:multidex:1.0.1'
compile 'org.apache.flink:flink-java:1.0.0-hadoop1'
compile 'org.apache.flink:flink-clients:0.10.2-hadoop1'
}
奇怪的是,如果我不包括compile 'org.apache.flink:flink-clients:0.10.2-hadoop1'
則項目將編譯並運行而沒有錯誤,否則我將出現此錯誤:
com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command '/usr/lib/jvm/java-7-openjdk-amd64/bin/java'' finished with non-zero exit value 1
我已經讀了很多關於這個問題(這樣的問題這一個),但你可以看到我已經包含了multiDexEnabled
選項(這是必要的時候已經包含我compile 'org.apache.flink:flink-java:1.0.0-hadoop1'
)
嘗試將此添加到android部分的build.gradle中
dexOptions {
incremental = true;
preDexLibraries = false
javaMaxHeapSize "4g" // 2g should be also OK
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_7
targetCompatibility JavaVersion.VERSION_1_7
}
然后添加如下的應用程序類
public class MyApplication extends MultiDexApplication {
@Override
protected void attachBaseContext(Context base) {
super.attachBaseContext(base);
MultiDex.install(base);
}
然后在清單中提及您的應用程序類
<application
android:name=".MyApplication"
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:largeHeap="true"
android:supportsRtl="true"
android:theme="@style/AppTheme.NoActionBar">
</application>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.