목차

반응형

오류

유니티에서 ios 빌드 xocde 프로젝트를 빌드하면 Mopub.h File Not Found 같은 오류가 나는 경우가 있다.

 

또는 프레임워크의 CocoaPods 설치 오류로 인하여

unity Setting up CocoaPods master repo fatal: not a git repository (or any of the parent directories): .git [!] The `master` repo is not a git repo. 

오류가 발생하는 경우가 있다.

 

원인

근본적인 원인은 유니티 ios 빌드하는 경우 cocoapods에 문제가 발생하여 프레임워크가 xcode 프로젝트에 정상적으로 안들어간 상태에서 빌드하는 경우 오류가 발생하였다.

cocoapods 문제로 mopub 광고 프레임워크가 xcode 프로젝트에 정상적으로 들어가지 않은 것 이다.

 

해결

해결하기 위해서는 cocoapods 재설치가 제일 깔끔한 것 같다.

먼저 문제가 있는지 확인을 하기 위하여 아래 디렉토리로 이동한다.

 

pod 파일이 있는 디렉토리로 이동

cd /Users/계정이름/.gem/ruby/2.3.0/bin/

 

pod setup 명령어를 치면 오류가 발생한다.(유니티에서도 위와 같은 오류가 발생 할 것이다.)

./pod setup 명령어를 쳐보면 문제가 있는지 확인 가능하다.

 

cocoapods 제거

sudo gem uninstall cocoapods 명령어로 모든 버전을 제거한다.

 

cocoapods 재설치

gem install --user-install cocoapods

 

pod setup

./pod setup 명령어로 설치를 진행한다.

 

대략 10분정도 걸렸는데 설치 후 유니티에서 ios 빌드를 하면 정상적으로 빌드가 된다.

반응형
반응형

유니티 플레이 스토어를 연동하려는 도중에 오류가 발생하였다.

앱에서 리더보드를 호출하면 아래와 같이 오류 로그가 찍힌다.

04-17 10:38:46.861 13360 13368 E DataBuffer: Internal data leak within a DataBuffer object detected!  Be sure to explicitly call release() on all DataBuffer extending objects when you are done with them. (internal object: com.google.android.gms.common.data.DataHolder@a4c3f4c)

04-17 10:38:46.880 13360 13368 E DataBuffer: Internal data leak within a DataBuffer object detected!  Be sure to explicitly call release() on all DataBuffer extending objects when you are done with them. (internal object: com.google.android.gms.common.data.DataHolder@ca40438)

04-17 10:38:47.012  3668 12103 E Parcel  : Class not found when unmarshalling: com.google.android.gms.auth.api.signin.internal.SignInConfiguration

04-17 10:38:47.012  3668 12103 E Parcel  : java.lang.ClassNotFoundException: com.google.android.gms.auth.api.signin.internal.SignInConfiguration

04-17 10:38:47.012  3668 12103 E Parcel  : at java.lang.Class.classForName(Native Method)

04-17 10:38:47.012  3668 12103 E Parcel  : at java.lang.Class.forName(Class.java:453)

04-17 10:38:47.012  3668 12103 E Parcel  : at android.os.Parcel.readParcelableCreator(Parcel.java:2843)

04-17 10:38:47.012  3668 12103 E Parcel  : at android.os.Parcel.readParcelable(Parcel.java:2797)

04-17 10:38:47.012  3668 12103 E Parcel  : at android.os.Parcel.readValue(Parcel.java:2700)

04-17 10:38:47.012  3668 12103 E Parcel  : at android.os.Parcel.readArrayMapInternal(Parcel.java:3067)

04-17 10:38:47.012  3668 12103 E Parcel  : at android.os.BaseBundle.unparcel(BaseBundle.java:257)

04-17 10:38:47.012  3668 12103 E Parcel  : at android.os.BaseBundle.getString(BaseBundle.java:1086)

04-17 10:38:47.012  3668 12103 E Parcel  : at android.content.Intent.getStringExtra(Intent.java:7706)

04-17 10:38:47.012  3668 12103 E Parcel  : at com.android.server.am.ActivityStarter.startActivity(ActivityStarter.java:468)

04-17 10:38:47.012  3668 12103 E Parcel  : at com.android.server.am.ActivityStarter.startActivityLocked(ActivityStarter.java:419)

04-17 10:38:47.012  3668 12103 E Parcel  : at com.android.server.am.ActivityStarter.startActivityMayWait(ActivityStarter.java:1308)

04-17 10:38:47.012  3668 12103 E Parcel  : at com.android.server.am.ActivityManagerService.startActivityAsUser(ActivityManagerService.java:6035)

04-17 10:38:47.012  3668 12103 E Parcel  : at com.android.server.am.ActivityManagerService.startActivity(ActivityManagerService.java:5887)

04-17 10:38:47.012  3668 12103 E Parcel  : at android.app.IActivityManager$Stub.onTransact(IActivityManager.java:121)

04-17 10:38:47.012  3668 12103 E Parcel  : at com.android.server.am.ActivityManagerService.onTransact(ActivityManagerService.java:3863)

04-17 10:38:47.012  3668 12103 E Parcel  : at android.os.Binder.execTransact(Binder.java:682)

04-17 10:38:47.012  3668 12103 E Parcel  : Caused by: java.lang.ClassNotFoundException: com.google.android.gms.auth.api.signin.internal.SignInConfiguration

04-17 10:38:47.012  3668 12103 E Parcel  : at java.lang.Class.classForName(Native Method)

04-17 10:38:47.012  3668 12103 E Parcel  : at java.lang.BootClassLoader.findClass(ClassLoader.java:1355)

04-17 10:38:47.012  3668 12103 E Parcel  : at java.lang.BootClassLoader.loadClass(ClassLoader.java:1415)

04-17 10:38:47.012  3668 12103 E Parcel  : at java.lang.ClassLoader.loadClass(ClassLoader.java:312)

04-17 10:38:47.012  3668 12103 E Parcel  : ... 17 more

04-17 10:38:47.012  3668 12103 E Parcel  : Caused by: java.lang.NoClassDefFoundError: Class not found using the boot class loader; no stack trace available

04-17 10:38:51.268 26157 26157 E ViewRootImpl@d3b955f[SignInActivity]: Attempting to destroy the window while drawing!

04-17 10:38:51.268 26157 26157 E ViewRootImpl@d3b955f[SignInActivity]:   window=android.view.ViewRootImpl@b7aaef1, title=com.google.android.play.games/com.google.android.gms.games.ui.signin.SignInActivity

04-17 10:38:51.345 26157 26157 E ViewRootImpl: sendUserActionEvent() returned.

04-17 10:38:52.621 25361 25361 E TokenFragment: Setting result error status code to: 16

04-17 10:39:03.358  5083  5249 E ContactsProvider_EventLog: Flush buffer to file cnt : 1 size : 1Kb duration : 1ms lastUpdatedAfter : 60119 ms mFlush_time_threasold : 2000 mCurrentSize : 593

04-17 10:39:08.527  3290  3290 E audit   : type=1400 audit(1555465148.514:65230): avc:  denied  { getattr } for  pid=26677 comm="netstat" path="/proc/crypto" dev="proc" ino=4026535594 scontext=u:r:untrusted_app:s0:c512,c768 tcontext=u:object_r:proc:s0 tclass=file permissive=0 SEPF_SM-G930S_8.0.0_0017 audit_filtered

04-17 10:39:08.528  3290  3290 E audit   : type=1400 audit(1555465148.514:65231): avc:  denied  { getattr } for  pid=26677 comm="netstat" path="/proc/last_kmsg" dev="proc" ino=4026535585 scontext=u:r:untrusted_app:s0:c512,c768 tcontext=u:object_r:proc:s0 tclass=file permissive=0 SEPF_SM-G930S_8.0.0_0017 audit_filtered

04-17 10:39:08.528  3290  3290 E audit   : type=1400 audit(1555465148.514:65232): avc:  denied  { getattr } for  pid=26677 comm="netstat" path="/proc/tsp_raw_data" dev="proc" ino=4026535583 scontext=u:r:untrusted_app:s0:c512,c768 tcontext=u:object_r:proc:s0 tclass=file permissive=0 SEPF_SM-G930S_8.0.0_0017 audit_filtered

04-17 10:39:08.528  3290  3290 E audit   : type=1400 audit(1555465148.514:65233): avc:  denied  { getattr } for  pid=26677 comm="netstat" path="/proc/usblog" dev="proc" ino=4026535540 scontext=u:r:untrusted_app:s0:c512,c768 tcontext=u:object_r:proc:s0 tclass=file permissive=0 SEPF_SM-G930S_8.0.0_0017 audit_filtered

04-17 10:39:08.528  3290  3290 E audit   : type=1400 audit(1555465148.514:65234): avc:  denied  { getattr } for  pid=26677 comm="netstat" path="/proc/sec_log" dev="proc" ino=4026535505 scontext=u:r:untrusted_app:s0:c512,c768 tcontext=u:object_r:proc:s0 tclass=file permissive=0 SEPF_SM-G930S_8.0.0_0017 audit_filtered

04-17 10:39:08.529  3290  3290 E audit   : type=1400 audit(1555465148.514:65235): avc:  denied  { getattr } for  pid=26677 comm="netstat" path="/proc/init_command" dev="proc" ino=4026535173 scontext=u:r:untrusted_app:s0:c512,c768 tcontext=u:object_r:proc:s0 tclass=file permissive=0 SEPF_SM-G930S_8.0.0_0017 audit_filtered

04-17 10:39:08.529  3290  3290 E audit   : type=1400 audit(1555465148.524:65236): avc:  denied  { getattr } for  pid=26677 comm="netstat" path="/proc/boot_stat" dev="proc" ino=4026535172 scontext=u:r:untrusted_app:s0:c512,c768 tcontext=u:object_r:proc:s0 tclass=file permissive=0 SEPF_SM-G930S_8.0.0_0017 audit_filtered

04-17 10:39:08.529  3290  3290 E audit   : type=1400 audit(1555465148.524:65237): avc:  denied  { getattr } for  pid=26677 comm="netstat" path="/proc/store_lastkmsg" dev="proc" ino=4026535171 scontext=u:r:untrusted_app:s0:c512,c768 tcontext=u:object_r:proc:s0 tclass=file permissive=0 SEPF_SM-G930S_8.0.0_0017 audit_filtered

04-17 10:39:08.530  3290  3290 E audit   : type=1400 audit(1555465148.524:65238): avc:  denied  { getattr } for  pid=26677 comm="netstat" path="/proc/reset_reason" dev="proc" ino=4026535170 scontext=u:r:untrusted_app:s0:c512,c768 tcontext=u:object_r:proc:s0 tclass=file permissive=0 SEPF_SM-G930S_8.0.0_0017 audit_filtered

04-17 10:39:08.530  3290  3290 E audit   : type=1400 audit(1555465148.524:65239): avc:  denied  { getattr } for  pid=26677 comm="netstat" path="/proc/user_fault" dev="proc" ino=4026535169 scontext=u:r:untrusted_app:s0:c512,c768 tcontext=u:object_r:proc:s0 tclass=file permissive=0 SEPF_SM-G930S_8.0.0_0017 audit_filtered

04-17 10:39:08.530  3290  3290 E audit   : type=1400 audit(1555465148.524:65240): avc:  denied  { getattr } for  pid=26677 comm="netstat" path="/proc/tima_secure_rkp_log" dev="proc" ino=4026535079 scontext=u:r:untrusted_app:s0:c512,c768 tcontext=u:object_r:proc:s0 tclass=file permissive=0 SEPF_SM-G930S_8.0.0_0017 audit_filtered

04-17 10:39:08.530  3290  3290 E audit   : type=1400 audit(1555465148.524:65241): avc:  denied  { getattr } for  pid=26677 comm="netstat" path="/proc/tima_debug_rkp_log" dev="proc" ino=4026535078 scontext=u:r:untrusted_app:s0:c512,c768 tcontext=u:object_r:proc:s0 tclass=file permissive=0 SEPF_SM-G930S_8.0.0_0017 audit_filtered

04-17 10:39:08.531  3290  3290 E audit   : type=1400 audit(1555465148.524:65242): avc:  denied  { getattr } for  pid=26677 comm="netstat" path="/proc/tima_secure_log" dev="proc" ino=4026535077 scontext=u:r:untrusted_app:s0:c512,c768 tcontext=u:object_r:proc:s0 tclass=file permissive=0 SEPF_SM-G930S_8.0.0_0017 audit_filtered

04-17 10:39:08.531  3290  3290 E audit   : type=1400 audit(1555465148.524:65243): avc:  denied  { getattr } for  pid=26677 comm="netstat" path="/proc/tima_debug_log" dev="proc" ino=4026535076 scontext=u:r:untrusted_app:s0:c512,c768 tcontext=u:object_r:proc:s0 tclass=file permissive=0 SEPF_SM-G930S_8.0.0_0017 audit_filtered

04-17 10:39:08.531  3290  3290 E audit   : type=1400 audit(1555465148.524:65244): avc:  denied  { getattr } for  pid=26677 comm="netstat" path="/proc/dmverity_odin_flag" dev="proc" ino=4026535075 scontext=u:r:untrusted_app:s0:c512,c768 tcontext=u:object_r:proc:s0 tclass=file permissive=0 SEPF_SM-G930S_8.0.0_0017 audit_filtered

04-17 10:39:08.532  3290  3290 E audit   : type=1400 audit(1555465148.524:65245): avc:  denied  { getattr } for  pid=26677 comm="netstat" path="/proc/partitions" dev="proc" ino=4026534988 scontext=u:r:untrusted_app:s0:c512,c768 tcontext=u:object_r:proc:s0 tclass=file permissive=0 SEPF_SM-G930S_8.0.0_0017 audit_filtered

04-17 10:39:08.532  3290  3290 E audit   : type=1400 audit(1555465148.524:65246): avc:  denied  { getattr } for  pid=26677 comm="netstat" path="/proc/diskstats" dev="proc" ino=4026534987 scontext=u:r:untrusted_app:s0:c512,c768 tcontext=u:object_r:proc:s0 tclass=file permissive=0 SEPF_SM-G930S_8.0.0_0017 audit_filtered

04-17 10:39:08.532  3290  3290 E audit   : type=1400 audit(1555465148.524:65247): avc:  denied  { getattr } for  pid=26677 comm="netstat" path="/proc/iostats" dev="proc" ino=4026534986 scontext=u:r:untrusted_app:s0:c512,c768 tcontext=u:object_r:proc:s0 tclass=file permissive=0 SEPF_SM-G930S_8.0.0_0017 audit_filtered

04-17 10:39:08.532  3290  3290 E audit   : type=1400 audit(1555465148.524:65248): avc:  denied  { getattr } for  pid=26677 comm="netstat" path="/proc/key-users" dev="proc" ino=4026534985 scontext=u:r:untrusted_app:s0:c512,c768 tcontext=u:object_r:proc:s0 tclass=file permissive=0 SEPF_SM-G930S_8.0.0_0017 audit_filtered

04-17 10:39:08.532  3290  3290 E audit   : type=1400 audit(1555465148.524:65249): avc:  denied  { getattr } for  pid=26677 comm="netstat" path="/proc/keys" dev="proc" ino=4026534984 scontext=u:r:untrusted_app:s0:c512,c768 tcontext=u:object_r:proc:s0 tclass=file permissive=0 SEPF_SM-G930S_8.0.0_0017 audit_filtered

04-17 10:39:13.098  3668  4168 E Watchdog: !@Sync 16389 [2019-04-17 10:39:13.098]

04-17 10:39:22.757  3668  3692 E memtrack: Couldn't load memtrack module

04-17 10:39:22.861  3668  3692 E memtrack: Couldn't load memtrack module

 

핵심은 아래 부분이다.

04-17 10:38:47.012  3668 12103 E Parcel  : Class not found when unmarshalling: com.google.android.gms.auth.api.signin.internal.SignInConfiguration

04-17 10:38:47.012  3668 12103 E Parcel  : java.lang.ClassNotFoundException: com.google.android.gms.auth.api.signin.internal.SignInConfiguration

 

찾아보니까 oatuh2.0 사인을 안해서 발생하는 오류라고 나오는데 앱을 먼저 출시를 하지 않으면 위와 같은 오류가 발생한다고 한다.

그래서 앱을 먼저 출시하였다.

 

 

앱을 출시하였더니 오류가 말끔히 사라지고 정상적으로 작동함을 확인하였다.

출시는 알파출시만 해도 되고 출시만 하면 바로 리더보드 연동이 확인 가능하다.

 

연동 결과창

 

반응형
반응형

스압주의(엄청난 분량이다. 그냥 빌드 처음부터 끝까지 세세한것 전부다 기록했다.)


내가 사용하였던 IOS 기기장치, 맥북프로, 아이폰 6s


유니티 설치

일단 먼저 맥북에서 유니티를 받는다.

특별한 사유가 없으면 최신버전이 좋은 것 같다.

https://unity3d.com/kr/get-unity/download

와 맥북 미쳤네 얘네는 그냥 단순 캡쳐도 이미지 뒤에 그림자가 깔리네? 갓갓...


유니티에서 프로젝트를 연다.(나는 콜랩을 사용하였다.)



XCODE 설치

다음은 xcode를 설치해야 한다.

단 앱스토에서 설치하기보다는 애플 개발자 사이트에서 다운로드를 하는 곳이 있는데 그곳에서 설치를 하도록 하자.

https://developer.apple.com/download/

회원가입을 해야한다.


버전은 가장 최신버전을 받도록 하자. 그렇지 않으면 아이폰 빌드시 xcode가 지원하지 않는 버전이라고 하면서 빌드가 안된다.


오류가 나지 않는다면 해당 부분은 넘어가도록 한다.

설치시 macos버전 10.13.6 이상이 필요하기 때문에 ... 오류

하지만 엄청난 대용량의 xcode를 기껏 받고 실행하려고 하면 macos버전 10.13.6 이상이 필요하기 때문에 ... 이런 오류가 나면서 설치가 안된다.

영어로 하자면 xcode can’t be installed on macos because macos version 10.13.6 or later is required 이런 식의 오류다.



맥버전별로 xcode가 돌아가는 버전이 나눠져있다.

마치 윈도우 7에서는 비쥬얼 스튜디오 2018이 안돌아가니 윈도우 10으로 업데이트 해야한다. 이런 느낌이다.

인터넷에서 찾아보면 자꾸 앱스토어에 가서 맥os를 업데이트 하라고 하는데 이미 최신이라서 업데이트 할 것이 없다.

더 찾아보니 os 자체를 업그레이드 해야한다.



당신의 맥의 os 명을 확인하자.


나같은경우 High Sierra로 최대 버전이 10.13.4 밖에 되지 않았다.

xcode 10을 돌리려면 High Sierra에서 Mojave로 업그레이드를 해야한다.(맥 os는 유명 지역이름을 따서 하는듯하다.)

이 업그레이드는 앱스토어에서 진행하는 것이 아니라 애플 사이트에서 진행해야한다.

https://www.apple.com/kr/macos/mojave/


업그레이드를 하고 버전이 올라간 것을 보고 나면 이제 xcode 설치가 잘 될것이다.



실행하면 위와 같은 화면이 나올 것 이다.


유니티 IOS 빌드

유니티로 넘어가서 ios Build를 하도록 하자


iOS를 누르고 switch platform을 하자.

이 과정에서 오류가 나는 사람이 있고 나지 않는 사람이 있는데 나같은 경우는 unity ios could not find file uielementsmodule.dll 라는 원인 불명, 잘 알려지지도 않은 오류가 발생하였다.

해당 내용은 아래에 적도록 하겠다.


Player Settings에서 위의 옵션만 바꾸었다.

configuration 부분을 어떻게 설정하느냐에 따라서 빌드오류가 나기 때문에 잘 설정하도록 하자.

본인은 4.5로 했다가 오류가 엄청나서 다시 기본 세팅으로 바꾸니까 잘 되었다.


빌드 경로를 지정해준다.

안드로이드에서 gradle 빌드와 비슷하다고 보면 된다.

빌드하고나서 해당 소스를 xcode로 불러와서 다시 iphone으로 빌드해준다고 보면 된다.



unity ios could not find file uielementsmodule.dll 오류

이유랑 결과도 잘 나오지 않는 오류가 뜬다.

그냥 새로운 프로젝트를 빌드해보면 잘 되는 것을 봐서 내가 넣은 라이브러리의 오류인 듯 하다.


그래서 해본것은 아래와 같다.


빌드 configuration 변경 : 3.5 -> 4.5로 변경 등 이것저것 해봄

알 수 없는 오류만 더 나오고 그래서 그냥 3.5로 다시 하는 것이 맞는 것 같다.


새로운 프로젝트를 하나 만들고 거기에 내 어플리케이션의 필요한 소스들만 엎음

여전히 위의 오류가 발생하였음.


검색결과 프로젝트 최상단의 library 폴더를 삭제하라고 하여서 삭제해봄 : 삭제하고나서 프로젝트를 들어가보면 플랫폼이 ios로 안되어있고 기본 standalone으로 되어있어서 ios로 바꾸면 파일을 찾을 수 없다는 오류가 난다.

그냥 quit 하고 다시 들어가보면 플랫폼이 바뀌어져 있다. 

라이브러리 폴더 삭제하고 빌드하니까 잘 되더라.... 정확한 이유는 모르겠다.


XCODE에서 유니티 프로젝트 불러오기, 아이폰으로 빌드

유니티로 빌드한 파일을 찾아 들어가서 .xcworkspace로 시작하는 파일을 눌러서 프로젝트를 불러온다.

행여나 저 파일을 위에것으로 잘못 불러오면 이상한 오류가 난다. 꼭 알맞은 파일을 불러와서 프로젝트를 임포트 하도록 하자.


그리고 빌드를 하기 전에 pod를 맥에 설치하고 pod install을 하도록 하자.

node로 치자면 node 설치하고 npm install을 하는 것과 비슷하다.

https://cocoapods.org/


휴대폰을 맥북에 연결한뒤 개발 설정을 한다.


내용 생략


그러면 저 부분에 원래 Generic iOS Device로 되어있었을텐데

본인의 아이폰이 인식 될 것 이다.




그리고나서 빌드를 하려고 하면 오류들이 엄청 뜰텐데 일단 signing을 먼저 해야한다.

위 번호대로 눌러서 자동 사인을 하도록 하자.


활성화 선택


이 부분은 본인의 계정을 선택하자

별다른 라이브러리 설치를 하지않았다면 빌드를 하면 오류없이 빌드가 잘 될 것이다.

기본 유니티 프로젝트로 테스트를 해보니까 별다른 설정이 필요 없었다.


앱에 설치하려고 하면 위와 같은 오류가 뜰 것 이다.

아래대로 하자.









위와 같이 아이폰에서 설정을 하고나면 이제 빌드가 잘 될 것이다.


다음에는 유니티 iOS에 광고모듈 부착, 파이어베이스 설정, 출시를 하면서 발생하는 문제들에 대하여 포스팅 할 것이다.

반응형
반응형

빌드하는데 아래와 같이 알 수 없는 오류가 발생한다.


IOException: Sharing violation on path C:/jump/jump.apk

System.IO.File.Delete (System.String path) (at <ac823e2bb42b41bda67924a45a0173c3>:0)

UnityEditor.Android.PostProcessor.Tasks.MoveFinalPackage.Clean (System.String path) (at <e1c3953b4cf040ddb1400046b1c34897>:0)

UnityEditor.Android.PostProcessor.Tasks.MoveFinalPackage.CleanAPKs () (at <e1c3953b4cf040ddb1400046b1c34897>:0)

UnityEditor.Android.PostProcessor.Tasks.MoveFinalPackage.Execute (UnityEditor.Android.PostProcessor.PostProcessorContext context) (at <e1c3953b4cf040ddb1400046b1c34897>:0)

UnityEditor.Android.PostProcessor.PostProcessRunner.RunAllTasks (UnityEditor.Android.PostProcessor.PostProcessorContext context) (at <e1c3953b4cf040ddb1400046b1c34897>:0)

UnityEditor.Android.PostProcessAndroidPlayer.PostProcess (UnityEditor.BuildTarget target, System.String stagingAreaData, System.String stagingArea, System.String playerPackage, System.String installPath, System.String companyName, System.String productName, UnityEditor.BuildOptions options, UnityEditor.RuntimeClassRegistry usedClassRegistry, UnityEditor.Build.Reporting.BuildReport report) (at <e1c3953b4cf040ddb1400046b1c34897>:0)

UnityEditor.Android.AndroidBuildPostprocessor.PostProcess (UnityEditor.Modules.BuildPostProcessArgs args, UnityEditor.BuildProperties& outProperties) (at <e1c3953b4cf040ddb1400046b1c34897>:0)

UnityEditor.PostprocessBuildPlayer.Postprocess (UnityEditor.BuildTargetGroup targetGroup, UnityEditor.BuildTarget target, System.String installPath, System.String companyName, System.String productName, System.Int32 width, System.Int32 height, UnityEditor.BuildOptions options, UnityEditor.RuntimeClassRegistry usedClassRegistry, UnityEditor.Build.Reporting.BuildReport report) (at C:/buildslave/unity/build/Editor/Mono/BuildPipeline/PostprocessBuildPlayer.cs:286)

UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr)


대강 느낌상 C:/jump/jump.apk 파일을 삭제할 수 없다는 오류로 이해가 되어서 확인해보니 apk파일을 반디집으로 열고있어서 삭제가 안돼서 apk를 덮어씌워서 생성할 수가 없어서 생기는 오류였다.

반응형
반응형

패브릭에서 오류 메시지를 발견했다.



Fatal Exception: java.lang.Error: FATAL EXCEPTION [main]

Unity version     : 2018.3.0f2

Device model      : TrendMicro GI-I9500_TMMARS

Device fingerprint: Samsung/unia_x86/vmi:5.1/LMY47D/roland10201431:userdebug/test-keys


정확히 어떤 경우에 발생하는지는 모르겠지만 안드로이드 java에서 native로 지원하는 함수가 없어서 발생한 오류임을 짐작하였다.


Caused by java.lang.UnsatisfiedLinkError: No implementation found for void com.unity3d.player.UnityPlayer.nativeRestartActivityIndicator() (


nativeRestartActivityIndicator라는 메소드 명을봐서는 지금 내 앱에서 겪고있는 문제가 앱을 전환하였을때 오류가 발생한다고 하는데 그 오류인 것 같다.(정확하지는 않음)


그래서 구글에서 찾아보니 빌드했을때 

빌드 gradle에

ndk {
    abiFilters 'armeabi-v7a', 'x86'
}

위와 같이 설정하라고 한다.


어디선가 익숙하다 싶었는데 빌드할때 용량줄이려고 target architectures에서 x86부분을 체크를 해줬던 기억이 났다.

다시 x86부분을 체크하고 빌드를 하였다.


x86을 체크하냐 마냐에 따라서 아래 apk파일아래에 x86폴더가 만들어지는지 안만들어지는지 차이가 생기는 것을 봐서 이 부분을 체크해주면 문제가 해결될 것 같다.

위는 apk아래 lib폴더 아래에서 볼 수 있다.

만약에 빌드시 x86을 체크해제하면 x86 부분이 없어진다.


또한 문제가 발생한 기기의 cpu 기반이 x86인것을 봐서는 이 문제가 맞는 것 같다.

반응형
반응형

CommandInvokationFailure: Unable to install APK to device. Please make sure the Android SDK is installed and is properly configured in the Editor. See the Console for more details.

C:\Android\sdk\platform-tools\adb.exe -s "ce051605d060b10404" install -r "C:\jump\jump.apk"


stderr[

adb: failed to install C:\jump\jump.apk: 

]


보통 다른 블로그에서는 설치시 이미 설치되어있는 앱을 삭제하라고 나와있는데 그런 오류가 아니다.

알고보니까 핸드폰의 용량이 부족했다.


영화한편 지우고 나니까 잘됨

ㅡㅡ 아오 또 쓸모없는 삽질

반응형
반응형

유니티 파이어베이스 설치시 Microsoft.VC90.CRT.manifest could not be extracted! 오류가 발생한다.

국내나 해외나 해결방법에 대한 글이 거의 없다.

꽤나 오랜시간을 뒤져봤다.

주로 vc 9.0을 다시 설치하라고 하는데 많이 해봤지만 해결하지 못한다.


원인은 generate_xml_from_google_services_json.exe파일이 Microsoft.VC90.CRT.manifest을 찾지 못하면서 발생하는 문제다.


그래도 오래걸리지는 않으니까 한번 시도해보자

https://community.norton.com/en/forums/dependent-assembly-microsoftvc90crt-could-not-be-found

1. Microsoft Visual C++ 2008 Redistributable Package:

http://www.microsoft.com/downloads/en/details.aspx?FamilyID=9b2da534-3e03-4391-8a4d-074b9f2bc1bf&displaylang=en(link is external)

2. Microsoft Visual C++ 2008 SP1 Redistributable Package:

http://www.microsoft.com/downloads/en/details.aspx?FamilyID=a5c84275-3b97-4ab7-a40d-3802b2af5fc2&displaylang=en(link is external)

3. Microsoft Visual C++ 2010 SP1 Redistributable Package:

http://www.microsoft.com/downloads/en/details.aspx?FamilyID=c32f406a-f8fc-4164-b6eb-5328b8578f03


그 다음으로는 닷넷도 설치해보고 이것저것 많이 해봤는데


현재 작동중인 계정의 유저이름이 영어가 아니라서 이런다고 한다.

지금 당장 C:\Users로 가서 현재 계정이 한글인지 확인해보자

한글이라면 계정을 새로 생성해서 빌드를 해보자


영어로 윈도우 계정을 새로 파서 generate_xml_from_google_services_json.exe를 실행해보면 이제 위의 오류가 나오지 않는다.


유저명 폴더 한글에서 영어로 바꾸니까 잘된다.

아 화난다...

반응형
반응형

applovin과 마찬가지로 페이스북에서 AudienceNetwork.aar 플러그인을 설치하면 아래 오류가 발생한다.

페이스북의 최신 sdk파일을 받고 넣어주면 오류가 없어진다.


 Caused by: java.lang.ClassNotFoundException: Didn't find class "com.facebook.ads.BidderTokenProvider"


FacebookAudience-sdk.jar


반응형
반응형

Applovin을 설치하고 안드로이드로 빌드하면

unity AppLovinSdkajava.lang.NoSuchMethodError: No interface method getBidToken()Ljava/lang/String;

오류가 난다.


인터넷에서 떠돌아다니는 Applovin 라이브러리를 사용하면 버전이 낮아서 그런지 오류가 난다.


https://mvnrepository.com/artifact/com.applovin/applovin-sdk/9.1.3

여기서 가장 최신의 applovin sdk를 받아준다음에

aar파일이지만 압축파일이므로 확장자를 zip으로 바꾸고 그 안에 있는 jar파일을 applovin-sdk-9.1.3.jar로 이름을 바꿔준뒤에

Assets\Plugins\Android에 넣어서 빌드해보면 에러없이 잘 된다.

반응형