2016-12-16 2 views
1

Я создал приложение для входа в систему с помощью facebook. Когда я нажимаю кнопку входа в систему, она показывает эту ошибку.java.lang.NoSuchMethodError: android.support.v4.app.ActivityCompat.startActivity

E/AndroidRuntime: FATAL EXCEPTION: main 
        Process: com.myapp.test, PID: 16970 
        java.lang.NoSuchMethodError: android.support.v4.app.ActivityCompat.startActivity 
         at android.support.customtabs.CustomTabsIntent.launchUrl(CustomTabsIntent.java:200) 
         at com.facebook.internal.CustomTab.openCustomTab(CustomTab.java:48) 
         at com.facebook.CustomTabMainActivity.onCreate(CustomTabMainActivity.java:67) 
         at android.app.Activity.performCreate(Activity.java:5299) 
         at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087) 
         at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2151) 
         at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2236) 
         at android.app.ActivityThread.access$800(ActivityThread.java:138) 
         at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1199) 
         at android.os.Handler.dispatchMessage(Handler.java:102) 
         at android.os.Looper.loop(Looper.java:136) 
         at android.app.ActivityThread.main(ActivityThread.java:5061) 
         at java.lang.reflect.Method.invokeNative(Native Method) 
         at java.lang.reflect.Method.invoke(Method.java:515) 
         at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:787) 
         at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:603) 
         at dalvik.system.NativeStart.main(Native Method) 

У меня есть зависимости проверки в build.gradle, у меня есть AppCompat библиотека

compile 'com.android.support:appcompat-v7:25.0.1'

Я думаю, что это последнее.

Кто-нибудь когда-нибудь видел это? Пожалуйста помоги.

Я прочел следующее: https://stackoverflow.com/a/39300065/5241603 Не помогло.

+0

Вы пытаетесь добавить 'com.android.support:support-v4? –

+0

Позвольте мне попробовать и рассказать вам позже. –

+0

@HareshChhelana Не нужно. Он включен в 'appcompat-v7: 25.0.1'. –

ответ

4

Не знаю, поможет ли это вам, но в моем случае (я имею Facebook SDK в мое приложение с custom tabs enabled) произошло это ошибка, когда пользователь (без установленного приложения Facebook) попытался войти.

Exception java.lang.NoSuchMethodError: No virtual method launchUrl(Landroid/app/Activity;Landroid/net/Uri;)V in class Landroid/support/customtabs/CustomTabsIntent; or its super classes 
com.facebook.internal.CustomTab.openCustomTab (CustomTab.java:48) 

Обновление зависимости использовать последнюю версию SDK (они перешли на customtabs: 25.0.0 в версии 4.17.0)

compile 'com.facebook.android:facebook-android-sdk:4.17.0' 

исправили проблему.

Я также использую пользовательские вкладки (v25.0.0) в своем приложении и не имею проблем с ними. Если это не ваш случай you can check what they've changed.

Answer по mat

+0

Это все еще проблема со следующими зависимостями: 'compile 'com.android.support:customtabs:25.0.1" 'и' compile' com.facebook.android:facebook-android-sdk:4.19.0 ' ' – toobsco42

+0

@ toobsco42 См. Мой ответ. – Mohammad

+1

Спасибо. Facebook сосет –

0

В вашей трассировке стека кажется, что вы используете v4 ActivityCompat с импортом v7 ActivityCompat. Попробуйте проверить импорт в классе ActivityCompat, который должен быть запущен, и убедитесь, что вы используете правильную версию (7, а не 4).

+0

Позвольте мне попробовать и рассказать вам позже –

1

Использование

compile 'com.facebook.android:facebook-android-sdk:4.20.0' 
compile 'com.android.support:customtabs:25.2.0' 

решить эту проблему для меня