Google Map API keyをデバッグ、リリースで分ける
Google Map API Keyは、リリースとデバッグで分ける必要があったので、プログラムでdebugとreleaseの判定をできるようにしました。
ApplicationInfo.FLAG_DEBUGGABLEのフラグがたっているかで、判定しています。
ApplicationInfo appInfo = context.getPackageManager().getApplicationInfo(context.getPackageName(), 0); return ((appInfo.flags & ApplicationInfo.FLAG_DEBUGGABLE) == ApplicationInfo.FLAG_DEBUGGABLE);
サンプルコード
MapView map = new MapView(this, GoogleMapKey.getKey());
package jp.sharakova.app.android.golfcaddie.utils; import android.content.Context; import android.content.pm.ApplicationInfo; public class GoogleMapKey { public static String getKey (Context context) { // TODO: DEBUGとRELEASEのキーを記述 return isDebug(context) ? "DEBUG_GOOGLE_MAP_API_KEY" : "RELEASE_GOOGLE_MAP_API_KEY"; } private static Boolean isDebug(Context context){ try { ApplicationInfo appInfo = context.getPackageManager().getApplicationInfo(context.getPackageName(), 0); return ((appInfo.flags & ApplicationInfo.FLAG_DEBUGGABLE) == ApplicationInfo.FLAG_DEBUGGABLE); } catch (Exception e) { e.getStackTrace(); return false; } } }