facebookarchive / react-native-fbsdk

A React Native wrapper around the Facebook SDKs for Android and iOS. Provides access to Facebook login, sharing, graph requests, app events etc.
https://developers.facebook.com/docs/react-native
Other
2.99k stars 908 forks source link

Build Error: package android.support.annotation does not exist import android.support.annotation.Nullable #567

Closed roshan-p closed 5 years ago

roshan-p commented 5 years ago

I get this Erros after Android X migration, Please help Package.json "react-native": "0.57.0", "react-native-fbsdk": "^0.10.0",

Erros: > Task :react-native-fbsdk:compileReleaseJavaWithJavac FAILED /node_modules/react-native-fbsdk/android/src/main/java/com/facebook/reactnative/androidsdk/FBLikeViewManager.java:24: error: package android.support.annotation does not exist import android.support.annotation.Nullable; ^ /node_modules/react-native-fbsdk/android/src/main/java/com/facebook/reactnative/androidsdk/FBAppEventsLoggerModule.java:23: error: package android.support.annotation does not exist import android.support.annotation.Nullable; ^ /node_modules/react-native-fbsdk/android/src/main/java/com/facebook/reactnative/androidsdk/FBLoginButtonManager.java:23: error: package android.support.annotation does not exist import android.support.annotation.Nullable; ^ /node_modules/react-native-fbsdk/android/src/main/java/com/facebook/reactnative/androidsdk/FBLikeViewManager.java:51: error: cannot find symbol public void setObjectIdAndType(RCTLikeView likeView, @Nullable ReadableMap objectIdAndType) { ^ symbol: class Nullable location: class FBLikeViewManager /node_modules/react-native-fbsdk/android/src/main/java/com/facebook/reactnative/androidsdk/FBLikeViewManager.java:60: error: cannot find symbol public void setLikeViewStyle(RCTLikeView likeView, @Nullable String likeViewStyle) { ^ symbol: class Nullable location: class FBLikeViewManager /node_modules/react-native-fbsdk/android/src/main/java/com/facebook/reactnative/androidsdk/FBLikeViewManager.java:65: error: cannot find symbol public void setAuxiliaryViewPosition(RCTLikeView likeView, @Nullable String auxiliaryViewPosition) { ^ symbol: class Nullable location: class FBLikeViewManager /node_modules/react-native-fbsdk/android/src/main/java/com/facebook/reactnative/androidsdk/FBLikeViewManager.java:70: error: cannot find symbol public void setHorizontalAlignment(RCTLikeView likeView, @Nullable String horizontalAlignment) { ^ symbol: class Nullable location: class FBLikeViewManager /node_modules/react-native-fbsdk/android/src/main/java/com/facebook/reactnative/androidsdk/FBAppEventsLoggerModule.java:175: error: cannot find symbol @Nullable ReadableMap parameters) { ^ symbol: class Nullable location: class FBAppEventsLoggerModule /node_modules/react-native-fbsdk/android/src/main/java/com/facebook/reactnative/androidsdk/FBAppEventsLoggerModule.java:187: error: cannot find symbol public void logPushNotificationOpen(@Nullable ReadableMap payload) { ^ symbol: class Nullable location: class FBAppEventsLoggerModule /node_modules/react-native-fbsdk/android/src/main/java/com/facebook/reactnative/androidsdk/FBAppEventsLoggerModule.java:210: error: cannot find symbol @Nullable ^ symbol: class Nullable location: class FBAppEventsLoggerModule /node_modules/react-native-fbsdk/android/src/main/java/com/facebook/reactnative/androidsdk/FBLoginButtonManager.java:62: error: cannot find symbol public void setLoginBehavior(RCTLoginButton loginButton, @Nullable String loginBehavior) { ^ symbol: class Nullable location: class FBLoginButtonManager /node_modules/react-native-fbsdk/android/src/main/java/com/facebook/reactnative/androidsdk/FBLoginButtonManager.java:67: error: cannot find symbol public void setDefaultAudience(RCTLoginButton loginButton, @Nullable String defaultAudience) { ^ symbol: class Nullable location: class FBLoginButtonManager /react-native-fbsdk/android/src/main/java/com/facebook/reactnative/androidsdk/FBLoginButtonManager.java:74: error: cannot find symbol @Nullable ReadableArray publishPermissions) { ^ symbol: class Nullable location: class FBLoginButtonManager /node_modules/react-native-fbsdk/android/src/main/java/com/facebook/reactnative/androidsdk/FBLoginButtonManager.java:81: error: cannot find symbol @Nullable ReadableArray readPermissions){ ^ symbol: class Nullable location: class FBLoginButtonManager Note: Some input files use or override a deprecated API. Note: Recompile with -Xlint:deprecation for details. Note: /Users/xxxxx/Documents/GitHub/xxxxxxx/node_modules/react-native-fbsdk/android/src/main/java/com/facebook/reactnative/androidsdk/Utility.java uses unchecked or unsafe operations. Note: Recompile with -Xlint:unchecked for details.

redcancode commented 5 years ago

this is a very interesting issue. i think it shouldn't be happening. your error log mentions this file /node_modules/react-native-fbsdk/android/src/main/java/com/facebook/reactnative/androidsdk/FBLikeViewManager.java which doesn't exist in 0.10.0, you can check it in the repo. are you sure you've pulled in the correct version of this library?

roshan-p commented 5 years ago

@redcancode OK So I have tried delete node_modules re-install and build app again I still get the same errors but not with "FBLikeViewManager.java" anymore.

Errors: > Task :react-native-fbsdk:compileReleaseJavaWithJavac FAILED /Users/xxx.p/Documents/GitHub/xxx/node_modules/react-native-fbsdk/android/src/main/java/com/facebook/reactnative/androidsdk/FBAppEventsLoggerModule.java:23: error: package android.support.annotation does not exist import android.support.annotation.Nullable; ^ /Users/xxx.p/Documents/GitHub/xxx/node_modules/react-native-fbsdk/android/src/main/java/com/facebook/reactnative/androidsdk/FBLoginButtonManager.java:23: error: package android.support.annotation does not exist import android.support.annotation.Nullable; ^ /Users/xxx.p/Documents/GitHub/xxx/node_modules/react-native-fbsdk/android/src/main/java/com/facebook/reactnative/androidsdk/Utility.java:52: error: package android.support.annotation does not exist import android.support.annotation.Nullable; ^ /Users/xxx.p/Documents/GitHub/xxx/node_modules/react-native-fbsdk/android/src/main/java/com/facebook/reactnative/androidsdk/FBAppEventsLoggerModule.java:175: error: cannot find symbol @Nullable ReadableMap parameters) { ^ symbol: class Nullable location: class FBAppEventsLoggerModule /Users/xxx.p/Documents/GitHub/xxx/node_modules/react-native-fbsdk/android/src/main/java/com/facebook/reactnative/androidsdk/FBAppEventsLoggerModule.java:187: error: cannot find symbol public void logPushNotificationOpen(@Nullable ReadableMap payload) { ^ symbol: class Nullable location: class FBAppEventsLoggerModule /Users/xxx.p/Documents/GitHub/xxx/node_modules/react-native-fbsdk/android/src/main/java/com/facebook/reactnative/androidsdk/FBAppEventsLoggerModule.java:210: error: cannot find symbol @Nullable ^ symbol: class Nullable location: class FBAppEventsLoggerModule /Users/xxx.p/Documents/GitHub/xxx/node_modules/react-native-fbsdk/android/src/main/java/com/facebook/reactnative/androidsdk/FBAppEventsLoggerModule.java:226: error: cannot find symbol private @Nullable String getNullableString(ReadableMap data, String key) { ^ symbol: class Nullable location: class FBAppEventsLoggerModule /Users/xxx.p/Documents/GitHub/xxx/node_modules/react-native-fbsdk/android/src/main/java/com/facebook/reactnative/androidsdk/FBLoginButtonManager.java:57: error: cannot find symbol public void setLoginBehavior(RCTLoginButton loginButton, @Nullable String loginBehavior) { ^ symbol: class Nullable location: class FBLoginButtonManager /Users/xxx.p/Documents/GitHub/xxx/node_modules/react-native-fbsdk/android/src/main/java/com/facebook/reactnative/androidsdk/FBLoginButtonManager.java:62: error: cannot find symbol public void setDefaultAudience(RCTLoginButton loginButton, @Nullable String defaultAudience) { ^ symbol: class Nullable location: class FBLoginButtonManager /Users/xxx.p/Documents/GitHub/xxx/node_modules/react-native-fbsdk/android/src/main/java/com/facebook/reactnative/androidsdk/FBLoginButtonManager.java:69: error: cannot find symbol @Nullable ReadableArray publishPermissions) { ^ symbol: class Nullable location: class FBLoginButtonManager /Users/xxx.p/Documents/GitHub/xxx/node_modules/react-native-fbsdk/android/src/main/java/com/facebook/reactnative/androidsdk/Utility.java:306: error: cannot find symbol public static @Nullable List<String> reactArrayToStringList(@Nullable ReadableArray array) { ^ symbol: class Nullable location: class Utility /Users/xxx.p/Documents/GitHub/xxx/node_modules/react-native-fbsdk/android/src/main/java/com/facebook/reactnative/androidsdk/Utility.java:306: error: cannot find symbol public static @Nullable List<String> reactArrayToStringList(@Nullable ReadableArray array) { ^ symbol: class Nullable location: class Utility /Users/xxx.p/Documents/GitHub/xxx/node_modules/react-native-fbsdk/android/src/main/java/com/facebook/reactnative/androidsdk/FBLoginManagerModule.java:145: error: cannot find symbol loginManager.logIn(activity, ^ symbol: method logIn(Activity,List<String>) location: variable loginManager of type LoginManager /Users/xxx.p/Documents/GitHub/xxx/node_modules/react-native-fbsdk/android/src/main/java/com/facebook/reactnative/androidsdk/FBAppEventsLoggerModule.java:237: error: cannot find symbol AppEventsLogger.setUserData( ^ symbol: method setUserData(String,String,String,String,String,String,String,String,String,String) location: class AppEventsLogger /Users/xxx.p/Documents/GitHub/xxx/node_modules/react-native-fbsdk/android/src/main/java/com/facebook/reactnative/androidsdk/FBGraphRequestModule.java:155: error: no suitable constructor found for AccessToken(String,String,String,<null>,<null>,<null>,<null>,<null>,<null>,<null>) graphRequest.setAccessToken(new AccessToken( ^ constructor AccessToken.AccessToken(String,String,String,Collection<String>,Collection<String>,AccessTokenSource,Date,Date) is not applicable (actual and formal argument lists differ in length) constructor AccessToken.AccessToken(Parcel) is not applicable (actual and formal argument lists differ in length) /Users/xxx.p/Documents/GitHub/xxx/node_modules/react-native-fbsdk/android/src/main/java/com/facebook/reactnative/androidsdk/FBLoginButtonManager.java:70: error: cannot find symbol loginButton.setPermissions(Utility.reactArrayToStringList(publishPermissions)); ^ symbol: method setPermissions(List<String>) location: variable loginButton of type RCTLoginButton /Users/xxx.p/Documents/GitHub/xxx/node_modules/react-native-fbsdk/android/src/main/java/com/facebook/reactnative/androidsdk/Utility.java:68: error: no suitable constructor found for AccessToken(String,String,String,List<String>,List<String>,List<String>,AccessTokenSource,Date,Date,Date) return new AccessToken( ^ constructor AccessToken.AccessToken(String,String,String,Collection<String>,Collection<String>,AccessTokenSource,Date,Date) is not applicable (actual and formal argument lists differ in length) constructor AccessToken.AccessToken(Parcel) is not applicable (actual and formal argument lists differ in length) /Users/xxx.p/Documents/GitHub/xxx/node_modules/react-native-fbsdk/android/src/main/java/com/facebook/reactnative/androidsdk/Utility.java:95: error: cannot find symbol Arguments.fromJavaArgs(setToStringArray(accessToken.getExpiredPermissions()))); ^ symbol: method getExpiredPermissions() location: variable accessToken of type AccessToken /Users/xxx.p/Documents/GitHub/xxx/node_modules/react-native-fbsdk/android/src/main/java/com/facebook/reactnative/androidsdk/Utility.java:99: error: cannot find symbol map.putDouble("dataAccessExpirationTime", (double) accessToken.getDataAccessExpirationTime().getTime()); ^ symbol: method getDataAccessExpirationTime() location: variable accessToken of type AccessToken Note: Some input files use or override a deprecated API. Note: Recompile with -Xlint:deprecation for details. Note: /Users/xxx.p/Documents/GitHub/xxx/node_modules/react-native-fbsdk/android/src/main/java/com/facebook/reactnative/androidsdk/Utility.java uses unchecked or unsafe operations. Note: Recompile with -Xlint:unchecked for details. 19 errors

duarte-evocorp commented 5 years ago

Has anyone been able to solve the problem?

janicduplessis commented 5 years ago

Try version 1.0.0-rc.3 it should be compatible with androidx

tokinonagare commented 5 years ago

try to use androidx

// build.gradle 
implementation "androidx.annotation:annotation:1.1.0"

// where use it
import androidx.annotation.Nullable;
roshan-p commented 5 years ago

Try version 1.0.0-rc.3 it should be compatible with androidx

Thanks It's work! :)

ronakjain-2 commented 5 years ago

Try version 1.0.0-rc.3 it should be compatible with androidx

can you please tell us. which module of 1.0.0-rc.3 version we need to use and where to use it either in build.gradle or in package.json.

I am also getting the same issue when doing change Upgrade com.android.tools.build:gradle to v3.2.1. Upgrade compileSdkVersion to 28. Update your app to use Jetpack (AndroidX)

rkbansal commented 5 years ago

@ronakjain-2 , it will be react-native-fbsdk "react-native-fbsdk": "1.0.0-rc.3"

praveens96 commented 5 years ago

1.0.0-rc.3 solves this issue but receiving issue saying: error: constructor FBSDKPackage in class FBSDKPackage cannot be applied to given types; new FBSDKPackage()

NestedLooper commented 5 years ago

@praveens96 it needs to be new FBSDKPackage(mCallbackManager) If you have an additional new FBSDKPackage()without the callback manager being passed then remove it.

Also make sure you are not importing FBSDKPackage multiple times, as linking can add a second import. import com.facebook.reactnative.androidsdk.FBSDKPackage;

faith-hb commented 4 years ago

try to use androidx

// build.gradle 
implementation "androidx.annotation:annotation:1.1.0"

// where use it
import androidx.annotation.Nullable;

Still won't do

harleylovitos commented 4 years ago

try this one. https://flutter.dev/docs/development/packages-and-plugins/androidx-compatibility#not-recommended-manually-migrate-your-app

harleylovitos commented 4 years ago

i think this is the key

In android/gradle/wrapper/gradle-wrapper.properties change the line starting with distributionUrl like this: distributionUrl=https\://services.gradle.org/distributions/gradle-4.10.2-all.zip

harleylovitos commented 4 years ago

npx jetify

muzammilhussainshah commented 4 years ago

npx jetify

Working

tgamauf commented 4 years ago

try to use androidx

// build.gradle 
implementation "androidx.annotation:annotation:1.1.0"

// where use it
import androidx.annotation.Nullable;

This + installing npx seems to have done it for me.

fxbayuanggara commented 4 years ago

npx jetify

Thanks dude it works!

Liqiankun commented 4 years ago

Not working for me!

dhevendhiran-adt commented 4 years ago

npx jetify

Thanks. It saved my day. React native is terrible.

omprakashnitdgp commented 4 years ago

Thanks,

It worked for me as well

Liqiankun commented 4 years ago

build error: package com.android.annotations does not exist

YangShaoXiong commented 4 years ago

npx jetify

it works. thanks

ThaoTrinh commented 4 years ago

npx jetify

It worked for me. Thanks

jyoo commented 4 years ago

npx jetify

Thank you! 👍

cloudtenlabs commented 4 years ago

try this one. https://flutter.dev/docs/development/packages-and-plugins/androidx-compatibility#not-recommended-manually-migrate-your-app

Are you crazy?

surhidamatya commented 4 years ago

npx jetify

it works

hussainarthuna commented 4 years ago

npx jetify

Thank you so much 😊

rafamonterov commented 4 years ago

npx jetify

wow! saved me a ton of pain!

SECRET-esc commented 3 years ago

npx jetify

Thanks! It`s works !

priyanka-Sadh commented 3 years ago

npx jetify

Saviour !

khanhdevvn commented 3 years ago

npx jetify

Thankiu bro. you save mylife

AhmadBadah commented 3 years ago

npx jetify Thanks .. it's work :)