N.B。这个问题不匹配,因为我找不到任何可行的解决方案。
我几乎使用了每个过程来解决这个问题,但仍然面临同样的问题。
首先:multiDexEnabled true
第二次:compile 'com.android.support:multidex:1.0.1'
第三次:org.gradle.jvmargs=-XX\:MaxHeapSize\=512m -Xmx512m
(Local.properties
)
第四次:android:name="android.support.multidex.MultiDexApplication"
(在manifest.xml)
第五:Clean & Rebuild
第六次:File
< Invalidate cache & Restart
如果有人在寻找解决方案,这些可能适合您。但对我来说,没有人在工作。
我该怎么办? (我正在开发数字钱包项目)。
错误:1:
Error:Error converting bytecode to dex:
Cause: java.lang.RuntimeException: Exception parsing classes
错误2:Error:1 error; aborting
错误3:
Error:Execution failed for task ':app:transformClassesWithDexForDebug'.
> com.android.build.api.transform.TransformException: com.android.ide.common.process.ProcessException: java.util.concurrent.ExecutionException: com.android.ide.common.process.ProcessException: Return code 1 for dex process
的build.gradle:
apply plugin: 'com.android.application'
android {
compileSdkVersion 26
buildToolsVersion "25.0.3"
defaultConfig {
applicationId "com.example.intuition.paytmprogress"
minSdkVersion 19
targetSdkVersion 26
versionCode 1
versionName "1.0"
multiDexEnabled true
// testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled true
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'
})
compile 'com.android.support:appcompat-v7:26.+'
compile 'com.android.support.constraint:constraint-layout:1.0.2'
testCompile 'junit:junit:4.12'
compile 'com.android.support:multidex:1.0.1'
// PayTm
compile files('libs/PGSDK_V2.0.jar')
compile files('libs/paytm-checksum_2.0.jar')
compile files('libs/jackson-databind-2.9.1.jar')
//Freecharge
// compile 'com.android.support:support-v4:+'
// compile 'in.freecharge.checkout.android:freecharge-checkout-android-sdk:2.2@aar'
// compile 'in.juspay:godel:0.6.12.1423'
}
答案 0 :(得分:0)
不需要您的应用程序Multidex。
不要在依赖版本中使用+运算符。
试试这个新的配置:
apply plugin: 'com.android.application'
android {
compileSdkVersion 26
buildToolsVersion "25.0.3"
defaultConfig {
applicationId "com.example.intuition.paytmprogress"
minSdkVersion 19
targetSdkVersion 26
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile 'com.android.support:appcompat-v7:26.1.0'
compile 'com.android.support.constraint:constraint-layout:1.0.2'
}
从清单中删除multiDex应用程序。
2)我可以看到一些注释的依赖项。
如果您使用这些依赖项,请按照这些说明进行操作。
从中删除compile 'com.android.support:support-v4:+'
。因为support-v7库包含v4支持库。
确保您的库使用相同版本的支持库。如果您的支持库下面有一条红线,说找到了多个版本的支持库。您必须降级支持库版本才能与之匹配。
添加multidex仅超过单个Dex。
清理并重建您的项目。
答案 1 :(得分:0)
您需要使用compileSdkVersion
,buildToolsVersion
和support library
的相同版本。因此,您需要使用版本26.因此,您需要更改类似以下内容:
apply plugin: 'com.android.application'
android {
compileSdkVersion 26 // need version 26
buildToolsVersion "26.0.3" // need version 26
defaultConfig {
applicationId "com.example.intuition.paytmprogress"
minSdkVersion 19
targetSdkVersion 26
versionCode 1
versionName "1.0"
}
...
}
dependencies {
...
// Need version 26.
compile 'com.android.support:appcompat-v7:26.1.0'
compile 'com.android.support.constraint:constraint-layout:1.0.2'
testCompile 'junit:junit:4.12'
}
请勿使用 multidex ,因为您还不需要它。
- 更新 -
支持版本26.1.0
,您需要将google maven添加到root build.gradle中,如下所示:
allprojects {
repositories {
jcenter()
maven {
url "https://maven.google.com"
}
}
}
了解详情