Hallo, ich versuche, meinem Projekt das neueste Facebook-SDK hinzuzufügen, aber ich habe keinen Erfolg beim Build. Es dauert ein paar Tage. Ich habe ein paar Probleme wie das Multidex-Problem behoben. Außerdem kann ich in Unity keine ".apk" erstellen, selbst wenn ich das Build-System auf intern geändert habe. Es funktioniert überhaupt nicht, aber ich kann nur die Android Project-Datei exportieren.
Ich verwende Unity 2017.3.0f3 auf einem MacBook Air Sierra 10.12.6
Es ist eine App mit mehreren Plugins:
-FB-SDK
-OpenCV
-Google Analytics
Aus der exportierten Android-Projektdatei habe ich die folgende Fehlermeldung erhalten:
org.gradle.api.tasks.TaskExecutionException: Die Ausführung der Aufgabe ':packageDebug' ist fehlgeschlagen.
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:100)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:70)
at org.gradle.api.internal.tasks.execution.OutputDirectoryCreatingTaskExecuter.execute(OutputDirectoryCreatingTaskExecuter.java:51)
at org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter.execute(SkipUpToDateTaskExecuter.java:62)
at org.gradle.api.internal.tasks.execution.ResolveTaskOutputCachingStateExecuter.execute(ResolveTaskOutputCachingStateExecuter.java:54)
at org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.java:60)
at org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter.execute(SkipEmptySourceFilesTaskExecuter.java:97)
at org.gradle.api.internal.tasks.execution.CleanupStaleOutputsExecuter.execute(CleanupStaleOutputsExecuter.java:87)
unter org.gradle.api.internal.tasks.execution.ResolveTaskArtifactStateTaskExecuter.execute(ResolveTaskArtifactStateTaskExecuter.java:52)
at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:52)
at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:54)
at org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter.execute(ExecuteAtMostOnceTaskExecuter.java:43)
at org.gradle.api.internal.tasks.execution.CatchExceptionTaskExecuter.execute(CatchExceptionTaskExecuter.java:34)
at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker$1.run(DefaultTaskGraphExecuter.java:248)
at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:336)
at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:328)
at org.gradle.internal.progress.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:199)
bei org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:110)
at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.java:241)
at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.java:230)
at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker.processTask(DefaultTaskPlanExecutor.java:123)
at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker.access$200(DefaultTaskPlanExecutor.java:79)
at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker$1.execute(DefaultTaskPlanExecutor.java:104)
at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker$1.execute(DefaultTaskPlanExecutor.java:98)
at org.gradle.execution.taskgraph.DefaultTaskExecutionPlan.execute(DefaultTaskExecutionPlan.java:626)
at org.gradle.execution.taskgraph.DefaultTaskExecutionPlan.executeWithTask(DefaultTaskExecutionPlan.java:581)
at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker.run(DefaultTaskPlanExecutor.java:98)
at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:63)
bei org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:46)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:55)
bei java.lang.Thread.run(Thread.java:748)
Verursacht durch: java.lang.OutOfMemoryError: Java-Heapspace
at java.util.Arrays.copyOf(Arrays.java:3236)
bei java.io.ByteArrayOutputStream.grow(ByteArrayOutputStream.java:118)
at java.io.ByteArrayOutputStream.ensureCapacity(ByteArrayOutputStream.java:93)
at java.io.ByteArrayOutputStream.write(ByteArrayOutputStream.java:153)
unter com.google.common.io.ByteStreams.copy(ByteStreams.java:74)
unter com.google.common.io.ByteStreams.toByteArray(ByteStreams.java:115)
unter com.android.apkzlib.zip.StoredEntry.read(StoredEntry.java:327)
unter com.android.apkzlib.sign.SignatureExtension.setDigestForEntry(SignatureExtension.java:496)
unter com.android.apkzlib.sign.SignatureExtension.added(SignatureExtension.java:484)
unter com.android.apkzlib.sign.SignatureExtension.access$100(SignatureExtension.java:97)
unter com.android.apkzlib.sign.SignatureExtension$1.lambda$added$1(SignatureExtension.java:311)
unter com.android.apkzlib.sign.SignatureExtension$1$$Lambda$362/1955733384.run(Unbekannte Quelle)
unter com.android.apkzlib.zip.ZFile.notify(ZFile.java:2023)
unter com.android.apkzlib.zip.ZFile.addToEntries(ZFile.java:1674)
unter com.android.apkzlib.zip.ZFile.processAllReadyEntries(ZFile.java:1615)
unter com.android.apkzlib.zip.ZFile.add(ZFile.java:1572)
unter com.android.apkzlib.zip.ZFile.add(ZFile.java:1553)
unter com.android.apkzlib.zfile.ApkZFileCreator.writeFile(ApkZFileCreator.java:141)
unter com.android.builder.internal.packaging.IncrementalPackager.updateFiles(IncrementalPackager.java:172)
unter com.android.builder.internal.packaging.IncrementalPackager.updateAssets(IncrementalPackager.java:231)
unter com.android.build.gradle.tasks.PackageAndroidArtifact.doTask(PackageAndroidArtifact.java:553)
unter com.android.build.gradle.tasks.PackageAndroidArtifact.doFullTaskAction(PackageAndroidArtifact.java:360)
unter com.android.build.gradle.tasks.PackageApplication.doFullTaskAction(PackageApplication.java:56)
unter com.android.build.gradle.internal.tasks.IncrementalTask.taskAction(IncrementalTask.java:88)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Methode)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:73)
at org.gradle.api.internal.project.taskfactory.IncrementalTaskAction.doExecute(IncrementalTaskAction.java:46)
bei org.gradle.api.internal.project.taskfactory.StandardTaskAction.execute(StandardTaskAction.java:39)
bei org.gradle.api.internal.project.taskfactory.StandardTaskAction.execute(StandardTaskAction.java:26)
Mein "Build.gradle" ist:
buildscript {
Repositorys {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:2.3.0'
}
}
alleProjekte {
Repositorys {
flachDir {
dirs 'libs'
}
}
}
Plugin anwenden: 'com.android.application'
Abhängigkeiten {
compiliere fileTree(dir: 'libs', include: ['*.jar'])
compilieren(name: 'cameraplugin-release', ext:'aar')
compilieren(name: 'com.android.support.animated-vector-drawable-25.3.1', ext:'aar')
compilieren(name: 'com.android.support.appcompat-v7-25.3.1', ext:'aar')
compilieren(name: 'com.android.support.cardview-v7-25.3.1', ext:'aar')
compilieren(name: 'com.android.support.customtabs-25.3.1', ext:'aar')
compilieren(name: 'com.android.support.support-compat-25.3.1', ext:'aar')
compilieren(name: 'com.android.support.support-core-ui-25.3.1', ext:'aar')
compilieren(name: 'com.android.support.support-core-utils-25.3.1', ext:'aar')
compilieren(name: 'com.android.support.support-fragment-25.3.1', ext:'aar')
compilieren(name: 'com.android.support.support-media-compat-25.3.1', ext:'aar')
compilieren(name: 'com.android.support.support-v4-25.3.1', ext:'aar')
compilieren(name: 'com.android.support.support-vector-drawable-25.3.1', ext:'aar')
compilieren(name: 'facebook-android-wrapper-7.12.1', ext:'aar')
compilieren(name: 'facebook-applinks', ext:'aar')
compilieren(name: 'facebook-common', ext:'aar')
compilieren(name: 'facebook-core', ext:'aar')
compilieren(name: 'facebook-login', ext:'aar')
compilieren(name: 'facebook-messenger', ext:'aar')
compilieren(name: 'facebook-places', ext:'aar')
compilieren(name: 'facebook-share', ext:'aar')
kompiliere 'com.android. Unterstützung: Multidex : 1.0.1'
}
Android {
kompilierenSdkVersion 27
buildToolsVersion '27.0.3'
defaultConfig {
minSdkVersion 21
targetSdkVersion 27
applicationId 'xx.xx.xx'
multiDexEnabled true
}
dexOptions {
javaMaxHeapSize "4g"
}
lintOptions {
abortOnError false
}
aaptOptions {
noCompress '.unity3d', '.ress', '.resource', '.obb','bin/data/119e64b2680dc45e78dfe6bcfd17e4de.resource','bin/data/1915cec10840248268bcaeb9ff456118.resource','bin/data/19e69ca3d43a04c949b1168c7bcdc0e2.resource','bin/data/1b3ee61ae9a7f4b5ea153f71ef18b624.resource','bin/data/28d2b5485b9e74a69b6f11e67a881bd1.resource','bin/data/2d1a051de8c0f41de8319ccb14d7c925.resource','bin/data/70814ceeb34b34074978e5e3f254ff30.resource','bin/data/75b1e0db08b2a4f4abb29f8312fcd2e2.resource','bin/data/8dc7c709203164f968bfcd1d0797acba.resource','bin/data/cb77cc94747a542318560dd2cb944c60.resource','bin/data/cccfad642c35d45aaa00538039dbf4d3.resource','bin/data/da6a186e6c5a446c18feaf72ba32f81e.resource','bin/data/dd33f4a1556654fb2b551867c6eec659.resource','bin/data/sharedassets0.resource'
}
buildTypes {
debug {
minifyEnabled false
useProguard false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-unity.txt'
jniDebuggable true
}
release {
minifyEnabled false
useProguard false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-unity.txt'
signingConfig signingConfigs.debug
}
}
}
Ich habe die maximale Heap-Größe für den Gradle-Daemon im Projekt "Gradle.properties" auf 4608 MB erhöht und Projekt und Build bereinigt, aber es hat nicht funktioniert.
Wenn ich nach dem FaceBook SDK für Unity-Build-Problem google, scheint jeder die gleichen Probleme zu haben.
Jede Information, die ich schätzen werde.
Lösung für Dex-Probleme beim Hinzufügen von Google Play Services 0.95 und Facebook SDK 7.13.0 Plugins zu Unity 2018.2.0f2
Schritt 1: Importieren Sie zuerst das GooglePlayServices0.95-Plugin von diesem Link https://github.com/playgameservices/play-games-plugin-for-unity.
Schritt 2: Deaktivieren Sie den PlayServicesResolver-Ordner, wenn die zu importierende Ordnerstruktur angezeigt wird.
Schritt 3: Importieren Sie jetzt das Unity-Paket des Facebook SDK 7.13.0 von https://developers.facebook.com/docs/unity/downloads/
Schritt 4: Importieren Sie hier alle Ordner des Facebook-SDK-Plugins.
Schritt 5: Wählen Sie nun Assets/PlayServicesResolver/VersionHandler/Update
Schritt 6: Wählen Sie nun Assets/PlayServicesResolver/AndroidResolver/Resolve
Schritt 7: Wählen Sie nun Assets/PlayServicesResolver/AndroidResolver/Settings und deaktivieren Sie dann Enable Auto-Resolution
Schritt 8: Gehen Sie nun zum Projektfenster und gehen Sie zu Assets/Plugins/Android/ und löschen Sie alle Ordner außer Ordner mit diesem Namen "com.google.games.gpgs-plugin-support-0.9.50".
Schritt 9: Gehen Sie nun zum Projektfenster und gehen Sie zu Assets/Plugins/Android/ und löschen Sie die folgenden Dateien
com.android.support.animated-vector-drawable-25.3.1
com.android.support.customtabs-25.3.1
com.android.support.support-annotations-25.3.1
com.android.support.support-v4-25.3.1
com.android.support.support-vector-drawable-25.3.1
Fahren Sie nun mit der Erstellung des Builds fort. Es sollte funktionieren. :)
Vielen Dank für die Lösung. Ich muss mit Unity 2017.3.0f3 arbeiten, und ich habe Ihre Lösung mit Unity 2017.3.0f3 erstellt. Ich muss keinen Erfolg aufbauen, aber ich habe bereits mit meinem Kunden darüber gesprochen und wir haben aufgegeben.
Vielen Dank für Ihre Zeit, mein Herr!!!
kann das Problem nicht lösen
Funktioniert bei mir nicht :{
Hilfreichster Kommentar
Vielen Dank für die Lösung. Ich muss mit Unity 2017.3.0f3 arbeiten, und ich habe Ihre Lösung mit Unity 2017.3.0f3 erstellt. Ich muss keinen Erfolg aufbauen, aber ich habe bereits mit meinem Kunden darüber gesprochen und wir haben aufgegeben.
Vielen Dank für Ihre Zeit, mein Herr!!!