2017-12-18 15 views
0

Firebase Unity SDK를 버전 4.3.0으로 업데이트하고 Android Resolver를 실행했습니다. 이제 게임은 장면이 오류와 함께로드되기 시작 후 충돌 시작할 때 :Firebase Unity SDK 4.3.0 "java.lang.AbstractMethodError"

12-18 23:08:24.200 7493 7493 D AndroidRuntime: Shutting down VM 
12-18 23:08:24.202 7493 7493 E AndroidRuntime: FATAL EXCEPTION: main 
12-18 23:08:24.202 7493 7493 E AndroidRuntime: Process: com.**.**, PID: 7493 
12-18 23:08:24.202 7493 7493 E AndroidRuntime: java.lang.Error: FATAL EXCEPTION [main] 
12-18 23:08:24.202 7493 7493 E AndroidRuntime: Unity version  : 2017.2.0p4 
12-18 23:08:24.202 7493 7493 E AndroidRuntime: Device model  : LeEco LEX720 
12-18 23:08:24.202 7493 7493 E AndroidRuntime: Device fingerprint: LeEco/ZL1_NA/le_zl1:6.0.1/WEXNAOP5802101261S/letv01261206:user/release-keys 
12-18 23:08:24.202 7493 7493 E AndroidRuntime: 
12-18 23:08:24.202 7493 7493 E AndroidRuntime: Caused by: java.lang.AbstractMethodError: abstract method "void com.google.firebase.auth.FirebaseAuth$AuthStateListener.a(com.google.firebase.auth.FirebaseAuth)" 
12-18 23:08:24.202 7493 7493 E AndroidRuntime: at com.google.firebase.auth.k.run(Unknown Source) 
12-18 23:08:24.202 7493 7493 E AndroidRuntime: at android.os.Handler.handleCallback(Handler.java:751) 
12-18 23:08:24.202 7493 7493 E AndroidRuntime: at android.os.Handler.dispatchMessage(Handler.java:95) 
12-18 23:08:24.202 7493 7493 E AndroidRuntime: at android.os.Looper.loop(Looper.java:154) 
12-18 23:08:24.202 7493 7493 E AndroidRuntime: at android.app.ActivityThread.main(ActivityThread.java:6186) 
12-18 23:08:24.202 7493 7493 E AndroidRuntime: at java.lang.reflect.Method.invoke(Native Method) 
12-18 23:08:24.202 7493 7493 E AndroidRuntime: at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:889) 
12-18 23:08:24.202 7493 7493 E AndroidRuntime: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:779) 

PS : 나는 또한 Mac에서 건물에 창에 건물에서 마이그레이션 그래서 안드로이드 SDK를 업데이트했다

Android API   27 
Build Tools  27.0.2 
Platform Tools  27.0.0 
SDK Tools   26.1.1 
Play Services   46 

임시 \의 GradleOut 폴더에 단결에 의해 생성 Gradle을 파일

// GENERATED BY UNITY. REMOVE THIS COMMENT TO PREVENT OVERWRITING WHEN EXPORTING AGAIN 
buildscript { 
    repositories { 
     jcenter() 
    } 

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

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

apply plugin: 'com.android.application' 

dependencies { 
    compile fileTree(dir: 'libs', include: ['*.jar']) 
    compile(name: 'GoogleAIDL', ext:'aar') 
    compile(name: 'GooglePlay', ext:'aar') 
    compile(name: 'animated-vector-drawable-25.3.1', ext:'aar') 
    compile(name: 'appcompat-v7-25.3.1', ext:'aar') 
    compile(name: 'cardview-v7-25.3.1', ext:'aar') 
    compile(name: 'common', ext:'aar') 
    compile(name: 'customtabs-25.3.1', ext:'aar') 
    compile(name: 'facebook-android-sdk-4.23.0', ext:'aar') 
    compile(name: 'facebook-android-wrapper-7.10.0', ext:'aar') 
    compile(name: 'firebase-analytics-11.6.0', ext:'aar') 
    compile(name: 'firebase-analytics-impl-11.6.0', ext:'aar') 
    compile(name: 'firebase-analytics-impl-license-11.6.0', ext:'aar') 
    compile(name: 'firebase-analytics-license-11.6.0', ext:'aar') 
    compile(name: 'firebase-app-unity-4.3.0', ext:'aar') 
    compile(name: 'firebase-auth-11.6.0', ext:'aar') 
    compile(name: 'firebase-auth-license-11.6.0', ext:'aar') 
    compile(name: 'firebase-auth-unity-4.3.0', ext:'aar') 
    compile(name: 'firebase-common-11.6.0', ext:'aar') 
    compile(name: 'firebase-common-license-11.6.0', ext:'aar') 
    compile(name: 'firebase-core-11.6.0', ext:'aar') 
    compile(name: 'firebase-iid-11.6.0', ext:'aar') 
    compile(name: 'firebase-iid-license-11.6.0', ext:'aar') 
    compile(name: 'play-services-ads-11.6.0', ext:'aar') 
    compile(name: 'play-services-ads-lite-11.6.0', ext:'aar') 
    compile(name: 'play-services-base-11.6.0', ext:'aar') 
    compile(name: 'play-services-base-license-11.6.0', ext:'aar') 
    compile(name: 'play-services-basement-11.6.0', ext:'aar') 
    compile(name: 'play-services-basement-license-11.6.0', ext:'aar') 
    compile(name: 'play-services-gass-11.6.0', ext:'aar') 
    compile(name: 'play-services-tasks-11.6.0', ext:'aar') 
    compile(name: 'play-services-tasks-license-11.6.0', ext:'aar') 
    compile(name: 'support-compat-25.3.1', ext:'aar') 
    compile(name: 'support-core-ui-25.3.1', ext:'aar') 
    compile(name: 'support-core-utils-25.3.1', ext:'aar') 
    compile(name: 'support-fragment-25.3.1', ext:'aar') 
    compile(name: 'support-media-compat-25.3.1', ext:'aar') 
    compile(name: 'support-v4-25.3.1', ext:'aar') 
    compile(name: 'support-vector-drawable-25.3.1', ext:'aar') 
    compile project(':Firebase') 
    compile project(':GoogleMobileAdsPlugin') 
} 

android { 
    compileSdkVersion 27 
    buildToolsVersion '27.0.2' 

    defaultConfig { 
     targetSdkVersion 27 
     applicationId 'com.**.**' 
    } 

    lintOptions { 
     abortOnError false 
    } 

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

    signingConfigs { release { 
     storeFile file('/Users/home/Desktop/Unity Projects/UP - Android/user.keystore') 
     storePassword '****' 
     keyAlias 'androiddebugkey' 
     keyPassword '****' 
    } } 

    buildTypes { 
     debug { 
      minifyEnabled true 
      useProguard true 
      proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-unity.txt','proguard-user.txt' 
      jniDebuggable true 
     } 
     release { 
      minifyEnabled true 
      useProguard true 
      proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-unity.txt','proguard-user.txt' 
      signingConfig signingConfigs.release 
     } 
    } 

} 

Proguard와 파일 :

-keep class com.facebook.** {*;} 
-keep class com.unity.purchasing.** {*;} 
-keepattributes Signature 
-dontwarn com.google.vr.ndk.base.DaydreamApi 

-keep public class com.google.android.gms.ads.**{ 
public *; 
} 

# For old ads classes 
-keep public class com.google.ads.**{ 
public *; 
} 

# For mediation 
-keepattributes *Annotation* 

# Other required classes for Google Play Services 
# Read more at http://developer.android.com/google/play-services/setup.html 
-keep class * extends java.util.ListResourceBundle { 
protected Object[][] getContents(); 
} 

-keep public class com.google.android.gms.common.internal.safeparcel.SafeParcelable { 
public static final *** NULL; 
} 

-keepnames @com.google.android.gms.common.annotation.KeepName class * 
-keepclassmembernames class * { 
@com.google.android.gms.common.annotation.KeepName *; 
} 

-keepnames class * implements android.os.Parcelable { 
public static final ** CREATOR; 
} 

-keep public class com.google.unity.**{ 
public *; 
} 

유니티 2017.2.0p4
맥 OS 높은 시에라

참고 : 나는 맥으로 마이그레이션 및 중포 기지 UnitySDK으로 업데이트하기 전에 그것은 잘 작동되었다 내가 삭제하여이 문제를 해결 할 수있었습니다 4.3.0

+0

MAC 이전에는 무엇을 사용합니까? –

+0

해결책을 찾았습니까? 4.4.0에도 불구하고 동일한 예외가 있습니다 ... DynamicLink 지원을 추가 한 후에 시작되었습니다. –

답변

0

유니티의 라이브러리 폴더의 내용, 모든 Firebase 패키지를 여러 차례 다시 가져 오기 (4.4.1로 끝났지 만 4.4.0에서 4.4.1로 업데이트하는 것은 그 자체로 트릭을하지 못했습니다) GooglePlay Resolver "강제 업데이트"를 실행합니다 (Firebase를 업데이트하기 전에이 작업을 시도해 보았습니다. 그리고 라이브러리 폴더를 지운 후 운이 없었습니다).

나는이 중 어느 것이 최종적으로 고쳐 졌는지 말할 수는 없지만, 지적한 바와 같이, 그들 중 아무도 고립되어 작업하지 않았으며, 어떤 코드 나 자산도 변경되지 않았습니다. 전적으로 파이어베이스 스너프 인 것 같습니다.

파이어 폭스 패키지가 동일하지 않은 파일을 서로 어떻게 오버라이드시키는 지 흥미 롭습니다. 분명히 1) 그것들은 독립적이지 않고 2) 당신이 가져 오는 순서가 중요합니다. 나는 그들이 하나의 올인원 자산을 만들고 그 자산으로 끝내기를 바란다.

+0

물론 4.4.1은 코코아 포드가 손상되어 iOS에서 작동하지 않습니다. Google에 감사드립니다. 내 인생을 낭비하는 것을 좋아합니다. (IOW : Android에서이 문제가 있고 iOS 지원이 필요한 경우 4.4.1로 업데이트하지 마세요.) –