AndroidStudio × Genymotion으로 Google Maps Android APIv2의 노트 이동하기

개시하다


안드로이드 스튜디오와 지니모션은 고속 안드로이드 개발을 즐길 수 있지만 Google Maps 안드로이드 APIv2를 사용하다가 넘어져서 적어놨어요.

전제 조건


Android Studio 및 Genymotion 설치가 완료되었음을 나타냅니다.

Genymotion에 Google Play Services 설치


먼저 Genymotion에 Google Play Services가 설치되어 있지 않습니다.그래서 이걸 먼저 설치할게요.

1. 필요한 콘텐츠 다운로드


먼저 다운로드ARM Translation Installer v1.1
그 뒤에
* Google Apps for Android 4.4
* Google Apps for Android 4.3
* Google Apps for Android 4.2
* Google Apps for Android 4.1
에서 에뮬레이터 버전의 내용을 다운로드합니다.

2. 다운로드한 것을 Genymotion에 설치


다운로드한 zip 파일을 Genymotion VM으로 드래그합니다.File transfer in progress가 표시되면 대화 상자가 나타나므로 OK.

3. VM 재부팅


Genymotion VM 재부팅
Google Play Services가 Genymotion에 설치되어 있습니다.

Google Playservices SDK 가져오기

  • AndroiidStudio 메뉴 모음에서 아이콘
  • 을 클릭합니다.
  • Extras에서 Google Play 서비스 및 Google Repository 설치 선택
  • Android Studio
  • 를 재부팅하지 않도록 설정을 반영합니다.
    지금까지 Google Play Services SDK 가져오기였습니다.

    항목에 넣다


    설치가 끝났으니 함께 프로젝트에 편입합시다
    1. "File"→"Project Structure"를 선택하여 Project Structure 열기
    2.'Modules'→'당신의 프로그램 이름'→'Dependencies'탭→'+'아이콘→'1Library dependency'대화상자가 나타나며 Google Play Services를 선택하면 OK

    3. 목록 반영을 기다리려면 OK 키를 누르고 Project Structure를 닫습니다.
    src 파일과 같은 층의build입니다.gradle 파일의dependencies에서
    ...
    dependencies {
        compile 'com.google.android.gms:play-services:+'
        ...中略...
    }
    ...
    
    이렇게 추가하면 오케이!

    Google API Console에서 APIkey 가져오기


  • Google APIs Console 연결
  • 왼쪽 Project 태그를 선택하여 새 프로젝트를 작성합니다.

  • 선택제작항목
  • APIs &auth->APIs와 함께 Google Maps Android APIv2 스위치
  • 열기
  • APIs &auth->Credentials와 함께Create new Key
  • 를 클릭

    여기서 안드로이드 키를 선택하면 다음 그림이 나와요.

    여기 맨 아래 칸에 입력해야 할 값은 다음과 같은 방식으로 터미널을 입력해서 얻을 수 있다
    Mac OS의 경우:
    keytool -list -v -keystore ~/.android/debug.keystore -alias androiddebugkey -storepass android -keypass android
    Windows OS:
    keytool -list -v -keystore "C:¥Users¥{Your account name}¥.android¥debug.keystore" -alias androiddebugkey -storepass android -keypass android
    
    이 값 +; +포장 이름은 다음과 같습니다.45:B5:E4:6F:36:AD:0A:98:94:B4:02:66:2B:12:17:F2:56:26:A0:E0;com.example.myapp.app이렇게 포장 이름을 모두 쓰지 않으면 정상적으로 작동할 수 없다.

    코드를 쓰다


    드디어 이루어집니다.
    MainActivity.java
    import android.app.Activity;
    import android.os.Bundle;
    
    public class MainActivity extends Activity {
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
        }
    }
    
    AndroidManifest.xml
    <?xml version="1.0" encoding="utf-8"?>
    <manifest xmlns:android="http://schemas.android.com/apk/res/android"
        package="com.example.myapp.app" >
        <uses-permission android:name="android.permission.INTERNET"/>
        <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
        <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
        <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
        <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
        <uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES"/>
        <uses-feature
            android:glEsVersion="0x00020000"
            android:required="true"/>
        <application
            android:allowBackup="true"
            android:icon="@drawable/ic_launcher"
            android:label="@string/app_name"
            android:theme="@style/AppTheme" >
            <meta-data
                android:name="com.google.android.gms.version"
                android:value="@integer/google_play_services_version" />
            <meta-data
                android:name="com.google.android.maps.v2.API_KEY"
                android:value="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"/>
            <activity 
                ・・・・中略・・・
            />
            </activity>
        </application>
    
    </manifest>
    
    activity_main.xml
    <?xml version="1.0" encoding="utf-8"?>
    <fragment xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/map"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:name="com.google.android.gms.maps.MapFragment"/>
    

    도저히 해결할 수 없는 착오가 생겼을 때.


    오류가 발생했을 때 보통 바로 해결할 수 있지만 해결하기 어려우면
  • VM에서 어플리케이션 제거
  • Android Studio에서 항목 정리
  • 그렇게 지도 모른다, 아마, 아마...

    끝맺다


    지금까지 안드로이드 스튜디오였습니다.× Genymotion에서 Google Maps Android APIv2를 시작할 수 있습니다!GPS에서 이동하는 등 실제 기기가 없으면 고통스럽지만, 대부분의 경우 폭발속도 시뮬레이터 지니모션으로 할 수 있다!

    좋은 웹페이지 즐겨찾기