nhn / gpm.unity

A brand of NHN providing free services required for game development.
https://gameplatform.nhncloud.com/en/
Other
337 stars 44 forks source link

기존 라이브러리와 빌드 시 충돌 발생 #103

Closed jsolra closed 3 years ago

jsolra commented 3 years ago

Service

Version

2.0.2

내용

안녕하세요 빈 프로젝트에서 GPM 설치하고, 웹뷰 적용 시키고 빌드했을때는 문제 없이 잘 되는데요, 현재 작업 중인 프로젝트에서 GPM 설치 후(GPM만 설치 시 빌드 문제없음) 웹뷰 서비스 설치 했을 때 아래와 같은 오류 메시지가 나옵니다. (implementation 'org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.3.72' 추가 여부 상관 없이 동일한 오류 발생)

android.enableR8 옵션 주석 처리 하고 빌드 해도 gson 관련 문제가 계속 나타나는데 해결 방법이 있을까요?

오류메시지 및 mainTemplate.gradle 함께 올립니다.

mainTemplate.gradle

apply plugin: 'com.android.library'
**APPLY_PLUGINS**

dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])

implementation 'org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.3.72'

implementation 'com.squareup.retrofit2:retrofit:2.6.2'
implementation 'com.google.code.gson:gson:2.8.6'
implementation 'com.squareup.okhttp3:logging-interceptor:3.12.5'

implementation "com.google.android.gms:play-services-auth:18.1.0" 
implementation ('androidx.core:core-ktx:1.3.1')
implementation ('androidx.appcompat:appcompat:1.2.0')
implementation ("com.kakao.sdk:v2-user:2.0.2"){
  exclude group: 'com.google.code.gson'
  exclude group: 'com.squareup.retrofit2'
  exclude group: 'com.squareup.okhttp3'
 }
implementation ("com.naver.nid:naveridlogin-android-sdk:4.2.6")
implementation 'com.android.support:appcompat-v7:25.3.1'
implementation 'com.android.support:cardview-v7:25.3.
implementation 'com.android.support:customtabs:25.3.
implementation 'com.android.support:support-v4:25.3.1' 
implementation 'com.facebook.android:facebook-applinks:[7.1.0, 8)' 
implementation 'com.facebook.android:facebook-core:[7.1.0, 8)' 
implementation 'com.facebook.android:facebook-gamingservices:[7.1.0, 8)' 
implementation 'com.facebook.android:facebook-login:[7.1.0, 8)' 
implementation 'com.facebook.android:facebook-share:[7.1.0, 8)' 
implementation 'com.google.android.gms:play-services-auth:16+' 
implementation 'com.google.android.gms:play-services-base:17.5.0' 
implementation 'com.google.firebase:firebase-analytics:18.0.0' 
implementation 'com.google.firebase:firebase-analytics-unity:7.0.2' 
implementation 'com.google.firebase:firebase-app-unity:7.0.2' 
implementation 'com.google.firebase:firebase-auth:20.0.0' 
implementation 'com.google.firebase:firebase-auth-unity:7.0.2' 
implementation 'com.google.firebase:firebase-common:19.3.1' 
implementation 'com.google.firebase:firebase-dynamic-links:19.1.1' 
implementation 'com.google.firebase:firebase-dynamic-links-unity:7.0.2' 
implementation 'com.google.firebase:firebase-messaging:21.0.0' 
implementation 'com.google.firebase:firebase-messaging-unity:7.0.2' 
implementation 'com.google.signin:google-signin-support:1.0.4' 
implementation 'com.parse.bolts:bolts-android:1.4.0'
// Android Resolver Exclusions Start
android {
  packagingOptions {
      exclude ('/lib/armeabi/*' + '*')
      exclude ('/lib/mips/*' + '*')
      exclude ('/lib/mips64/*' + '*')
      exclude ('/lib/x86/*' + '*')
      exclude ('/lib/x86_64/*' + '*')
  }
}
// Android Resolver Exclusions End
android {
    compileSdkVersion **APIVERSION**
    buildToolsVersion '**BUILDTOOLS**'

compileOptions {
    sourceCompatibility JavaVersion.VERSION_1_8
    targetCompatibility JavaVersion.VERSION_1_8
}

defaultConfig {
    minSdkVersion **MINSDKVERSION**
    targetSdkVersion **TARGETSDKVERSION**
    ndk {
        abiFilters **ABIFILTERS**
    }
    versionCode **VERSIONCODE**
    versionName '**VERSIONNAME**'
    consumerProguardFiles 'proguard-unity.txt'**USER_PROGUARD**
}
lintOptions {
    abortOnError false
}
android {
    sourceSets {
        main {
            def unityProjectPath = $/file:///**DIR_UNITYPROJECT**/$.replace("\\", "/")
            res.srcDirs += (unityProjectPath +  '/Assets/Plugins/Android/Firebase/res/values/google-services.xml')
        }
    }
}
aaptOptions {
    noCompress = ['.ress', '.resource', '.obb'] + unityStreamingAssets.tokenize(', ')
    ignoreAssetsPattern = "!.svn:!.git:!.ds_store:!*.scc:.*:!CVS:!thumbs.db:!picasa.ini:!*~"
}**PACKAGING_OPTIONS**
}**REPOSITORIES**
**IL_CPP_BUILD_SETUP**
**SOURCE_BUILD_SETUP**
**EXTERNAL_SOURCES**

오류메시지

Configure project :launcher WARNING: The option 'android.enableR8' is deprecated and should not be used anymore. It will be removed in a future version of the Android Gradle plugin, and will no longer allow you to disable R8. Exception while marshalling C:\Program Files\Unity\Hub\Editor\2020.2.2f1\Editor\Data\PlaybackEngines\AndroidPlayer\SDK\build-tools\28.0.3\package.xml. Probably the SDK is read-only Exception while marshalling C:\Program Files\Unity\Hub\Editor\2020.2.2f1\Editor\Data\PlaybackEngines\AndroidPlayer\SDK\platform-tools\package.xml. Probably the SDK is read-only Exception while marshalling C:\Program Files\Unity\Hub\Editor\2020.2.2f1\Editor\Data\PlaybackEngines\AndroidPlayer\SDK\platforms\android-29\package.xml. Probably the SDK is read-only Exception while marshalling C:\Program Files\Unity\Hub\Editor\2020.2.2f1\Editor\Data\PlaybackEngines\AndroidPlayer\SDK\tools\package.xml. Probably the SDK is read-only

Task :launcher:preBuild UP-TO-DATE Task :launcher:preReleaseBuild UP-TO-DATE Task :unityLibrary:preBuild UP-TO-DATE Task :unityLibrary:FirebaseApp.androidlib:preBuild UP-TO-DATE Task :unityLibrary:FirebaseApp.androidlib:preReleaseBuild UP-TO-DATE Task :unityLibrary:FirebaseApp.androidlib:compileReleaseAidl NO-SOURCE Task :unityLibrary:preReleaseBuild UP-TO-DATE Task :launcher:generateReleaseBuildConfig UP-TO-DATE Task :unityLibrary:packageReleaseRenderscript NO-SOURCE Task :unityLibrary:compileReleaseAidl NO-SOURCE Task :launcher:compileReleaseRenderscript NO-SOURCE Task :launcher:compileReleaseAidl NO-SOURCE Task :unityLibrary:FirebaseApp.androidlib:packageReleaseRenderscript NO-SOURCE Task :unityLibrary:generateReleaseBuildConfig UP-TO-DATE Task :unityLibrary:compileReleaseRenderscript NO-SOURCE Task :unityLibrary:generateReleaseResValues UP-TO-DATE Task :unityLibrary:FirebaseApp.androidlib:compileReleaseRenderscript NO-SOURCE Task :unityLibrary:generateReleaseResources UP-TO-DATE Task :unityLibrary:FirebaseApp.androidlib:generateReleaseResValues Task :unityLibrary:FirebaseApp.androidlib:generateReleaseResources Task :unityLibrary:packageReleaseResources UP-TO-DATE Task :unityLibrary:parseReleaseLocalResources UP-TO-DATE Task :unityLibrary:FirebaseApp.androidlib:packageReleaseResources

Task :unityLibrary:processReleaseManifest C:\Users\Admin\Documents\Project\Project - devcopy\Temp\gradleOut\unityLibrary\src\main\AndroidManifest.xml:33:5-117 Warning: meta-data#com.google.ar.core.min_apk_version@android:value was tagged at AndroidManifest.xml:33 to replace other declarations but no other declaration present

Task :unityLibrary:FirebaseApp.androidlib:generateReleaseBuildConfig Task :launcher:mainApkListPersistenceRelease UP-TO-DATE Task :unityLibrary:FirebaseApp.androidlib:processReleaseManifest Task :unityLibrary:FirebaseApp.androidlib:javaPreCompileRelease Task :unityLibrary:FirebaseApp.androidlib:parseReleaseLocalResources Task :launcher:generateReleaseResValues UP-TO-DATE Task :launcher:generateReleaseResources UP-TO-DATE Task :launcher:injectCrashlyticsMappingFileIdRelease UP-TO-DATE Task :unityLibrary:FirebaseApp.androidlib:generateReleaseRFile Task :unityLibrary:FirebaseApp.androidlib:compileReleaseJavaWithJavac Task :unityLibrary:FirebaseApp.androidlib:bundleLibCompileRelease Task :unityLibrary:extractDeepLinksRelease UP-TO-DATE Task :unityLibrary:FirebaseApp.androidlib:extractDeepLinksRelease Task :unityLibrary:compileReleaseLibraryResources UP-TO-DATE Task :unityLibrary:FirebaseApp.androidlib:compileReleaseLibraryResources Task :unityLibrary:prepareLintJarForPublish UP-TO-DATE Task :unityLibrary:FirebaseApp.androidlib:prepareLintJarForPublish UP-TO-DATE Task :unityLibrary:FirebaseApp.androidlib:bundleLibRuntimeRelease Task :unityLibrary:generateReleaseRFile Task :unityLibrary:FirebaseApp.androidlib:mergeReleaseShaders Task :unityLibrary:FirebaseApp.androidlib:compileReleaseShaders Task :unityLibrary:FirebaseApp.androidlib:generateReleaseAssets Task :unityLibrary:FirebaseApp.androidlib:packageReleaseAssets Task :unityLibrary:FirebaseApp.androidlib:processReleaseJavaRes NO-SOURCE Task :unityLibrary:FirebaseApp.androidlib:bundleLibResRelease Task :unityLibrary:FirebaseApp.androidlib:mergeReleaseJniLibFolders Task :unityLibrary:FirebaseApp.androidlib:mergeReleaseNativeLibs Task :unityLibrary:FirebaseApp.androidlib:stripReleaseDebugSymbols Task :unityLibrary:FirebaseApp.androidlib:copyReleaseJniLibsProjectOnly

Task :unityLibrary:compileReleaseKotlin w: C:\Users\Admin\Documents\Project\Project - devcopy\Temp\gradleOut\unityLibrary\src\main\java\com\a\b\naver.kt: (27, 59): No cast needed

Task :unityLibrary:mergeReleaseShaders UP-TO-DATE Task :unityLibrary:compileReleaseShaders UP-TO-DATE Task :unityLibrary:generateReleaseAssets UP-TO-DATE Task :unityLibrary:packageReleaseAssets Task :unityLibrary:processReleaseJavaRes NO-SOURCE Task :unityLibrary:bundleLibResRelease UP-TO-DATE Task :launcher:createReleaseCompatibleScreenManifests UP-TO-DATE Task :launcher:extractDeepLinksRelease UP-TO-DATE Task :unityLibrary:mergeReleaseJniLibFolders Task :unityLibrary:javaPreCompileRelease

Task :launcher:processReleaseManifest C:\Users\Admin\Documents\Project\Project - devcopy\Temp\gradleOut\launcher\src\main\AndroidManifest.xml:27:9-34:50 Warning: activity#com.google.firebase.auth.internal.FederatedSignInActivity@android:launchMode was tagged at AndroidManifest.xml:27 to replace other declarations but no other declaration present

Task :launcher:prepareLintJar UP-TO-DATE Task :launcher:checkReleaseDuplicateClasses FAILED

Task :unityLibrary:compileReleaseJavaWithJavac

Task :launcher:mergeReleaseResources Task :unityLibrary:mergeReleaseNativeLibs

Deprecated Gradle features were used in this build, making it incompatible with Gradle 6.0. Use '--warning-mode all' to show the individual deprecation warnings. See https://docs.gradle.org/5.6.4/userguide/command_line_interface.html#sec:command_line_warnings 49 actionable tasks: 31 executed, 18 up-to-date

UnityEngine.GUIUtility:ProcessEvent (int,intptr,bool&)

=============

CommandInvokationFailure: Gradle build failed. C:\Program Files\Unity\Hub\Editor\2020.2.2f1\Editor\Data\PlaybackEngines\AndroidPlayer\OpenJDK\bin\java.exe -classpath "C:\Program Files\Unity\Hub\Editor\2020.2.2f1\Editor\Data\PlaybackEngines\AndroidPlayer\Tools\gradle\lib\gradle-launcher-5.6.4.jar" org.gradle.launcher.GradleMain "-Dorg.gradle.jvmargs=-Xmx4096m" "assembleRelease"

stderr[ Note: C:\Users\Admin\Documents\Project\Project - devcopy\Temp\gradleOut\unityLibrary\src\main\java\com\unity3d\player\UnityPlayerActivity.java uses or overrides a deprecated API. Note: Recompile with -Xlint:deprecation for details.

FAILURE: Build failed with an exception.

spin-nhn commented 3 years ago

@jsolra 님 안녕하세요. GPM WebView를 담당하고 있는 김민석이라고 합니다. 먼저 GPM 서비스를 사용해 주셔서 감사의 인사를 드립니다 (--)(__)

문의 내용

GPM WebView 추가 후 Unity 안드로이드 빌드 시, 기존 라이브러리와 충돌이 발생하는 것에 대한 문의를 하셨습니다.

답변

GPM WebView for Android에서 사용 중인 gson-2.8.5.aar 파일(Assets>GPM>WebView>Plugins>Android)과 게임에서 사용 중인 gson-2.8.6 라이브러리가 충돌하여 발행한 이슈로 예상됩니다.

implementation 'com.google.code.gson:gson:2.8.6'

둘 중 하나만 있으면 되므로 GPM WebView의 gson-2.8.5.aar 파일을 삭제 후, 다시 빌드 해 보시길 바랍니다.


GPM 서비스를 사용해 주셔서 감사합니다. AssetStore 리뷰 등록은 저희에게 큰 힘이 됩니다 :)

jsolra commented 3 years ago

해결 되었습니다. 감사합니다!