GCM を使用する Android アプリと、Google アプリ エンジンのアプリ バックエンドがあります。デバッグモードではすべて正常に動作します。私のIntentService「RegistrationIntentService」で、トークン呼び出しを取得します
InstanceID instanceID = InstanceID.getInstance(this);
String token = instanceID.getToken(SENDER_ID,
GoogleCloudMessaging.INSTANCE_ID_SCOPE, null);
sendRegistrationToServer(token);//send to app engine
そしてそれをアプリエンジンのバックエンドに渡します
private void sendRegistrationToServer(String token) {
//
if (regService == null) {
Registration.Builder builder = new Registration.Builder(AndroidHttp.newCompatibleTransport(), new AndroidJsonFactory(), null)
.setRootUrl("https://android-app-backend.appspot.com/_ah/api/");
//where android-app-backend corresponds to my own Project ID
regService = builder.build();
}
try {
regService.register(token).execute();
} catch (IOException e) {
e.printStackTrace();
}
}
プロガードを無効にする署名付き APK を生成する場合にも正常に動作します
(minifyEnabled false)
しかし、proguard を有効にする APK を生成すると、トークン (登録 ID) を取得できますが、それをクラウドに保存することはできません。Androidアプリケーションログが教えてくれます
D/libc﹕ Forward DNS query to netd(h=*****************.appspot.com s=^)
W/System.err com.google.api.client.googleapis.json.GoogleJsonResponseException:
404 Not Found
W/System.err﹕ Not Found
W/System.err﹕ at com.google.api.client.googleapis.services.json.AbstractGoogleJsonClientRequest.newExceptionOnError(Unknown Source)
W/System.err﹕ at com.google.api.client.googleapis.services.json.AbstractGoogleJsonClientRequest.newExceptionOnError(Unknown Source)
W/System.err﹕ at com.google.api.client.googleapis.services.AbstractGoogleClientRequest$1.interceptResponse(Unknown Source)
W/System.err﹕ at com.google.api.client.http.HttpRequest.execute(Unknown Source)
W/System.err﹕ at com.google.api.client.googleapis.services.AbstractGoogleClientRequest.executeUnparsed(Unknown Source)
W/System.err﹕ at com.google.api.client.googleapis.services.AbstractGoogleClientRequest.executeUnparsed(Unknown Source)
W/System.err﹕ at com.google.api.client.googleapis.services.AbstractGoogleClientRequest.execute(Unknown Source)
W/System.err﹕ at com.example.android.RegistrationIntentService.a(Unknown Source)
W/System.err﹕ at com.example.android.RegistrationIntentService.onHandleIntent(Unknown Source)
W/System.err﹕ at android.app.IntentService$ServiceHandler.handleMessage(IntentService.java:65)
W/System.err﹕ at android.os.Handler.dispatchMessage(Handler.java:99)
W/System.err﹕ at android.os.Looper.loop(Looper.java:137)
W/System.err﹕ at android.os.HandlerThread.run(HandlerThread.java:60)
私のプロガードファイルはデフォルトのファイル「proguard-android.txt」です。
どうすればその問題を解決できますか?