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

카테고리

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

[링크]

https://modelmaker.tistory.com/entry/%EC%95%88%EB%93%9C%EB%A1%9C%EC%9D%B4%EB%93%9C-Debug-SHA-Key-%EC%B6%94%EC%B6%9C-%EB%B0%A9%EB%B2%95

 

안드로이드 Debug SHA Key 추출 방법

디버그용 Key 발급 Gradle 편 gradle명령어로 아래처럼 치면 된다. 짱 쉽다. ./gradlew signingReport 결과가 아래 처럼 나온다. > Task :app:signingReport Variant: debug Config: debug Store: C:\Users\Malibin\.android\debug.keystore

modelmaker.tistory.com

 

반응형
Posted by blueasa
, |

Unity 2021.3.41f1

Firebase 12.1.0

GoogleMobildeAds 9.1.0

Facebook SDK 17.0.0

----

 

[추가] 2024-08-08

Unity 2021.3.42f1에서 아래 이슈가 수정되었다고 한다.(Custom Settings Template Gradle 옵션도 생겼다)

  • Android: settingsTemplate.gradle에서 DIR_UNITYPROJECT를 올바르게 교체( UUM-27090 )

Unity 2021.3.42f1에서는 아래와 같이 진행하자.

 

[EDM4U v1.2.181(Frebase v12.1.0) 이하 일 경우]

1) 아래 설명된 Unity 2021.3.41f1에서 하던대로 하고, BuildPreprocessor_settingsTemplateGradle.cs 파일만 삭제하면 된다.

 

[EDM4U v1.2.182(Frebase v12.2.0) 이상 일 경우] : 추천

1) Custom Main Gradle Template 활성화 돼있는지 체크.

2) Player Settings - Player - Android - Publishing Settings - Build에 Custom Gradle Settings Template가 추가됐다.

    체크해서 활성화 해주자.

 

3) EDM4U - Android Resolver에서 다시 Resolve를 해주자.

    (Android Resolve를 하면 mainTemplate.gradle에 있던 Firebase 관련 내용이 settingsTemplate.gradle로 옮겨진다.)

 

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

Unity 2021.3에서 Android Target API 34 선택 시, 빌드에러가 발생하는 문제를 해결했다고 나온 버전이 Unity 2021.3.41f1이다.

Unity 2021.3.41f1에서 gradle 버전과 Java 메이저 버전이 올라가면서 Unity 2022와 같게 맞춰진 것 같다.

       

       [참고]

  • 2021.3.40f1 이하 버전 : AGP 4.2.2 / Gradle 6.7.1 / Java 8
  • 2021.3.41f1 버전 : AGP 7.4.2 / Gradle 7.5.1 / Java 11

 

그런데 Unity 2021.3.41f1에서도 여전히 빌드에러가 나서 에러 메시지를 확인해보니 아래와 같은 부분이 있다.

stderr[

FAILURE: Build completed with 3 failures.

1: Task failed with an exception.
-----------
* What went wrong:
Execution failed for task ':launcher:checkReleaseDuplicateClasses'.
> Could not resolve all files for configuration ':launcher:releaseRuntimeClasspath'.
   > Could not find com.google.firebase:firebase-analytics-unity:12.1.0.
     Searched in the following locations:
       - https://maven.google.com/com/google/firebase/firebase-analytics-unity/12.1.0/firebase-analytics-unity-12.1.0.pom
       - file:////Assets/GeneratedLocalRepo/Firebase/m2repository/com/google/firebase/firebase-analytics-unity/12.1.0/firebase-analytics-unity-12.1.0.pom

 

file:////Assets/GeneratedLocalRepo/Firebase/m2repository/... 부분의 앞에 프로젝트의 Path가 있어야 되는데 제대로 들어가지 않고 있는 것 같다.

원래는 아래와 같이 나와야 된다.

예) file:///C:/{ProjectPath}/Assets/GeneratedLocalRepo/Firebase/m2repository/..

 

이것과 거의 같은 이슈는 이전에도 있었던 것 같다.

(참조: https://issuetracker.unity3d.com/issues/android-template-variable-star-star-dir-unityproject-star-star-is-not-properly-substituted-when-exporting-a-gradle-project)

 

해당 부분은 settingsTemplate.gradle에서 절대경로를 넣으면 임시로 해결이 된다고 하는데,

Unity 2021에서는 Custom SettingsTemplate Gradle 파일 활성화 옵션이 없지만 파일 자체를 Plugins/Android 폴더에 넣으면 제대로 작동한다.

 

settingsTemplate.gradle 파일 안에 **DIR_UNITYPROJECT**를 넣으면 제대로 작동해야되는데 작동을 하지 않아서 IPostGenerateGradleAndroidProject를 사용해서 Path를 절대경로로 교체하는 방식 제안이 있어서 적용해 봤지만 제대로 여전히 빌드가 제대로 되지 않는다.

(참조 : https://github.com/googlesamples/unity-jar-resolver/issues/478)

 

그래서 Preprocessor를 사용해서 Path를 절대경로로 바꾸니 잘 작동한다.

아래는 내가 진행한 순서와 파일들이다.

 

 

    [Unity 2021.3.41f1에서 빌드 에러 수정 방법]

 

1) Unity 2021.3.41f1에서 많이 바껴서 baseProjectTemplate.gradle / gradleTemplate.properties / mainTemplate.gradle 등 gradle 관련 파일들을 삭제 후 새로 생성하자.

    (특히 gradle 버전이 많이 올라가서 baseProjectTemplate.gradle은 새로 생성해줄 필요가 있다.)

 

2) Android Min API 24 / Target API 34로 변경

    (Min API 23에서는 아래와 같은 에러 발생함)

stderr[
Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
ERROR:D8: com.android.tools.r8.kotlin.H
ERROR:D8: com.android.tools.r8.kotlin.H
ERROR:D8: com.android.tools.r8.kotlin.H

 

3) 아래 settingsTemplate.gradle 파일을 ../Assets/Plugins/Android 폴더에 추가

settingsTemplate.gradle
0.00MB

 

 

4) 아래 BuildPreprocessor_settingsTemplateGradle.cs 파일을 Editor 폴더에 추가

    (참고: Android 플랫폼, Unity 2021.3.41f1 버전에서만 작동하도록 함)

BuildPreprocessor_settingsTemplateGradle.cs
0.00MB

 

 

5) 빌드

 

 

----

[참조] https://github.com/firebase/firebase-unity-sdk/issues/1070

[참조] https://discussions.unity.com/t/unity-2021-3-and-android-build-failure-when-using-android-legacy-libraries-and-target-api-34/952277/48

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

[참조] https://issuetracker.unity3d.com/issues/android-template-variable-star-star-dir-unityproject-star-star-is-not-properly-substituted-when-exporting-a-gradle-project

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

[참조] https://moblieandlife.tistory.com/entry/%EC%9C%A0%EB%8B%88%ED%8B%B0Unity-%EB%B9%8C%EB%93%9C%EC%8B%9C-Firebase-%EC%98%A4%EB%A5%98

[참조] https://docs.unity3d.com/ScriptReference/Android.IPostGenerateGradleAndroidProject.OnPostGenerateGradleAndroidProject.html

[참조] https://github.com/googlesamples/unity-jar-resolver/issues/478#issuecomment-980615877

 

반응형
Posted by blueasa
, |

Windows 10

Android Studio 2024.1.1

----

 

Android API(버전) 별 사용 정도를 알고 싶을때가 있는데, 의외로 쉬운 방법이 있어서 올려 둠

 

[Android API 별 점유율 확인 방법]

0. Android Studio 실행(없으면 설치 후 실행 : https://developer.android.com/studio)

1. New Project 클릭

2. Phone and Tablet 선택

3. Activity 아무거나 선택(New Proejct 창이 뜨면 기본적으로 Phone and Tablet - Empty Activity가 골라져 있음)

4. Next 클릭

 

5. Minimum SDK에 현재 기준 API 24가 선택 돼 있고, 아래에 해당 API 24로 선택 할 때, 적용 가능한 디바이스의 범위를 %로 보여줌.(현재 기준 97.4%)

 

6. API 24만의 %를 보고싶다면, API 23으로 선택해서 %를 보고 차이 값을 보면 된다.

    예) 현재 기준 API 23:98.8%이고, API 24:97.4%이기 때문에, API 23(Android 6.0)은 1.4%이다.

 

 

 

[참조] https://no-dev-nk.tistory.com/110

 

안드로이드 버전별 점유율 2024.4(업데이트)

이 글의 주제는 안드로이드 버전별 점유율의 상태에 대해서 작성하는 글인데요. 사실 한 철만 볼 수 있는 주제에 가까운데 왜 포스팅을 하느냐하면, 각 API 별로 분류를 해 볼까 해서입니다. 현

no-dev-nk.tistory.com

 

반응형
Posted by blueasa
, |

[링크] https://no-dev-nk.tistory.com/110

 

안드로이드 버전별 점유율 2024.4(업데이트)

이 글의 주제는 안드로이드 버전별 점유율의 상태에 대해서 작성하는 글인데요. 사실 한 철만 볼 수 있는 주제에 가까운데 왜 포스팅을 하느냐하면, 각 API 별로 분류를 해 볼까 해서입니다. 현

no-dev-nk.tistory.com

 

반응형
Posted by blueasa
, |

빌드환경 : Windows 10
Unity 2021.3.40f1
Firebase 11.9.0
GoogleMobileAds 9.1.0
AppsFlyer 6.14.4
----
 

[추가] 2024-08-02

Unity 2021.3.42f1에서 Android Target API 34 관련 수정 확인함.

해당 글(https://blueasa.tistory.com/2845) 참조.


[추가] 2024-07-26
Unity 2021.3.41f1에서 Android Target API 34 관련 빌드 에러를 수정했다고 적혀있어서 테스트 해봤는데 여전히 안되고, 아래 임시방편조차도 먹히지 않는다.
일단 Unity 2021.3.40f1까지만 올리고 아래 임시방편을 써야 될 것 같다.

——
구글에서 2024년 8월 31일까지 Target API 34로 올리라고 경고가 날라왔는데..
Unity 2021에서 Target API 34로 놓고 빌드하면 gradle 관련 빌드 실패가 뜬다.
유니티 엔진 자체 버그인데 다음 업데이트때까지 API 34로 빌드 할 수 있는 방법 3가지 임시방편을 유니티에서 보내줬다.(아래 파일 참조)
 

[Android] Target API Level 34 설정시 일부 Unity 2021.3 프로젝트에서 Gradle Build Fail 발생 관련 임시방편

202400701 - [Android Target API 34] Gradle Build Fail occurs in Unity 2021.3
0.20MB

 
 
3가지 중 원하는 방식 하나를 선택해서 진행하면 되는데,
나는 2번째 방식(2. AAPT2 7.2.2 사용)으로 진행했다.
 
위 문서를 봐도 되겠지만, 추가 수정도 필요해서 아래에 내가 진행한 순서를 정리해 둔다.
 
---------------------------------------------------------------------------------------
[AAPT2를 이용한 Android Target API 34 빌드를 위한 처리 순서]
1. Google’s Maven의 AAPT2에 접속
2. '빌드 환경'에 맞는 AAPT2 7.2.2 jar 파일 다운로드 (예: Windows)
      [빌드 환경 별 다운로드 링크] Windows / OSX / Linux
3. 적당한 위치에 압축 풀기
     예) C:/Android/aapt2/aapt2-7.2.2-7984345-windows
4. Edit - Project Settings - Player - Publishing Settings - Build -  Custom Gradle Properties Template - 박스 체크
5. ../Assets/Plugins/Android/gradleTemplate.properties 파일 오픈
6. gradleTemplate.properties에 android.aapt2FromMavenOverride 추가
     [참고] 폴더 구분에 쓰는 인자는 슬래시(/)를 쓰던지, 역슬래시 2개를 겹쳐서(\\) 쓰던지 선택
     예1) android.aapt2FromMavenOverride=C:/Android/aapt2/aapt2-7.2.2-7984345-windows/aapt2.exe
     예2) android.aapt2FromMavenOverride=C:\\Android\\aapt2\\aapt2-7.2.2-7984345-windows\\aapt2.exe

gradleTemplate.properties

7. Edit - Project Settings - Player - Other Settings - Identification
    7.1. Target API Level : API Level 34로 변경
    7.2. Minimum API Level : API Level 24로 변경
           (원래는 API Level 23이었는데 23으로 두고, Target API 34로 빌드하니 빌드에러가 난다. Minimum도 24로 올려야 되는 것 같다)
8. Build
 
 
[참조] https://forum.unity.com/threads/android-14-api-level-34-in-unity-2020-lts-and-2021-lts.1516538/

 

Question - Android 14 (API Level 34) in Unity 2020 LTS and 2021 LTS

Hi, Is Android 14 supported as a build target in Unity 2020 and 2021 ? I have tried building an empty project in Unity 2020.3.30f1 and Unity...

forum.unity.com

 

반응형
Posted by blueasa
, |

[링크]

https://velog.io/@maratangsoft/Android%EC%99%80-Unity-%EA%B0%84-Gradle-%EB%B2%84%EC%A0%84-%EA%B4%80%EB%A6%AC

 

Android와 Unity 간 버전 호환성 관리

유니티 에디터로 만든 안드로이드 앱에 안드로이드 라이브러리 통합시

velog.io

 

반응형
Posted by blueasa
, |

[Android] https://docs.unity3d.com/Packages/com.unity.localization@1.2/manual/Android-App-Localization.html

 

Android App Localization | Localization | 1.2.1

Android App Localization App Name The Localization package supports localizing app names with the Android strings.xml file. When you build the Android player, the package applies the Localization values to the Gradle project during the post-build step. The

docs.unity3d.com

 

 

[iOS] https://docs.unity3d.com/Packages/com.unity.localization@1.2/manual/iOS-App-Localization.html

 

iOS App Localization | Localization | 1.2.1

iOS App Localization The Localization package provides support for localizing values within the iOS Info.plist information property list file. When building the iOS player, the Localization values are applied to the project during the post build step. The

docs.unity3d.com

 

반응형
Posted by blueasa
, |

[링크] https://developer.android.com/build/manage-manifests?hl=ko

 

매니페스트 파일 관리  |  Android Studio  |  Android Developers

매니페스트 빌드 변수, 매니페스트 병합 및 매니페스트 병합 도구에 관해 알아보세요.

developer.android.com

 

반응형
Posted by blueasa
, |

 

[Global Android version distribution]
Data from Android Studio (December 26, 2022)

 

 

[링크] https://www.megumethod.com/blog/recommended-minimum-sdk-version-for-android-projects

 

Recommended minimum SDK version for Android projects

Are you unsure of which minimum supported Android version to choose for your project? This article will guide you through the various factors that have the greatest impact on your choice of minimal SDK. By providing a comprehensive overview of these factor

www.megumethod.com

 

반응형
Posted by blueasa
, |

[Google Play Store 경고 내용]

com.google.android.recaptcha:recaptcha:18.1.2
이 SDK 버전에는 SDK 개발자의 메모가 포함되어 있습니다. SDK 개발자가 신고한 내용은 다음과 같습니다.
A critical security vulnerability was discovered in reCAPTCHA Enterprise for Mobile. The vulnerability has been patched in the latest SDK release. Customers will need to update their Android application with the reCAPTCHA Enterprise for Mobile SDK, version 18.4.0 or above. We strongly recommend you update to the latest version as soon as possible.

 

[수정]

Firebase 11.7.0(Firebase Android BoM version 32.7.1)에 수정됐다고 한다.

Firebase 11.7.0으로 버전업 하자.

 

 

[참조] https://velog.io/@hodu_angel/Firebase-com.google.android.recaptcharecaptcha18.1.2

 

velog

 

velog.io

 

[참조] https://github.com/firebase/firebase-android-sdk/issues/5638

 

reCAPTCHA Enterprise update · Issue #5638 · firebase/firebase-android-sdk

A critical security vulnerability was discovered in reCAPTCHA Enterprise for Mobile. The vulnerability has been patched in the latest SDK release. Customers will need to update their Android applic...

github.com

 

반응형
Posted by blueasa
, |