【发布时间】:2017-11-22 09:27:54
【问题描述】:
在阅读OneSignal 的文档并在Gradle 上实现该文档后在android 中出现此错误:
错误:任务执行失败 ':app:transformDexArchiveWithExternalLibsDexMergerForDebug'.
java.lang.RuntimeException: com.android.builder.dexing.DexArchiveMergerException: 无法合并 索引
我的Gradle 在应用文件夹中:
plugins {
id 'com.onesignal.androidsdk.onesignal-gradle-plugin' version '0.7.0'
}
apply plugin: 'com.onesignal.androidsdk.onesignal-gradle-plugin'
apply plugin: 'com.android.application'
android {
compileSdkVersion 25
buildToolsVersion "26.0.2"
defaultConfig {
applicationId "ir.kiyanis.application"
minSdkVersion 16
targetSdkVersion 25
versionCode 1
versionName "1.0"
multiDexEnabled true
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
packagingOptions {
...
}
defaultConfig {
manifestPlaceholders = [onesignal_app_id: "MY KEY IS HERE",
onesignal_google_project_number: "REMOTE"]
}
}
repositories {
jcenter()
maven { url "https://jitpack.io" }
maven { url "https://clojars.org/repo/" }
maven { url 'https://maven.google.com' }
}
dependencies {
implementation fileTree(include: ['*.jar'], dir: 'libs')
...
compile 'com.google.android.gms:play-services:11.4.2'
compile 'com.android.support:multidex:+'
...
compile 'com.onesignal:OneSignal:[3.6.5, 3.99.99]'
}
我通过OneSignal 文档设置了这个实现,我该如何解决这个问题?
我的Application 班级:
public class Application extends MultiDexApplication {
...
@Override
public void onCreate() {
super.onCreate();
OneSignal.startInit(this)
.inFocusDisplaying(OneSignal.OSInFocusDisplayOption.Notification)
.unsubscribeWhenNotificationsAreDisabled(true)
.init();
}
然后我的清单是:
<application
android:name=".Application"
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme">
...
</application>
【问题讨论】:
标签: android