Unity Android 빌드 중 아래와 같은 에러가 발생하며 빌드가 중지되는 경우가 있습니다.

이때는 그래들 버전을 3.4.3 이상으로 맞춰주면 됩니다.

AAPT: error: unexpected element <queries> found in <manifest>.

mainTemplate.gradle 에 buildscript, depencencies가 없는 경우 baseProjectTemplate.gradle을 수정해줘야 합니다.

Edit>Preferences>External Tools안에 있는 Gradle 경로 상단에 있는 GradleTemplates폴더에 baseProjectTemplate.gradle 파일 내부에 있는 그래들 버전을 변경해주면 됩니다.

Posted by 후미카
:

안드로이드 빌드 중 아래 에러가 발생한 경우 

SDK 폴더 > Tools 폴더에 있는 Package.mxl 파일에서 obsolete="true" 로 되어있는 값을 obsolete="false" 로 변경 뒤 유니티를 재실행, 빌드하면 해결 된다.

 

Android SDK is outdated

sdk tools version 0.0 < 26.1.1

Posted by 후미카
:

외부 라이브러리 가 androidx를 사용하거나 support 라이브러리를 사용 하는경우 둘이 충돌 날 수 있다.

해결방법은 androidx 또는 support 라이브러리로 맞춰주는 방법인데 라이브러리 수정이 불가능 한 경우 gradle.properties 에 옵션을 설정함으로 해결 할 수 있다.

 

gradle.properties 에 아래 두줄을 추가하면 해결

android.useAndroidX=true

android.enableJetifier=true

 

2줄 추가 후에도 해결되지 않는 경우 프로젝트 gradle 의 버전을 올려보자.

Posted by 후미카
:

UnsatifiedLinkError 의 경우 해당 so 파일을 찾지 못해서 앱이 죽는 경우 입니다.


해당 라이브러리 파일을 컴파일을 하지 않은 경우 컴파일을 해주면 해결이 되며 


컴파일을 한 경우에도 지속적으로 나오는 경우 안드로이드의 so 파일 설치 정책이 바뀌어서 발생하는 현상 입니다.


기존의 경우 armeabi 폴거의 so 파일을 복사 한 뒤 armeabi-v7a 폴더의 파일을 복사 했지만 최신 버전의 안드로이드의 경우 armeabi 폴더 또는 armeabi-v7a 폴더 중 해당하는 폴더만 복사되기 때문에 라이브러리 중 armeabi 만 지원하는 경우가 있다면 armeabi-v7a 폴더에서 해당 so 파일을 찾기 못해서 발생하는 에러 입니다.


해결 방법은 라이브러리에 추가된 armeabi-v7a 를 제거 하거나 모든 컴파일을 armeabi-v7a 를 추가하여 빌드 하여야 합니다.

Posted by 후미카
:

구글 플레이 게임 서비스를 사용하다보면 어플리케이션이 실행 될때(onStart 가 호출될 때) 자동으로 로그인 하는 기능이 있다.


이 기능을 키거나 끄기 위해서는 2가지 방법이 있다.


- 구글 플레이 게임 서비스 자동 로그인 켜고 끄는 방법

1.  GameHelper.setConnectOnstart(boolean connectOnStart) 함수를 사용하는 방법.

setConnectOnstart 함수를 사용해서 true 값을 입력해주면 자동 로그인이 켜지게 되고 false 값을 입력해주면 자동 로그인이 해제된다.

2. GameHelper 클래스의 변수값을 직접 변경하는 방법

GameHelper 클래스를 보면 mConnectOnStart라는 변수가 있다. 기본으로 true 가 되어 있는데 이 값이 true 일 경우 자동 로그인이 켜진 상태이고 false 인 경우 자동 로그인이 꺼진 상태이다. 이 값을 true 혹은 false 로 변경해준다면 자동 로그인을 켜고 끌 수 있다.



자동 로그인은 유지하는 편이 유저 편의상 좋을 것이다. 하지만 어플을 처음 실행 했을때 로그인 창이 나오는것은 거부감이 들 수 있다. 이 로그인창이 나오는 횟수를 조절 해 줄 수 있도록 되어있다. 이 로그인창은 유저가 로그인을 하지 않고 닫기 또는 취소를 눌렀을 경우 그 횟수를 저장하여 더이상 나오지 않도록 설계가 되어 있는데 이 횟수를 변경하여 나오지 않도록 하는 방법도 있다. 이 방법 역시 2가지 방법이 있다.


- 구글 플레이 게임 서비스 로그인창 출현 횟수 조절방법

1. GameHelper.setMaxAutoSignInAttempts(int max) 함수를 사용하는 방법.

setMaxAutoSignInAttempts 함수를 사용해서 해당하는 횟수를 입력해주면 처음 어플 실행시 나오는 로그인 창의 횟수를 조절 할 수 있다.

2. GameHelper 클래스의 변수값을 직접 변경하는 방법

GameHelper 클래스를 보면 DEFAULT_MAX_SIGN_IN_ATTEMPTS 라는 변수가 있다. 기본으로 3이 적용 되어 있는데 이값을 0으로 하면 처음부터 나오지 않게 되며 원하는 숫자를 넣게되면 해당하는 횟수만큼 닫기 또는 취소를 눌러야 더이상 나오지 않도록 할 수 있다.

'Development > Java' 카테고리의 다른 글

Byte Array <-> Integer  (0) 2014.05.30
javadoc 작성법  (0) 2013.10.22
제곱 구하는 방법  (0) 2013.09.04
각도 구하는 방법  (0) 2013.09.04
Posted by 후미카
:

1. 윈도우 미디어 플레이어 11을설치한다.

http://www.microsoft.com/ko-kr/download/details.aspx?id=2801


2. USB 드라이버를 다운받아서 설치한다.

http://developer.android.com/sdk/win-usb.html#top




윈도우 미디어 플레이어 11이 없어서 설치가 안되는 경우가 많으니 윈도우 미디어 플레이어 11을 반드시 설치 해 준다.

Posted by 후미카
:
이클립스 실행시 android SDK: Resolving error markers 가 뜨면서 더이상 진행이 되지 않는 경우



시작 - 실행 - CMD

이클립스 폴더로 이동 후 

eclipse -clean -refresh


cmd 에서 폴더 이동방법

cd 경로 


ex)  c드라이브에 있는 eclipse 폴더의 경우

cd c:\eclipse




Posted by 후미카
:

인앱빌링 개발 중 "사용자는 이 항목을 구입 할 수 없습니다." 라는 문구가 표시되면서 인앱 구매가 불가능 한 상황이 있다.


이때는 구글 플레이 개발자 콘솔에서 구글 계정을 테스트 권한이 있는 Gmail 계정에 추가 해주어야 합니다.


추가 한 뒤 적용 되는데 일정 시간이 걸립니다.


Posted by 후미카
:

파일관리자에서 어플 설치 후 최초 1회에 한해서 어플리케이션이 죽는 현상이 발견 되었다.


adb 또는 이클립스에서 설치시엔 문제가 발생하지 않지만 파일관리자로 설치 시에만 발생하는 문제 였다.


해결 방법은 유니티 최신 버전으로 업그레이드 혹은 매니페스트 에서 android:launchmode 를 변경 해 주는 방법이 있다.









하지만 안드로이드 Developer 에서는 SingleInstance 혹은 SingleTask 의 사용하지 않기를 권고하고 있습니다.


SingleInstance, SingleTask 를 사용하게 될 경우 충분한 테스트가 필요 할 것 같습니다.

Posted by 후미카
:

애드몹을 추가 해 준 뒤에 다음 코드를 싱행 시키면 바로 refresh 되면서 광고가 노출된다.


adView.setVisibility(View.VISIBLE);



Posted by 후미카
:

애드몹 전면광고는 메인 UI 스레드에서 호출 되어야 한다.


유니티 - 안드로이드 연동시에 loadAd 시 또는 isLoad 체크시에 어플이 에러로그 없이 종료 되는 현상이 있는데 이는 메인 UI스레드에서 실행하지 않았기 때문이다.


이를 해결하기 위해선 메인 UI 스레드에서 실행해 주면 되는데 해결 방법은 아래와 같다.


private InterstitialAd mInterstitial;


private void showInterstitial()
{
	runOnUiThread(new Runnable() {
			
		@Override
		public void run() {
			if (mInterstitial.isLoaded()) {
				Log.i(TAG,"call show");
				mInterstitial.show();
				
				loadInterstitial();
			}
		}
	});
}
Posted by 후미카
:

Device 에서 에뮬레이터 혹은 단말기를 선택 해 주면 됩니다.




Posted by 후미카
:

티스토어 서버와 연결 되었다는 메시지는 나오는데 검은 화면만 나오는 경우가 있다


그럴때는 매니페스트 파일에 다음 메타데이터를추가 해주면된다.


어플리케이션 태그 사이에 넣어주면된다.




<meta-data android:name="iap:api_version"  android:value="1" />
Posted by 후미카
:

TNK 개발 순서

1. SDK 라이브러리 등록

2. META DATA에 app id 등록

3. 퍼미션 등록

4. sdk 최소버전 4 이상으로 설정

5. 액티비티 등록

6. 버튼 누를시 또는 화면 이동시 광고 목록 띄우기

7. 포인트 조회, 인출, 아이템 구매 구현

7.1 - 일괄 설치 기능 추가(유저 편의)

7.2 - 자동 인출 또는 인출, 아이템구매 화면 구성

8. proguard 사용시 예외사항 추가
-keep class com.tnkfactory.**


Posted by 후미카
:

카테고리

전체보기 (102)
Development (102)

최근에 올라온 글

최근에 달린 댓글

최근에 받은 트랙백

달력

«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31

글 보관함