我有Android应用程序说的问题。 "应用程序xxxx抱歉停止"在执行调试程序时,使用push notificaction:
方法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,for 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)"
可能是什么问题?
此致
答案 0 :(得分:5)
Google已更新其发布说明此问题已修复,您只需将版本更新为9.0.2
以下是发行说明:https://developers.google.com/android/guides/releases
答案 1 :(得分:3)
您遇到的问题是由于两者之间不兼容
play-services / firebase sdk v9.0.0
和com.android.support:appcompat-v7 >= 24
您可能不是直接依赖于appcompat-v7&gt; = 24,但是其他一些依赖项被配置为使用最新的appcompat。
要解决此问题,我们刚刚发布了play-services / firebase sdk
版本 9.0.1
此次要版本应修复与appcompat-v7不兼容的问题!
答案 2 :(得分:1)
我也面临同样的错误。
<强>解强>
只需将其粘贴到您的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'
}
}
此问题是您具有包含旧版本支持库的依赖项。 CHECK THIS LINK
这是我的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'
}
答案 3 :(得分:0)
据我所知,在将Crash Reporting的依赖项添加到项目级别后,许多开发人员也遇到了在将GCM客户端应用程序迁移到Firebase云消息传递后遇到的java.lang.IllegalStateException: FirebaseApp with name [DEFAULT] doesn't exist
错误build.gradle
档案:
compile 'com.google.firebase:firebase-crash:9.0.0'
因此,如果您碰巧使用Firebase崩溃报告,则必须确保崩溃报告是多进程安全的。否则,它可能会导致Report Crashes - Known Issues中所述的并发问题。
我找到的一个可能的解决方案是设置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帖子java.lang.IllegalStateException: FirebaseApp with name [DEFAULT]帮助了我的搜索。我希望这对你也有帮助。
答案 4 :(得分:0)
最后, v9.0.2 解决了这个问题。只需更新Google Play服务库。
compile 'com.google.android.gms:play-services:9.0.2'
更新后,可能会发生另一个错误:以非零退出值2结束 这个的解决方案在这里:Java finished with non-zero exit value 2 - Android Gradle
答案 5 :(得分:0)
使用以下代码解决了问题。刚更新
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错误。