목차

반응형

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

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

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 사인을 안해서 발생하는 오류라고 나오는데 앱을 먼저 출시를 하지 않으면 위와 같은 오류가 발생한다고 한다.

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

 

 

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

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

 

연동 결과창

 

반응형
반응형

유니티에서 파티클을 자동으로 제거하는 방법에 대해서 알아보자.

스크립트가 무조건 필요하다.

ParticleSystem.IsAlive(true)인지 질의하여 파티클을 삭제하는 스크립트를 추가하면 되는데 아래 에셋에서 더 좋은 기능이 첨부되어 있는 스크립트를 찾았다.

JMO Assets - Cartoon FX - 파티클 프리팹 - CFX_AutoDestructShuriken 스크립트

 

[RequireComponent(typeof(ParticleSystem))]
public class CFX_AutoDestructShuriken : MonoBehaviour
{
	// If true, deactivate the object instead of destroying it
	public bool OnlyDeactivate;
	
	void OnEnable()
	{
		StartCoroutine("CheckIfAlive");
	}
	
	IEnumerator CheckIfAlive ()
	{
		ParticleSystem ps = this.GetComponent();
		
		while(true && ps != null)
		{
			yield return new WaitForSeconds(0.5f);
			if(!ps.IsAlive(true))
			{
				if(OnlyDeactivate)
				{
					#if UNITY_3_5
						this.gameObject.SetActiveRecursively(false);
					#else
						this.gameObject.SetActive(false);
					#endif
				}
				else
					GameObject.Destroy(this.gameObject);
				break;
			}
		}
	}
}

요렇게 하면 좋은점은 프리팹에서 OnlyDeactivate를 체크하면 파티클이 플레이가 끝나도 파티클을 삭제하지 않고 비활성화만 해주는 추가적인 기능이 있어서 더 좋다.

반응형