環境
- mac
- Android Studio0.5.2
前回の続きです。
APIを取得した後は、プロジェクトからSDKを参照できるように設定します。
手順
- library dependencyを選択
- Google play servicesを選択
- applyを押す
- gradleでビルドが走る。
私の環境だと、この場でエラーが発生しました。原因はcompile 'com.google.android.gms:play-services:+'の部分。詳しくエラー内容を見るとgoogle repogitryが存在していなかったのでinstallしました。
installを終えたらもう一度ビルドします。今度はError:Main manifest has <uses-sdk android:minSdkVersion='8'> but library uses minSdkVersion='9'と出てビルド失敗。gradle.buildファイルのminSdkVersionの部分が8になっていたので、以下のように14に修正します。
apply plugin: 'android' android { compileSdkVersion 19 buildToolsVersion '19.0.3' defaultConfig { minSdkVersion 14 targetSdkVersion 19 versionCode 1 versionName "1.0" } buildTypes { release { runProguard false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt' } } } dependencies { compile 'com.android.support:appcompat-v7:+' compile fileTree(dir: 'libs', include: ['*.jar']) compile 'com.google.android.gms:play-services:+' }
もう一度ビルドするとGradle invocation completed successfully in 27 secが出て成功。
manifest.xmlを変更
google maps android API v2の使用に必要なmanifest.xmlファイルに以下のおまじないを追加します。
manifest.xml<!-- 追加パーミッション1:Google Maps Android API のアクセス許可 --> <permission android:name="com.rakuraku.android.ekimap.permission.MAPS_RECEIVE" android:protectionLevel="signature" /> <uses-permission android:name="com.rakuraku.android.ekimap.permission.MAPS_RECEIVE" /> <!-- 追加パーミッション2:現在位置取得のため --> <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> <!-- 追加パーミッション3:Google Mapsの動作に必要 --> <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="com.google.android.providers.gsf.permission.READ_GSERVICES" /> <!-- 追加パーミッション4:OpenGL ES version 2(地図描画用) --> <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="@string/map_key"/> <activity android:name="com.example.mapapplication.app.MainActivity" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application>
おまじないが多いですが、仕方ありません。さらにres/stringsとres/integersのresourceファイルにもAPI keyとGoogle Play Servicesのversionを設定します。
strings.xml<?xml version="1.0" encoding="utf-8"?> <resources> <string name="app_name">MapApplication</string> <string name="hello_world">Hello world!</string> <string name="action_settings">Settings</string> <string name="map_key">AAAAAAAAAAAAAA11111111111111</string> </resources>integers.xml
<?xml version="1.0" encoding="utf-8"?> <resources> <integer name="google_play_services_version">4323000</integer> </resources>
これでようやくjavaプログラムの実装を開始できます。長くなったのでまたまた続きます。次回で終わる予定です。
0 件のコメント:
コメントを投稿