Closed Gamezpedia closed 6 years ago
@Gamezpedia The java.lang.NoSuchMethodError: No static method xxxx()Lcom/google/firebase/iid/yyyy;
errors most of the time mean you have a mismatched set of Firebase versions in your project.
Can you ensure you have added the gradle plugin noted in step 1.1 to the correct build.gradle
file and it is at the very top (line: 1) of the file?
https://documentation.onesignal.com/docs/android-sdk-setup#section-1-gradle-setup
This plugin ensure the a matching set of versions are used in your project
Yes i copy pasted from the docs:
here is my complete build.gradle file
////////////////////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////ONE SIGNAL
buildscript {
repositories {
maven { url 'https://plugins.gradle.org/m2/'}
}
dependencies {
classpath 'gradle.plugin.com.onesignal:onesignal-gradle-plugin:[0.11.0, 0.99.99]'
}
}
apply plugin: 'com.onesignal.androidsdk.onesignal-gradle-plugin'
repositories {
maven { url 'https://maven.google.com' }
}
////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////// APP
apply plugin: 'com.android.application'
android {
compileSdkVersion 27
buildToolsVersion '27.0.3'
defaultConfig {
applicationId "com.kyo.tests"
minSdkVersion 19
targetSdkVersion 27
versionCode 1
versionName "1.0"
manifestPlaceholders = [
onesignal_app_id: 'aaad82ac-4058-439e-9ffc-27012615e93f',
// Project number pulled from dashboard, local value is ignored.
onesignal_google_project_number: 'REMOTE'
]
}
buildTypes {
release {
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
debug {
applicationIdSuffix '.debug'
debuggable true
}
}
flavorDimensions "final"
productFlavors {
free{
dimension "final"
applicationId 'com.kyo.app'
}
paid {
dimension "final"
applicationId 'com.kyo.app.paid'
}
}
}
dependencies {
implementation fileTree(include: ['*.jar'], dir: 'libs')
implementation 'com.android.support:appcompat-v7:27.1.1'
implementation 'com.android.support.constraint:constraint-layout:1.1.2'
implementation 'com.google.firebase:firebase-core:16.0.1'
implementation 'com.google.android.gms:play-services-ads:15.0.1'
implementation 'com.onesignal:OneSignal:[3.9.1, 3.99.99]'
}
apply plugin: 'com.google.gms.google-services'
there are two flavors and each flavor have debug and release variants, along with google-services.json
files in each flavor folder.
i can see everything work in the Firebase analytics dashboard that each flavor is showing it's proper RELEASE & DEBUG versions separately and the activity too.
// OneSignal Initialization
OneSignal.startInit(this)
.inFocusDisplaying(OneSignal.OSInFocusDisplayOption.Notification)
.unsubscribeWhenNotificationsAreDisabled(true)
.init();
i also tried to pass the app id in init method
OneSignal.getCurrentOrNewInitBuilder()
.inFocusDisplaying(OneSignal.OSInFocusDisplayOption.None)
.unsubscribeWhenNotificationsAreDisabled(true)
.setNotificationReceivedHandler(new OneSignal.NotificationReceivedHandler() {
@Override
public void notificationReceived(OSNotification notification) {
Log.d("MAIN", "notificationReceived: RECVFD");
}
}).init();
OneSignal.init(this,"REMOTE","aaad82ac-4058-439e-9ffc-27012615e93f");
thanks
@Gamezpedia Thanks for all the details! I believe you are running into this issue https://github.com/OneSignal/OneSignal-Gradle-Plugin/issues/53. Adding the following should fix this
implementation 'com.google.firebase:firebase-messaging:17.0.0'
This is due to some breaking changes in com.google.firebase:firebase-core:16.0.0
that cause class missing errors with 15.x versions of firebase-messaging
. Updating it to version 17.0.0 fixes this issue. Since the method / class names were different I didn't suspect this was the same issue at first.
i added that but got this .
org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':app:transformClassesWithInstantRunForFreeDebug'.
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:100)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:70)
at org.gradle.api.internal.tasks.execution.OutputDirectoryCreatingTaskExecuter.execute(OutputDirectoryCreatingTaskExecuter.java:51)
at org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter.execute(SkipUpToDateTaskExecuter.java:62)
at org.gradle.api.internal.tasks.execution.ResolveTaskOutputCachingStateExecuter.execute(ResolveTaskOutputCachingStateExecuter.java:54)
at org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.java:60)
at org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter.execute(SkipEmptySourceFilesTaskExecuter.java:97)
at org.gradle.api.internal.tasks.execution.CleanupStaleOutputsExecuter.execute(CleanupStaleOutputsExecuter.java:87)
at org.gradle.api.internal.tasks.execution.ResolveTaskArtifactStateTaskExecuter.execute(ResolveTaskArtifactStateTaskExecuter.java:52)
at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:52)
at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:54)
at org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter.execute(ExecuteAtMostOnceTaskExecuter.java:43)
at org.gradle.api.internal.tasks.execution.CatchExceptionTaskExecuter.execute(CatchExceptionTaskExecuter.java:34)
at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker$1.run(DefaultTaskGraphExecuter.java:248)
at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:336)
at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:328)
at org.gradle.internal.progress.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:199)
at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:110)
at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.java:241)
at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.java:230)
at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker.processTask(DefaultTaskPlanExecutor.java:123)
at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker.access$200(DefaultTaskPlanExecutor.java:79)
at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker$1.execute(DefaultTaskPlanExecutor.java:104)
at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker$1.execute(DefaultTaskPlanExecutor.java:98)
at org.gradle.execution.taskgraph.DefaultTaskExecutionPlan.execute(DefaultTaskExecutionPlan.java:626)
at org.gradle.execution.taskgraph.DefaultTaskExecutionPlan.executeWithTask(DefaultTaskExecutionPlan.java:581)
at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker.run(DefaultTaskPlanExecutor.java:98)
at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:63)
at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:46)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:55)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.IllegalStateException: Unexpected inputs: ImmutableJarInput{name=com.google.firebase:firebase-messaging:15.0.2, file=H:\a\f\M\a\build\intermediates\transforms\desugar\free\debug\11.jar, contentTypes=CLASSES, scopes=EXTERNAL_LIBRARIES, status=REMOVED}
at com.google.common.base.Preconditions.checkState(Preconditions.java:456)
at com.android.build.gradle.internal.transforms.InstantRunTransform.transform(InstantRunTransform.java:173)
at com.android.build.gradle.internal.pipeline.TransformTask$2.call(TransformTask.java:221)
at com.android.build.gradle.internal.pipeline.TransformTask$2.call(TransformTask.java:217)
at com.android.builder.profile.ThreadRecorder.record(ThreadRecorder.java:102)
at com.android.build.gradle.internal.pipeline.TransformTask.transform(TransformTask.java:212)
at sun.reflect.GeneratedMethodAccessor284.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:73)
at org.gradle.api.internal.project.taskfactory.IncrementalTaskAction.doExecute(IncrementalTaskAction.java:46)
at org.gradle.api.internal.project.taskfactory.StandardTaskAction.execute(StandardTaskAction.java:39)
at org.gradle.api.internal.project.taskfactory.StandardTaskAction.execute(StandardTaskAction.java:26)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter$1.run(ExecuteActionsTaskExecuter.java:121)
at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:336)
at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:328)
at org.gradle.internal.progress.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:199)
at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:110)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeAction(ExecuteActionsTaskExecuter.java:110)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:92)
... 32 more
@Gamezpedia Can you try running Build > Clean Project?
If this does not help can you try disabling instant run as a work around for the time being? https://stackoverflow.com/a/47815223/1244574
@jkasten2 i was getting the same error as @Gamezpedia , adding firebase messaging and Build > Clean project worked for me.
@jkasten2 thanks; i solved it by removing everything related to OneSignal and then added
implementation 'com.google.firebase:firebase-messaging:17.0.0'
after the syn: again added the OneSignal things and build it. it is working now
Thanks for the solution guys! Was finding whats the problem for days edy
This issue was fixed in the 0.11.1 OneSignal-Gradle-Plugin update so the word around above is no longer needed.
Description:
i am getting notification but it is crashing the app .
Environment 1. What version of the Android SDK are you using?
compileSdkVersion 27 buildToolsVersion '27.0.3' minSdkVersion 19 targetSdkVersion 27
2. How did you add the SDK to your project (eg. maven)
maven
Steps to Reproduce Issue:
Followed the steps written in Android SDK setup guide https://documentation.onesignal.com/docs/android-sdk-setup
i searched on google it seems like something to do with Firebase messaging version i am not sure though.