Androidアプリケーションが「アプリケーションxxxx申し訳ありませんが停止しました」と表示され、合格時に発生するデバッガーを実行すると、プッシュ通知を処理するという問題があります。
方法1
InstanceID InstanceId = InstanceID.getInstance (context);
token = instanceID.getToken (key_id.toString ()
GoogleCloudMessaging.INSTANCE_ID_SCOPE); getToken error,
方法2
両方とも同じ間違い
if (googleCloudMessaging == null) {
googleCloudMessaging = GoogleCloudMessaging.getInstance(context);
}
token = googleCloudMessaging.register(key_id);
トークンは生成されますが、アプリケーションは閉じられていることに注意してください。エラー:
"The method 'Java.io.File Android.support.v4.content.ContextCompat.getNoBackupFilesDir (Android.content.Context)' was expected to be of type virtual but was found to be Instead of direct type (declaration of 'Java.lang .reflect.ArtMethod 'appears in /system/framework/core-libart.jar)"
Android studio、cdvCompileSdkVersion = Android-22 cdvBuildToolsVersion = 22.0.1の場合
エラー:
"FATAL EXCEPTION: main
Process: PID: 11989
Java.lang.IncompatibleClassChangeError: The method 'Java.io.File Android.support.v4.content.ContextCompat.getNoBackupFilesDir(Android.content.Context)' was expected to be of type virtual but instead was found to be of type direct (declaration of 'Java.lang.reflect.ArtMethod' appears in /system/framework/core-libart.jar)
at com.google.Android.gms.iid.zzd.zzde(Unknown Source)
at com.google.Android.gms.iid.zzd.<init>(Unknown Source)
at com.google.Android.gms.iid.zzd.<init>(Unknown Source)
at com.google.Android.gms.iid.InstanceID.zza(Unknown Source)
at com.google.Android.gms.iid.InstanceID.getInstance(Unknown Source)
at com.google.Android.gms.iid.InstanceIDListenerService.zzn(Unknown Source)
at com.google.Android.gms.iid.InstanceIDListenerService.onStartCommand(Unknown Source)
at Android.app.ActivityThread.handleServiceArgs(ActivityThread.Java:2924)
at Android.app.ActivityThread.access$2100(ActivityThread.Java:155)
at Android.app.ActivityThread$H.handleMessage(ActivityThread.Java:1415)
at Android.os.Handler.dispatchMessage(Handler.Java:102)
at Android.os.Looper.loop(Looper.Java:135)
at Android.app.ActivityThread.main(ActivityThread.Java:5343)
at Java.lang.reflect.Method.invoke(Native Method)
at Java.lang.reflect.Method.invoke(Method.Java:372)
at com.Android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.Java:905)
at com.Android.internal.os.ZygoteInit.main(ZygoteInit.Java:700)"
何が問題なのですか?
よろしく、
Googleは、この問題が修正されたことをリリースノートで更新しました。バージョンを9.0.2に更新する必要があります。
リリースノートは次のとおりです。 https://developers.google.com/Android/guides/releases
あなたが経験している問題は、間の非互換性が原因ですplay-services / firebase sdk v9.0.0
およびcom.Android.support:appcompat-v7 >= 24
appcompat-v7> = 24に直接依存していない可能性がありますが、他のいくつかの依存関係は、利用可能な最新のappcompatを使用するように構成されています。
この問題を修正するために、リリースしたばかりのplay-services / firebase sdk
バージョン9.0.1
このマイナーリリースでは、appcompat-v7との非互換性が修正されるはずです。
私も同じエラーに直面しています。
[〜#〜]ソリューション[〜#〜]
これをgradleファイルに貼り付けるだけです
configurations.all {
resolutionStrategy {
force 'com.Android.support:design:23.4.0'
force 'com.Android.support:support-v4:23.4.0'
force 'com.Android.support:appcompat-v7:23.4.0'
}
}
この問題は、古いバージョンのサポートライブラリを含む依存関係があることです。 このリンクを確認してください
これが私のgradleファイルですこれをチェックしてください
gradle
apply plugin: 'com.Android.application'
Android {
signingConfigs {
config {
keyAlias 'hwindi'
keyPassword '123456'
storeFile file('D:/Company Projects/Hwindi/Project 2/Play_KeyStore/HwindiKeyStore.jks')
storePassword '123456'
}
}
compileSdkVersion 23
buildToolsVersion "23.0.2"
defaultConfig {
applicationId "com.hwindiapp.passenger"
minSdkVersion 16
targetSdkVersion 23
versionCode 7
versionName "1.6"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-Android.txt'), 'proguard-rules.pro'
}
}
packagingOptions {
exclude 'lib/arm64-v8a/libcardioDecider.so'
exclude 'lib/arm64-v8a/libcardioRecognizer.so'
exclude 'lib/arm64-v8a/libcardioRecognizer_tegra2.so'
exclude 'lib/arm64-v8a/libopencv_core.so'
exclude 'lib/arm64-v8a/libopencv_imgproc.so'
exclude 'lib/armeabi/libcardioDecider.so'
exclude 'lib/armeabi-v7a/libcardioDecider.so'
exclude 'lib/armeabi-v7a/libcardioRecognizer.so'
exclude 'lib/armeabi-v7a/libcardioRecognizer_tegra2.so'
exclude 'lib/armeabi-v7a/libopencv_core.so'
exclude 'lib/armeabi-v7a/libopencv_imgproc.so'
exclude 'lib/mips/libcardioDecider.so'
exclude 'lib/x86/libcardioDecider.so'
exclude 'lib/x86/libcardioRecognizer.so'
exclude 'lib/x86/libcardioRecognizer_tegra2.so'
exclude 'lib/x86/libopencv_core.so'
exclude 'lib/x86/libopencv_imgproc.so'
exclude 'lib/x86_64/libcardioDecider.so'
exclude 'lib/x86_64/libcardioRecognizer.so'
exclude 'lib/x86_64/libcardioRecognizer_tegra2.so'
exclude 'lib/x86_64/libopencv_core.so'
exclude 'lib/x86_64/libopencv_imgproc.so'
}
configurations.all {
resolutionStrategy {
force 'com.Android.support:design:23.4.0'
force 'com.Android.support:support-v4:23.4.0'
force 'com.Android.support:appcompat-v7:23.4.0'
}
}
}
repositories {
mavenCentral()
maven { url "https://jitpack.io" }
}
dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
compile 'com.Android.support:appcompat-v7:23.4.0'
compile 'com.Android.support:design:23.1.1'
compile 'com.Android.support:cardview-v7:23.1.1'
compile 'com.Android.support:recyclerview-v7:23.1.1+'
compile 'com.google.Android.gms:play-services-gcm:9.0.0'
compile 'com.google.Android.gms:play-services-location:9.0.0'
compile 'com.google.Android.gms:play-services-maps:9.0.0'
compile 'com.google.Android.gms:play-services-plus:9.0.0'
compile 'com.facebook.Android:facebook-Android-sdk:4+'
compile 'com.Paypal.sdk:Paypal-Android-sdk:2.13.3'
compile 'com.wdullaer:materialdatetimepicker:2.2.0'
compile 'com.mukesh:permissions:1.0.3'
}
最後に、この問題はv9.0.2で解決されます。 GooglePlay開発者サービスライブラリを更新するだけです。
compile 'com.google.Android.gms:play-services:9.0.2'
更新後、別のエラーが発生する可能性があります:ゼロ以外の終了値2で終了これに対する解決策は次のとおりです: Javaは非ゼロで終了しましたゼロ出口値2-Android Gradle
私が読んだ限りでは、AndroidのGCMクライアントアプリをFirebaseCloud Messagingに移行した後に発生したJava.lang.IllegalStateException: FirebaseApp with name [DEFAULT] doesn't exist
エラーは、の依存関係を追加した後、多くの開発者が遭遇しましたプロジェクトレベルのbuild.gradle
ファイルへのクラッシュレポート:
compile 'com.google.firebase:firebase-crash:9.0.0'
そのため、Firebase Crash Reportingを使用する場合は、クラッシュレポートがマルチプロセスで安全であることを確認する必要があります。そうしないと、 レポートのクラッシュ-既知の問題 で説明されているように、同時実行の問題が発生する可能性があります。
私が見つけた1つの考えられる解決策は、Androidコンテキストを設定し、オフライン永続性を有効にすることです。ここで、MainActivityのFirebaseDatabaseオブジェクトを介して有効にします。
FirebaseDatabase.getInstance().setPersistenceEnabled(true);
MainActivity.Javaのサンプルソリューション:
@Override
public void onCreate() {
super.onCreate();
if (!FirebaseApp.getApps(this).isEmpty()) {
FirebaseDatabase.getInstance().setPersistenceEnabled(true);
}
}
このSO post -- Java.lang.IllegalStateException:FirebaseApp with name [DEFAULT] が私の検索に役立ちました。それがあなたにも役立つことを願っています。
以下のコードを使用して問題を解決しました。更新されました
compileSdkVersion 24
buildToolsVersion "24.0.1"
.
.
.
dependencies
{
compile 'com.Android.support:recyclerview-v7:24.1.1'
compile "com.google.Android.gms:play-services-gcm:9.4.0"
}
これでGCMエラーが解決しました。