Olá, estou tentando adicionar o SDK do Facebook mais recente ao meu projeto, mas não obtive sucesso na compilação. Está demorando alguns dias. Corrigi alguns problemas, como o problema do Multidex. Além disso, não consigo construir um ".apk" no Unity, mesmo tendo alterado o sistema de construção para interno. Não funciona de jeito nenhum, mas a única coisa que posso fazer é exportar o arquivo do projeto Android.
Estou executando o Unity 2017.3.0f3 em um MacBook Air Sierra 10.12.6
É um aplicativo com vários plug-ins:
-FB SDK
-OpenCV
-GoogleAnalytics
No arquivo exportado do projeto Android, recebi o seguinte erro:
org.gradle.api.tasks.TaskExecutionException: Falha na execução da tarefa ': packageDebug'.
em org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions (ExecuteActionsTaskExecuter.java:100)
em org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute (ExecuteActionsTaskExecuter.java:70)
em org.gradle.api.internal.tasks.execution.OutputDirectoryCreatingTaskExecuter.execute (OutputDirectoryCreatingTaskExecuter.java:51)
em org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter.execute (SkipUpToDateTaskExecuter.java:62)
em org.gradle.api.internal.tasks.execution.ResolveTaskOutputCachingStateExecuter.execute (ResolveTaskOutputCachingStateExecuter.java:54)
em org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execute (ValidatingTaskExecuter.java:60)
em org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter.execute (SkipEmptySourceFilesTaskExecuter.java:97)
em org.gradle.api.internal.tasks.execution.CleanupStaleOutputsExecuter.execute (CleanupStaleOutputsExecuter.java:87)
em org.gradle.api.internal.tasks.execution.ResolveTaskArtifactStateTaskExecuter.execute (ResolveTaskArtifactStateTaskExecuter.java:52)
em org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute (SkipTaskWithNoActionsExecuter.java:52)
em org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute (SkipOnlyIfTaskExecuter.java:54)
em org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter.execute (ExecuteAtMostOnceTaskExecuter.java:43)
em org.gradle.api.internal.tasks.execution.CatchExceptionTaskExecuter.execute (CatchExceptionTaskExecuter.java:34)
em org.gradle.execution.taskgraph.DefaultTaskGraphExecuter $ EventFiringTaskWorker $ 1.run (DefaultTaskGraphExecuter.java:248)
em org.gradle.internal.progress.DefaultBuildOperationExecutor $ RunnableBuildOperationWorker.execute (DefaultBuildOperationExecutor.java:336)
em org.gradle.internal.progress.DefaultBuildOperationExecutor $ RunnableBuildOperationWorker.execute (DefaultBuildOperationExecutor.java:328)
em org.gradle.internal.progress.DefaultBuildOperationExecutor.execute (DefaultBuildOperationExecutor.java:199)
em org.gradle.internal.progress.DefaultBuildOperationExecutor.run (DefaultBuildOperationExecutor.java:110)
em org.gradle.execution.taskgraph.DefaultTaskGraphExecuter $ EventFiringTaskWorker.execute (DefaultTaskGraphExecuter.java:241)
em org.gradle.execution.taskgraph.DefaultTaskGraphExecuter $ EventFiringTaskWorker.execute (DefaultTaskGraphExecuter.java:230)
em org.gradle.execution.taskgraph.DefaultTaskPlanExecutor $ TaskExecutorWorker.processTask (DefaultTaskPlanExecutor.java:123)
em org.gradle.execution.taskgraph.DefaultTaskPlanExecutor $ TaskExecutorWorker.access $ 200 (DefaultTaskPlanExecutor.java:79)
em org.gradle.execution.taskgraph.DefaultTaskPlanExecutor $ TaskExecutorWorker $ 1.execute (DefaultTaskPlanExecutor.java:104)
em org.gradle.execution.taskgraph.DefaultTaskPlanExecutor $ TaskExecutorWorker $ 1.execute (DefaultTaskPlanExecutor.java:98)
em org.gradle.execution.taskgraph.DefaultTaskExecutionPlan.execute (DefaultTaskExecutionPlan.java:626)
em org.gradle.execution.taskgraph.DefaultTaskExecutionPlan.executeWithTask (DefaultTaskExecutionPlan.java:581)
em org.gradle.execution.taskgraph.DefaultTaskPlanExecutor $ TaskExecutorWorker.run (DefaultTaskPlanExecutor.java:98)
em org.gradle.internal.concurrent.ExecutorPolicy $ CatchAndRecordFailures.onExecute (ExecutorPolicy.java:63)
em org.gradle.internal.concurrent.ManagedExecutorImpl $ 1.run (ManagedExecutorImpl.java:46)
em java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1149)
em java.util.concurrent.ThreadPoolExecutor $ Worker.run (ThreadPoolExecutor.java:624)
em org.gradle.internal.concurrent.ThreadFactoryImpl $ ManagedThreadRunnable.run (ThreadFactoryImpl.java:55)
em java.lang.Thread.run (Thread.java:748)
Causado por: java.lang.OutOfMemoryError: Java heap space
em java.util.Arrays.copyOf (Arrays.java:3236)
em java.io.ByteArrayOutputStream.grow (ByteArrayOutputStream.java:118)
em java.io.ByteArrayOutputStream.ensureCapacity (ByteArrayOutputStream.java:93)
em java.io.ByteArrayOutputStream.write (ByteArrayOutputStream.java:153)
em com.google.common.io.ByteStreams.copy (ByteStreams.java:74)
em com.google.common.io.ByteStreams.toByteArray (ByteStreams.java:115)
em com.android.apkzlib.zip.StoredEntry.read (StoredEntry.java:327)
em com.android.apkzlib.sign.SignatureExtension.setDigestForEntry (SignatureExtension.java:496)
em com.android.apkzlib.sign.SignatureExtension.added (SignatureExtension.java:484)
em com.android.apkzlib.sign.SignatureExtension.access $ 100 (SignatureExtension.java:97)
em com.android.apkzlib.sign.SignatureExtension $ 1.lambda $ adicionado $ 1 (SignatureExtension.java:311)
em com.android.apkzlib.sign.SignatureExtension $ 1 $$ Lambda $ 362 / 1955733384.run (fonte desconhecida)
em com.android.apkzlib.zip.ZFile.notify (ZFile.java:2023)
em com.android.apkzlib.zip.ZFile.addToEntries (ZFile.java:1674)
em com.android.apkzlib.zip.ZFile.processAllReadyEntries (ZFile.java:1615)
em com.android.apkzlib.zip.ZFile.add (ZFile.java:1572)
em com.android.apkzlib.zip.ZFile.add (ZFile.java:1553)
em com.android.apkzlib.zfile.ApkZFileCreator.writeFile (ApkZFileCreator.java:141)
em com.android.builder.internal.packaging.IncrementalPackager.updateFiles (IncrementalPackager.java:172)
em com.android.builder.internal.packaging.IncrementalPackager.updateAssets (IncrementalPackager.java:231)
em com.android.build.gradle.tasks.PackageAndroidArtifact.doTask (PackageAndroidArtifact.java:553)
em com.android.build.gradle.tasks.PackageAndroidArtifact.doFullTaskAction (PackageAndroidArtifact.java:360)
em com.android.build.gradle.tasks.PackageApplication.doFullTaskAction (PackageApplication.java:56)
em com.android.build.gradle.internal.tasks.IncrementalTask.taskAction (IncrementalTask.java:88)
em sun.reflect.NativeMethodAccessorImpl.invoke0 (método nativo)
em sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62)
em sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
em java.lang.reflect.Method.invoke (Method.java:498)
em org.gradle.internal.reflect.JavaMethod.invoke (JavaMethod.java:73)
em org.gradle.api.internal.project.taskfactory.IncrementalTaskAction.doExecute (IncrementalTaskAction.java:46)
em org.gradle.api.internal.project.taskfactory.StandardTaskAction.execute (StandardTaskAction.java:39)
em org.gradle.api.internal.project.taskfactory.StandardTaskAction.execute (StandardTaskAction.java:26)
Meu "Build.gradle" é:
buildscript {
repositórios {
jcenter ()
}
dependencies {
classpath 'com.android.tools.build:gradle:2.3.0'
}
}
allprojects {
repositórios {
flatDir {
dirs 'libs'
}
}
}
aplique o plugin: 'com.android.application'
dependencies {
compilar fileTree (dir: 'libs', incluir: ['* .jar'])
compilar (nome: 'cameraplugin-release', ext: 'aar')
compilar (nome: 'com.android.support.animated-vector-drawable-25.3.1', ext: 'aar')
compilar (nome: 'com.android.support.appcompat-v7-25.3.1', ext: 'aar')
compilar (nome: 'com.android.support.cardview-v7-25.3.1', ext: 'aar')
compilar (nome: 'com.android.support.customtabs-25.3.1', ext: 'aar')
compilar (nome: 'com.android.support.support-compat-25.3.1', ext: 'aar')
compilar (nome: 'com.android.support.support-core-ui-25.3.1', ext: 'aar')
compilar (nome: 'com.android.support.support-core-utils-25.3.1', ext: 'aar')
compilar (nome: 'com.android.support.support-fragment-25.3.1', ext: 'aar')
compilar (nome: 'com.android.support.support-media-compat-25.3.1', ext: 'aar')
compilar (nome: 'com.android.support.support-v4-25.3.1', ext: 'aar')
compilar (nome: 'com.android.support.support-vector-drawable-25.3.1', ext: 'aar')
compilar (nome: 'facebook-android-wrapper-7.12.1', ext: 'aar')
compilar (nome: 'facebook-applinks', ext: 'aar')
compilar (nome: 'facebook-common', ext: 'aar')
compilar (nome: 'facebook-core', ext: 'aar')
compilar (nome: 'facebook-login', ramal: 'aar')
compilar (nome: 'facebook-messenger', ext: 'aar')
compilar (nome: 'locais do Facebook', ramal: 'aar')
compilar (nome: 'facebook-share', ramal: 'aar')
compile 'com.android. suporte: multidex : 1.0.1 '
}
android {
compileSdkVersion 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
}
}
}
Aumentei o tamanho máximo de heap do daemon Gradle para 4608 MB no projeto "Gradle.properties" e limpei o projeto e a compilação, mas não funcionou.
Quando eu pesquiso no Google sobre o problema de compilação do FaceBook SDK para Unity, todos parecem ter o mesmo tipo de problema.
Qualquer informação eu agradecerei.
Resolução para problemas de Dex ao adicionar plug-ins do Google Play Services 0.95 e Facebook sdk 7.13.0 ao Unity 2018.2.0f2
Etapa 1: primeiro importe o plugin GooglePlayServices0.95 deste link https://github.com/playgameservices/play-games-plugin-for-unity.
Etapa 2: Desmarque a pasta PlayServicesResolver quando a estrutura da pasta for exibida para importar.
Etapa 3: agora importe o pacote de unidade do Facebook SDK 7.13.0 de https://developers.facebook.com/docs/unity/downloads/
Passo 4: Aqui importe todas as pastas do plugin sdk do Facebook.
Etapa 5: agora selecione Assets / PlayServicesResolver / VersionHandler / Update
Etapa 6: agora selecione Assets / PlayServicesResolver / AndroidResolver / Resolve
Etapa 7: agora selecione Assets / PlayServicesResolver / AndroidResolver / Settings e desmarque Ativar resolução automática
Etapa 8: agora vá para o painel do projeto e vá para Assets / Plugins / Android / e exclua todas as pastas, exceto a pasta com este nome "com.google.games.gpgs-plugin-support-0.9.50"
Etapa 9: agora vá para o painel do projeto e vá para Assets / Plugins / Android / e exclua os seguintes arquivos
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
Agora prossiga com a construção. Deve funcionar. :)
Obrigado pela solução. Tenho que trabalhar com o Unity 2017.3.0f3 e fiz sua solução com o Unity 2017.3.0f3. Não tenho que construir o sucesso, mas já conversei com meu cliente sobre isso e desistimos.
Obrigado pelo seu tempo, senhor !!!
incapaz de resolver o problema
Nao funciona para mim :{
Comentários muito úteis
Obrigado pela solução. Tenho que trabalhar com o Unity 2017.3.0f3 e fiz sua solução com o Unity 2017.3.0f3. Não tenho que construir o sucesso, mas já conversei com meu cliente sobre isso e desistimos.
Obrigado pelo seu tempo, senhor !!!