위치 선정 - 작성중

Unity 2016. 2. 29. 22:52

..

Posted by 11월30일
,

영알못이다보니.. 연동하는 것부터 애로사항이 많다.

분명 잘 찾아보면 자세한 메뉴얼이 있을 듯 하지만.. 일단 연동하면서 발생한 오류들을 기록해놓고자 한다.

목표는 작동이다;


일단 연동을 위해서 아래와 같이 Android SDK Manager에서 Google Play Services를 선택하여 설치한다.

설치를 완료하면 해당 프로젝트 및 관련 데이터들은 Android SDK 설치 하위 폴더 안에

extra/google 폴더 아래에 google_play_services라는 폴더가 생성 되어있다.


라이브러리 프로젝트는 extra/google/google_play_services/libproject 안에 들어있는데 무턱대고 프로젝트를

등록하여 사용하려고 하면 처음에는 정상 등록되는 듯 하지만 에러가 뜬다.

무슨 이유인가 확인하기 위해 라이브러리 등록정보를 확인해보니 아래와 같이 경로를 찾지 못한다.

그리고 아래와 같은 에러도 같이 출력 된다.

라이브러리 등록정보에서 해당 라이브러리를 제거하고 환경설정-Java Build Path탭 안에 해당 라이브러리

를 등록하여 시도하기도 했었는데 이는 잘못된 방법이고 완전하게 해결되는 부분도 아니다.

이 방법은 에러 내용 중 하나인 No resource found that matches the given name

(at 'value' with value'@integer/google_play_services_version'). 에 대한 에러가 해결되지 않는다.

(잘못된 예) 


정상적인 방법으로는 해당 라이브러리 프로젝트를 이클립스에서 import할 당시에

해당 옵션을 체크해준 상태에서 가져와야한다.

해당 옵션은 프로젝트를 원래 폴더에서 참조하는 것이 아니라, 현재 작업 폴더로 세팅되어 있는 경로로 프로젝트

를 복사하여 복사된 프로젝트를 import하는 옵션이다.


정상적인 방법으로 프로젝트를 등록했을 경우, 해당 라이브러리가 정상적으로 적용이 되며, 위에서 언급한 에러

중 하나 해결 된 것을 알 수 있다.

3개에서 2개로 에러가 줄었다.(1개는 에러에 관한 내용이 아니라 포함하지 않았다.)

나머지 2개에 대한 부분은 다음 날 수정..



막상 해결해보니, 정말 간단한 부분이여서, 한 페이지에서 마무리 짓고자 한다.

1. auth_suw_launcher cannot be resolved or is not a field

화면이 커서 내용은 잘 보이지 않으나, 요약하자면 다음과 같다

gen폴더 내에 R.java가 생성되지 않아 layout.xml인 auth_suw_launcher파일을 불러오지 못하는 것이었다.


해결방법은 아래 사진에 있는 Android 2.3.3을 클릭하여 최 상단으로 위치한 후에, Project를 clean하여 본다.

이 방법으로 해결이 되지 않을 경우, 다른 라이브러리가 참조하는 버전이 해당 버전보다 높은지를 확인하고,

그 버전과 동일하게 혹은 상위버전으로 맞춰준다.

google play library가 사용하는 버전이 5.0을 사용하고 있기 때문에, 이 프로젝트 버전 또한 5.0으로

맞추고 적용한 결과

R.java 파일이 각각 생성 되었다.

생성 이후에도 위와 같은 에러가 사라지지 않은 경우

import가 되어있는 곳에 import android.R;가 없는 지 확인 한 후, 있으면 지워준다음 저장해보자

2. Multi-catch  parameters are not allowed for source level below 1.7

java 컴파일러가 1.6 이하 버전의 경우 아래와 같이 한번에 여러개의 예외사항을 처리할 수 없다.

따라서 1.6버전에서 저 부분을 수정하고자 한다면 각 예외처리를 개수만큼 나눠서 작성해주면 된다.

그게 아니라 버전을 변경해도 문제가 없다면 이 처럼 버전을 1.7으로 맞춰주면 해당 오류가 깔끔하게 해결된다.

이제 모든 에러를 해결 한 후에, 앱을 폰에 심어 확인해 보니,

내가 생각한 예제가 아니였다 -.-, 나는 구글 플레이 계정 로그인 하는 인증 예제인 줄 알았는데

기존에 사용하던 기기에서, 백업된 앱 및 데이터를 사용하려는 기기로 복사하는 예제였다...

Posted by 11월30일
,
    /**
     * SyntaxHighlighter
     */
    function foo()
    {
        if (counter <= 10)
            return;
        // it works!
    }
Posted by 11월30일
,