gcmregistrar jar Eclipseでエラーが発生し、ソースが見つかりません。デバッグを停止します
-
11-12-2019 - |
質問
私はGoogle GCMを使ってAndroidアプリを登録しようとしていて、Eclipseでエラーが発生しているようです。
登録したかどうかを確認しようとするとすぐに吹き飛ばされます。そのコンパイルは罰金を付けて、GCMよりもJavaとEclipseを理解していないが、誰が知っていると思いますが、これが私のことを知っていると思いますが、を知っていると思います。
import com.google.android.gcm.GCMRegistrar;
を無視するためのステップフィルタを追加しました
そして私のローカルlibsフォルダにプロジェクトとビルドパスを含むgdm.jarライブラリを必ず含めました。
コードを踏み込んだ場合、com.google.android.gcm.*
が参照されている最初の行にステップを踏み込もうとし、「ソースが見つかりません」と表示されます。ブレークポイントを置くと、GCMRegistrar
にヒットして「ソースが見つかりません」と答えると停止します。
private void checkRegistration(){
try{
if (!GCMRegistrar.isRegistered(getApplicationContext())) {
// Automatically registers application on startup.
GCMRegistrar.register(getApplicationContext(), Utilities.GCM_SENDER_ID);
} else {
final String regId = GCMRegistrar.getRegistrationId(getApplicationContext());
if(regId.equals("")){
GCMRegistrar.register(getApplicationContext(), Utilities.GCM_SENDER_ID);
}else{
// Device is already registered on GCM
if(regId == Utilities.getGcmRegKey(this)){
}else{
pwClient.updateGCMRef("add", regId, Utilities.getApiKey(this), Utilities.getDeviceId(this));
Utilities.setGcmRegKey(this, regId);
}
}
}
}catch(Exception ex){
Log.e("PW", "register error: " + ex.getMessage());
}
}
}
. 解決
私は私のGCMプロジェクトの作業をやめなければなりませんでしたが、私は少なくともGCMクライアント側のもののソースを取得することを管理しましたので、ビットをデバッグするのに役立ちます。 R17 SDKツールから始めて、GoogleはソースとJavadocsを正しい痛みに添付していましたが、それはできることです。
gcm.jarが見つかったのと同じ 'dist'ディレクトリにあるjar gcm-src.jar - それがソースです。そのため、libsディレクトリでgcm.jar.propertiesという新しいファイルを作成します。
のような1行を含むべきです
src=C:\\dev\\tools\\android-sdk-windows4.1\\extras\\google\\gcm\\gcm-client\\dist\\gcm-src.jar
.
(SDKのインストールを参照するためにこれを編集して、Linux上にある場合は\\ sからsを変更します)
今すぐプロジェクトを閉じてそれを再開し、そうでなければそれはうまくいきません、天はなぜなぜ!
は、「hover over」Javadocタイプのポップアップを持ち、gcmregistrar静的メソッドに入ることができます。なぜあなたのコードが吹くのかについて、多分これはあなたを近づけるでしょう。
偶然に、私のプロジェクトをベースにしたサンプルコードは登録開始時にこれら2行を持っていました
// Check that the device supports GCM (should be in a try / catch)
GCMRegistrar.checkDevice(this);
// Check the manifest to be sure this app has all the required permissions.
GCMRegistrar.checkManifest(this);
.
彼らは物事にいくつかの光を流させるかもしれません
他のヒント
秒で、プロジェクトを右クリックしてプロパティ=> javaビルドパス=> ライブラリタブを選択し、gcm.jarが存在することを確認します。リスト