Ошибка Unity Game после добавления новых плагинов

Я пытаюсь внедрить плагин GameAnalytics в свою игру. Кроме того, я использую плагин AdInCube, который работает нормально, но теперь я получаю сообщение об ошибке каждый раз во время сборки. Я получил точно такую ​​же ошибку, когда пытался реализовать плагин Google Play Services. Проблемы возникают сразу после импорта нового пакета без каких-либо изменений в коде. Я пытался использовать AndroidManifests из обоих плагинов, но все равно получил эту ошибку.

Ошибка:

CommandInvokationFailure: Gradle build failed. 
C:/Program Files/Java/jdk1.8.0_191\bin\java.exe -classpath "C:\Program Files\Unity\Editor\Data\PlaybackEngines\AndroidPlayer\Tools\gradle\lib\gradle-launcher-4.2.1.jar" org.gradle.launcher.GradleMain "-Dorg.gradle.jvmargs=-Xmx2048m" "assembleRelease"

stderr[

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':transformClassesWithJarMergingForRelease'.
> com.android.build.api.transform.TransformException: java.util.zip.ZipException: duplicate entry: com/google/android/gms/auth/api/signin/GoogleSignInAccount.class

Я обнаружил, что Unity создает две одинаковые папки во время сборки и поэтому не знает, какую из них использовать. Я не могу просто удалить одну из них, потому что она сразу будет создана заново. Я понятия не имею, какие файлы вам нужны, чтобы помочь мне, так что пока добавлю это.

MainTemplate.gradle из AdInCube:

buildscript {
    repositories {
        google()
     maven {
            url 'https://maven.google.com/'
            name 'Google'
        }
        jcenter()

    }

    dependencies {
        classpath 'com.android.tools.build:gradle:3.0.1'
    }
}

allprojects {
    repositories {
        flatDir {
            dirs 'libs'
        }
    }
}

apply plugin: 'com.android.application'

repositories {

    maven {
        url 'https://maven.google.com'
    }
    maven {
        url 'http://repository.adincube.com/maven'
    }
    jcenter()
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile('com.adincube.sdk:AdinCube-Unity-3626ebe:2.3.1@aar') {
        transitive = true
    }
    compile 'com.android.support:multidex:1.0.1'
    **DEPS**
}

android {
    compileSdkVersion **APIVERSION**
    buildToolsVersion '**BUILDTOOLS**'

    defaultConfig {
        targetSdkVersion '28'
       minSdkVersion 14     
        multiDexEnabled true

    }

    lintOptions {
        abortOnError false
    }

    aaptOptions {
        noCompress '.unity3d', '.ress', '.resource', '.obb'
    }

**SIGN**
    buildTypes {
        debug {
            minifyEnabled **MINIFY_DEBUG**
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-unity.txt'**USER_PROGUARD**
            jniDebuggable true
        }
        release {
            minifyEnabled **MINIFY_RELEASE**
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-unity.txt'**USER_PROGUARD**
            **SIGNCONFIG**
        }
    }
    packagingOptions {
        exclude 'lib/armeabi/libadcolony.so'
        exclude 'lib/armeabi/libjs.so'
        exclude 'lib/arm64-v8a/libadcolony.so'
        exclude 'lib/arm64-v8a/libjs.so'
        exclude 'lib/x86_64/libadcolony.so'
        exclude 'lib/x86_64/libjs.so'
    }
}
dependencies {
  compile ('com.adincube.sdk:AdinCube-Unity-3626ebe:2.+@aar') {
    transitive = true
  }
  compile 'com.android.support:multidex:1.0.1'
}
repositories {

  maven {
    url 'https://maven.google.com'
  }
  maven {
    url 'http://repository.adincube.com/maven'
  }
jcenter()
}
android {
  defaultConfig {
    multiDexEnabled true
  }
}
android {
  packagingOptions {
    exclude 'lib/armeabi/libadcolony.so'
    exclude 'lib/armeabi/libjs.so'
    exclude 'lib/arm64-v8a/libadcolony.so'
    exclude 'lib/arm64-v8a/libjs.so'
    exclude 'lib/x86_64/libadcolony.so'
    exclude 'lib/x86_64/libjs.so'
  }
}

AndroidManifest от AdInCube:

<?xml version = "1.0" encoding = "utf-8"?>
<manifest xmlns:android = "http://schemas.android.com/apk/res/android"
    package = "games.****.block"
    android:installLocation = "preferExternal"
    android:versionCode = "2"
    android:versionName = "1.1.1">
    <uses-permission android:name = "com.android.vending.BILLING" />
    <supports-screens
        android:anyDensity = "true"
        android:largeScreens = "true"
        android:normalScreens = "true"
        android:smallScreens = "true"
        android:xlargeScreens = "true" />
    <application
        android:name = "android.support.multidex.MultiDexApplication" 
        android:icon = "@drawable/app_icon"
        android:label = "@string/app_name"
        android:theme = "@style/UnityThemeSelector">
        <activity
            android:name = "com.unity3d.player.UnityPlayerActivity"
            android:label = "@string/app_name">
            <intent-filter>
                <action android:name = "android.intent.action.MAIN" />
                <category android:name = "android.intent.category.LAUNCHER" />
            </intent-filter>
            <meta-data
                android:name = "unityplayer.UnityActivity"
                android:value = "true" />
        </activity>
    </application>
</manifest>

Можете ли вы также разместить содержимое всех файлов link.xml в своих плагинах? Если вы уверены, что конкретный плагин привел к ошибке сборки, просто опубликуйте содержимое его файла link.xml.

Angelos Kyriakopoulos 13.11.2018 13:11

У меня есть только один файл link.xml в папке с ресурсами. <?xml version = "1.0"?> -<linker> -<assembly fullname = "UnityEngine.Purchasing"> <type fullname = "UnityEngine.Purchasing.Extension.IPurchasingBinder‌​" preserve = "all"/> </assembly> -<assembly fullname = "Stores"> <type fullname = "UnityEngine.Purchasing.CloudCatalogImpl" preserve = "all"/> <type fullname = "UnityEngine.Purchasing.Promo" preserve = "all"/> </assembly> -<assembly fullname = "mscorlib"> <type fullname = "System.Security.Cryptography.*" preserve = "all"/> </assembly> </linker>

TheWorstCoder 13.11.2018 13:22

попробуйте следующее: <linker> <assembly fullname = "UnityEngine.Purchasing"> <type fullname = "UnityEngine.Purchasing.Extension.IPurchasingBinder‌" preserve = "all" /> </assembly> <assembly fullname = "Stores"> < type fullname = "UnityEngine.Purchasing.CloudCatalogImpl" preserve = "all" /> <type fullname = "UnityEngine.Purchasing.Promo" preserve = "all" /> </assembly> <assembly fullname = "mscorlib"> <type fullname = "System.Security.Cryptography. *" Preserve = "all" /> <type fullname = "System.Type" preserve = "all" /> <namespace fullname = "System.Reflection" preserve = "all" /> < / assembly> </assembly> </linker>

Angelos Kyriakopoulos 13.11.2018 14:31

Получил ту же ошибку: / Я что-то читал о добавлении компиляции с помощью exclude в mainTemplate, но понятия не имею, как узнать что.

TheWorstCoder 13.11.2018 16:06

В любом случае, это было рискованно. Попробуйте удалить файл, и пусть Unity восстановит его за вас. Попробуйте удалить и прочитать плагины во время процесса, пока не найдете причину, по которой это происходит. Имейте в виду, что встроенные файлы link.xml могут быть найдены в каталоге каждого плагина. Когда у меня была аналогичная ошибка, это было связано с тем, что все библиотеки DLL различных платформ FacebookSDK упоминались в linx.xml, а не только на android. Удачи!

Angelos Kyriakopoulos 14.11.2018 08:13

Попытаюсь. Спасибо! :)

TheWorstCoder 14.11.2018 15:24
1
6
493
0

Другие вопросы по теме