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

카테고리

분류 전체보기 (2834)
Unity3D (883)
Programming (479)
Server (33)
Unreal (4)
Gamebryo (56)
Tip & Tech (187)
협업 (64)
3DS Max (3)
Game (12)
Utility (140)
Etc (98)
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

Unity 2021.3.11f1

I2 Localization(app_name 로컬라이징 용도)

 

I2 Localization 에셋으로 app_name Localization을 하고 있었는데,

Unity 2021.3.11f1으로 업데이트 한 후에 Android에서 로컬라이징이 되지 않고 기본 설정된 App Name만 나오는 문제가 생겼다.

(대충 검색해보니 Unity 2021.3부터 나오는 이슈 같다)

 

그래서 생성된 res 폴더를 ../Assets/Plugins/Android/ 하위에 직접 넣고 빌드해보니 아래와 같은 에러가 나온다.

 

Exception: OBSOLETE - Providing Android resources in Assets/Plugins/Android/res was removed, please move your resources to an AAR or an Android Library. See "AAR plug-ins and Android Libraries" section of the Manual for more details.
UnityEditor.Android.PostProcessor.Tasks.CheckUserResources.Execute (UnityEditor.Android.PostProcessor.PostProcessorContext context) (at <5e58a3838afa4e88a08dc92f05003dcc>:0)
UnityEditor.Android.PostProcessor.PostProcessRunner.RunAllTasks (UnityEditor.Android.PostProcessor.PostProcessorContext context) (at <5e58a3838afa4e88a08dc92f05003dcc>:0)
UnityEditor.Android.PostProcessAndroidPlayer.PrepareForBuild (UnityEditor.BuildOptions options, UnityEditor.BuildTarget target) (at <5e58a3838afa4e88a08dc92f05003dcc>:0)
UnityEditor.Android.AndroidBuildPostprocessor.PrepareForBuild (UnityEditor.BuildOptions options, UnityEditor.BuildTarget target) (at <5e58a3838afa4e88a08dc92f05003dcc>:0)
UnityEditor.PostprocessBuildPlayer.PrepareForBuild (UnityEditor.BuildOptions options, UnityEditor.BuildTargetGroup targetGroup, UnityEditor.BuildTarget target) (at <4e64905d831f4883a53259ef37fb023b>:0)
UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr, Boolean&)

app_name 로컬라이징에 사용되던 /res/ 폴더 하위에 넣는 방식을 Unity 2021.3 이후에는 더이상 지원하지 않나보다.

 

그래서 검색해보니 아래 링크에 해결방법이 적혀있다.

 

[링크] https://develop.hateblo.jp/entry/android-res-error

 

【Unity】Androidのresフォルダがビルドエラーになる場合の対処法 - AppSeedのアプリ開発ブログ

最近、Unityを2021.3.9f1にアップデートしたのですが、Assets/Plugin/Android/res に配置していたフォルダの部分で下記のようなエラーが出るようになってしまいました。今回はこの対処法についてメ

develop.hateblo.jp

해결방법은 링크의 res.androidlib 폴더를 만드는 방법을 참조하면 된다.

링크의 xml 파일등이 띄어쓰기등이 좀 문제 있어서 겸사겸사 간단히 요약해서 적어 둠.

 

  [해결방법]

1. ../Assets/Plugins/Android/ 하위에 res.androidlib 폴더 생성

 

2. res.androidlib 폴더에 아래 파일을 다운받아서 추가하거나 AndroidManifest.xml 파일 직접 생성해서 입력

AndroidManifest.xml
0.00MB

[참조] AndroidManifest.xml 파일 내용

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="custom.android.res" android:versionCode="1" android:versionName="1.0">
</manifest>

 

2. res.androidlib 폴더에 아래 파일을 다운받아서 추가하거나 project.properties 파일 직접 생성해서 입력

project.properties
0.00MB

 

[참조] project.properties 파일 내용

target=android-9
android.library=true

 

3. 기존에 있던 res 폴더(하위에 values/values-en/values-ko 등 포함)를 res.androidlib 폴더로 이동

 

4. 위의 순서 진행하면 아래와 같이 된다.

res.androidlib 폴더
res 폴더(default 포함, 내가쓰는 언어들)

 

5. 이제 빌드 하면.. 된다!!

 

 

[참조] [Unity] 안드로이드 국가별 앱 이름 변경

 

[Unity] 안드로이드 국가별 앱 이름 변경

안녕하세요. 안드로이드 폰에 앱을 설치를 하면, Product Name으로 설정해놓은 이름으로 앱이 설치가 됩니다. 오늘은 앱 이름을 국가별로 다르게 설정하는 법에 대해 다루겠습니다. 일단 Assets\Plugins

scvtwo.tistory.com

[참조] Unity Android 빌드 후 국가별(언어별) 앱 이름 대응

 

Unity Android 빌드 후 국가별(언어별) 앱 이름 대응

Project Settings에서 Product Name을 이용하여 앱 이름을 설정할 수 있지만 이 경우 추후 google 및 apple에 등록한 뒤 변경이 어려운 경우가 분명 생기기 마련이고 (분명 다른 이유로라도 뭐 서버라든지 하

young-94.tistory.com

 

반응형
Posted by blueasa
, |

[링크] https://if1live.github.io/posts/make-unity-build-system/

 

유니티 프로젝트 빌드 시스템 구축하기 · /usr/lib/libsora.so

개요 내가 만든 Toy Clash는 Samsung GearVR, Google Daydream, SteamVR, iOS를 지원한다. 이걸로 끝이 아니라 조만간 Windows Store도 추가될 예정이다. 내가 개발해보니까 이정도 갯수의 플랫폼을 지원하기 위해서

if1live.github.io

 

반응형
Posted by blueasa
, |

[추가] 2021-08-05 확인

GoogleMobileAds v6.0.1(2021-06-27 업데이트)에서 수정됐다.

https://github.com/googleads/googleads-mobile-unity/releases/tag/v6.0.1

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

 

GoogleMobileAds v6.0.0이 나와서 설치했는데 iOS에서 Build Error가 나서 확인해보니 GoogleMobileAds v6.0.0 버그 같다.

 

아래와 같이 Workaround.m 파일을 만들어서 추가하면 해결 된다.

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

qbit86 commented 2 days ago

@onom88
It would probably be sufficient to reduce Assets/Plugins/iOS/Workaround.m to just this, with no headers needed at all:
// Workaround for https://github.com/googleads/googleads-mobile-unity/issues/1616

typedef const void *GADUTypeInterstitialRef;

typedef const void *GADUTypeRewardedAdRef;

typedef const void *GADUTypeRequestRef;

void GADURequestInterstitial(GADUTypeInterstitialRef interstitial, GADUTypeRequestRef request) { }

void GADURequestRewardedAd(GADUTypeRewardedAdRef rewardedAd, GADUTypeRequestRef request) { }

 

 

[링크] https://github.com/googleads/googleads-mobile-unity/issues/1616

 

Build iOS failed: Undefined symbols for architecture arm64: "_GADURequestInterstitial" · Issue #1616 · googleads/googleads-mob

Unity version: 2020.3.1 - 2020.3.6 Google Mobile Ads Unity plugin version: 6.0.0 Platform: iOS Platform OS version: n/a Any specific devices issue occurs on: n/a Mediation ad networks used, and the...

github.com

 

반응형
Posted by blueasa
, |

IOException: Sharing violation on path ..\Temp\StagingArea\assets\bin\Data\Managed\tempStrip\Firebase.Analytics.dll

 

빌드하다가 못보던 dll 관련 빌드 에러가 나서 확인해보니 백신 관련 문제였다.

백신에서 해당 프로젝트 폴더를 예외처리 하던지, 백신을 잠시 끄자.

 

 

[참조]

Answer by timkeosa · '17년 Jul월 25일 PM 06시 04분

I encountered a very similar issue and found it was caused by the antivirus software. By suspending the antivirus process, I was able to work around the problem.

Try configuring your AV to "exclude" your project directory, but if that fails then you'll need to either disable or temporarily suspend the AV's process.

 

 

[출처] https://answers.unity.com/questions/1381688/ioexception-sharing-violation-on-path-after-build.html

 

IOexception: Sharing violation on path after build - Unity Answers

 

answers.unity.com

 

반응형
Posted by blueasa
, |

[참고사항]

- AAB는 유저 다운로드 기준 150mb가 최대이기 때문에 AAB는 165mb 정도가 최대라고 보면 된다고 함.

  (유저가 다운 받을 때 15mb정도 줄어든다고 함)

- OBB는 제한을 걸었다가 다시 풀어서 글 쓰는 현재 기준으로는 기존(APK 100mb + OBB)처럼 사용가능 하다고 함.

 


 

Android App Bundle 빌드하기

먼저 Unity 2018.3 베타에서 프로젝트를 엽니다. APK 대신에 Android App Bundle을 빌드하려면 Build Settings 창(메뉴: File > Build Settings)을 열고 Build App Bundle 체크박스를 선택합니다(Build System은 기본 옵션인 Gradle 유지).

Build를 선택하면 Google Play에 직접 퍼블리시할 수 있는 AAB 파일을 생성합니다.

Build and Run을 선택하면 AAB 파일을 생성한 다음 연결된 기기별 임시 APK 파일을 생성하여 기기에 설치하고 애플리케이션을 실행합니다.

Build를 선택하고 앱을 기기에 수동으로 설치하려면 Google에서 제공하는 bundletool utility(Unity 설치 위치의 Editor/Data/PlaybackEngines/AndroidPlayer/Tools 디렉토리에 있음)를 사용할 수 있습니다. bundletool 플래그와 옵션에 대한 자세한 정보는 여기에서 확인해 보세요.

참고로, 생성된 앱 번들에는 모든 지원 대상의 라이브러리가 포함되어야 하므로 앱 번들을 빌드할 때는 Split APKs by target architecture(Edit > Setting > Player) 옵션이 비활성화되어 있습니다.

 

 

[출처] https://blogs.unity3d.com/kr/2018/10/03/support-for-android-app-bundle-aab-in-unity-2018-3-beta/

 

Android App Bundle(AAB) 기능 지원 - Unity 2018.3 베타 버전에 적용 - Unity Technologies Blog

앱과 게임의 크기가 커질수록 Google Play 스토어 방문을 통한 설치가 줄어들고 있습니다. 사용자가 기기의 스토리지를 사용하고, 요금제 데이터를 소비하며, 연결 속도가 느린 환경에서 다운로드 완료를 기다려야 하는 상황에 대해 이미 신경을 쓰고 있기 때문입니다. Androi...

blogs.unity3d.com

 

반응형
Posted by blueasa
, |