블로그 이미지
Every unexpected event is a path to learning for you. blueasa

카테고리

분류 전체보기 (2844)
Unity3D (891)
Programming (479)
Server (33)
Unreal (4)
Gamebryo (56)
Tip & Tech (188)
협업 (64)
3DS Max (3)
Game (12)
Utility (141)
Etc (99)
Link (32)
Portfolio (19)
Subject (90)
iOS,OSX (52)
Android (16)
Linux (5)
잉여 프로젝트 (2)
게임이야기 (3)
Memories (20)
Interest (38)
Thinking (38)
한글 (30)
PaperCraft (5)
Animation (408)
Wallpaper (2)
재테크 (19)
Exercise (3)
나만의 맛집 (3)
냥이 (10)
육아 (16)
Total
Today
Yesterday

[추가] 2023-07-20

Unity 2022.3.5f1에서 이슈 해결된 것 확인함

(몇 버전부터 해결된건지는 확인 못함)

 

--------------------------------------------------

Unity 2022.2.18f1

Firebase 10.7.0

----

 

[빌드에러 #1]

> Configure project :unityLibrary
Build was configured to prefer settings repositories over project repositories but repository 'maven' was added by build file 'unityLibrary\build.gradle'


...

 

[빌드에러 #2]

Execution failed for task ':launcher:checkReleaseDuplicateClasses'.
> Could not resolve all files for configuration ':launcher:releaseRuntimeClasspath'.


-------------------------------------------------------------------------------------------------------------

 

 

Unity 2021에서 Unity 2022로 포팅하는 중에 위와 같은 빌드 에러가 떠서 찾아보니

Gradle 관련 Unity 2022 버그가 있는 것 같다.

 

[수정]

[참조] 링크 내용대로 아래와 같이 Gradle을 수정하고 정상적으로 빌드 되는 걸 확인 함.

간단히 정리하면 settingsTemplate.gradle에 있던 걸 baseProjectTemplate.gradle로 옮겨야 한다.

-------------------------------------------------------------------------------------------------------------

256p commented on Jan 24

Also, there is another workaround that keeps the Gradle version (in case some android lib requires it).
For that workaround, you will need to copy a file from /Applications/Unity/Hub/Editor/2022.2.3f1/PlaybackEngines/AndroidPlayer/Tools/GradleTemplates/settingsTemplate.gradle to Assets/Plugins/Android/settingsTemplate.gradle. That way Unity will use your template in Assets/Plugins/Android. (It's weird that Unity doesn't has a checkbox for that)
For my version of unity, it looks like that:

 

[Before] ../Assets/Plugins/Android/settingsTemplate.gradle

pluginManagement {
    repositories {
        **ARTIFACTORYREPOSITORY**
        gradlePluginPortal()
        google()
        mavenCentral()
    }
}

include ':launcher', ':unityLibrary'
**INCLUDES**

dependencyResolutionManagement {
    repositoriesMode.set(RepositoriesMode.PREFER_SETTINGS)
    repositories {
        **ARTIFACTORYREPOSITORY**
        google()
        mavenCentral()
        flatDir {
            dirs "${project(':unityLibrary').projectDir}/libs"
        }
    }
}

 

The conflicting part is RepositoriesMode.PREFER_SETTINGS. But you can safely delete the whole dependencyResolutionManagement block from here. Since the android project still needs to know about local dependencies, copy the repositories block, you will need it later.
Now settingsTemplate.gradle should look like this:

 

[After] ../Assets/Plugins/Android/settingsTemplate.gradle

pluginManagement {
    repositories {
        **ARTIFACTORYREPOSITORY**
        gradlePluginPortal()
        google()
        mavenCentral()
    }
}

include ':launcher', ':unityLibrary'
**INCLUDES**

------------------------------------------------------------------------------------------------------------------------------------------

Now in Project Settings > Player > Publishing Settings for Android enable Custom Base Gradle Template
Initially, it will look like that:

 

[Before] ../Assets/Plugins/Android/baseProjectTemplate.gradle

plugins {
    id 'com.android.application' version '7.1.2' apply false
    id 'com.android.library' version '7.1.2' apply false
    **BUILD_SCRIPT_DEPS**
}

task clean(type: Delete) {
    delete rootProject.buildDir
}

 

Now create allprojects block and paste repositories copied in the settings template. As a result base template will look like that:

 

[After] ../Assets/Plugins/Android/baseProjectTemplate.gradle

plugins {
    id 'com.android.application' version '7.1.2' apply false
    id 'com.android.library' version '7.1.2' apply false
    **BUILD_SCRIPT_DEPS**
}

allprojects {
    repositories {
        **ARTIFACTORYREPOSITORY**
        google()
        mavenCentral()
        flatDir {
            dirs "${project(':unityLibrary').projectDir}/libs"
        }
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}

 

Now Gradle should build successfully.

 

-------------------------------------------------------------------------------------------------------------

 

[참조] https://github.com/googlesamples/unity-jar-resolver/issues/594

 

[Bug] Android Gradle project repositories block don't work for the latest Unity versions · Issue #594 · googlesamples/unity-ja

[REQUIRED] Please fill in the following fields: Unity editor version: 2022.2.2f1 External Dependency Manager version: 1.2.175 Source you installed EDM4U: .unitypackage Features in External Dependen...

github.com

 

 

반응형
Posted by blueasa
, |

 [링크] http://lancekun.com/blog/?p=599

 

안드로이드 Gradle / IL2CPP 환경에서 프로세스 남는 현상 – 랜스군의 게임공작소

유니티2018.3.12 에서gradle로 빌드시에 Application.Quit 으로 종료이후 다시 재실행시 UnityIAP 초기화가 실패하는 경우가 있습니다. 대략적으로 Inventory를 갱신시켜준후 Java프록시 호출이 실패하는 이슈(

lancekun.com

 

반응형
Posted by blueasa
, |

[추가]

아래 방법은 Mono 전용으로IL2CPP에서는 런타임 오류가 난다.

IL2CPP 빌드로 바껴서 현재는 사용 못할 것 같다.

-----------------------------------------------------------------

 

System.Diagnostics.ProcessThreadCollection pt = System.Diagnostics.Process.GetCurrentProcess().Threads;
foreach (System.Diagnostics.ProcessThread p in pt)
{
    p.Dispose();
}
System.Diagnostics.Process.GetCurrentProcess().Kill();

 

[링크] https://chopchops.tistory.com/17

 

[Unity] 게임 재실행시 튕기는 오류

게임을 재시작했을때 게임이 갑자기 꺼지는 기이한 현상 해결 1 ) 게임이 종료될때 모든 Thread가 종료되지 않아서 발생하는 문제라는 의견 -> 게임종료시 모든 스레드 종료 1 2 3 4 5 6 7 8 9 10 11 privat

chopchops.tistory.com

 

[참조1] https://202psj.tistory.com/1341

 

[Unity] 유니티 종료,Quit, Exit 관련

================================= ================================= ================================= 출처: https://hyunity3d.tistory.com/386 using UnityEngine; using System.Collections; public class CsGameManager : MonoBehaviour { // Use this for initia

202psj.tistory.com

[참조2] https://blog.naver.com/captainj/221103098214

 

Application.Quit으로 앱종료시 오류 메시지가 뜰때

종종 유니티에서 Application.Quit() 함수로 앱을 종료하는 경우, 앱은 정상적으로 종료는 되지만 오류 ...

blog.naver.com

 

반응형
Posted by blueasa
, |