java – Android twitter登录与Fabric结合,点击白屏,然后关闭白屏

我正在尝试使用fabric在android studio中设置twitter登录.一切都很好地构建,没有任何错误.

当我尝试在手机上运行应用程序并按下Twitter登录按钮时,它会进入白色屏幕并显示进度条,然后关闭并返回到带有twitter按钮的屏幕.它不会使应用程序崩溃,它只会给我一个错误.

我完全遵循了twitters开发人员文档.
这是我得到的错误

01-25 16:58:59.359 32491-32491/com.myegotest.ego_17012016 E/Twitter: SSO auth activity not found
01-25 16:58:59.369 827-1358/? E/Parcel: Class not found when unmarshalling: com.twitter.sdk.android.core.TwitterAuthConfig
01-25 16:58:59.369 827-1358/? E/Parcel: java.lang.ClassNotFoundException: com.twitter.sdk.android.core.TwitterAuthConfig
01-25 16:58:59.369 827-1358/? E/Parcel:  Caused by: java.lang.NoClassDefFoundError: com/twitter/sdk/android/core/TwitterAuthConfig
01-25 16:58:59.369 827-1358/? E/Parcel:  Caused by: java.lang.ClassNotFoundException: Didn't find class "com.twitter.sdk.android.core.TwitterAuthConfig" on path: DexPathList[[directory "."],nativeLibraryDirectories=[/vendor/lib,/system/lib]]
01-25 16:59:00.399 32491-32491/com.myegotest.ego_17012016 E/Twitter: Invalid json: 

这是我的活动代码

package com.myegotest.ego_17012016;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import android.widget.Toast;
import com.twitter.sdk.android.core.TwitterAuthConfig;
import com.facebook.CallbackManager;
import com.facebook.FacebookCallback;
import com.facebook.FacebookException;
import com.facebook.FacebookSdk;
import com.facebook.login.LoginResult;
import com.facebook.login.widget.LoginButton;
import com.twitter.sdk.android.Twitter;
import com.twitter.sdk.android.core.Callback;
import com.twitter.sdk.android.core.Result;
import com.twitter.sdk.android.core.TwitterException;
import com.twitter.sdk.android.core.TwitterSession;
import com.twitter.sdk.android.core.identity.TwitterLoginButton;
import org.json.JSONException;
import org.json.JSONObject;
import java.util.Arrays;
import io.fabric.sdk.android.Fabric;

public class SocialNetworkSelector_setupPage2 extends Activity {

    private static final String TWITTER_KEY = "key here";
    private static final String TWITTER_SECRET = "key here";
    private TwitterLoginButton twitterLoginButton;


    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        TwitterAuthConfig authConfig = new TwitterAuthConfig(TWITTER_KEY,TWITTER_SECRET);
        Fabric.with(this,new Twitter(authConfig));
        setContentView(R.layout.activity_social_network_selector_setup_page2);


        twitterLoginButton = (TwitterLoginButton) findViewById(R.id.twitter_login_button);



        twitterLoginButton.setCallback(new Callback

这是我的AndroidManifest.xml

这是我的build.gradle

buildscript {
    repositories {
        maven { url 'https://maven.fabric.io/public' }
    }

    dependencies {
        classpath 'io.fabric.tools:gradle:1.+'
    }
}
apply plugin: 'com.android.application'
apply plugin: 'io.fabric'

android {
    compileSdkVersion 23
    buildToolsVersion "23.0.2"

    defaultConfig {
        applicationId "com.myegotest.ego_17012016"
        minSdkVersion 14
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"
        multiDexEnabled true
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'),'proguard-rules.pro'
        }
    }
}

repositories {
    mavenCentral()
    maven { url 'https://maven.fabric.io/public' }
}

dependencies {
    compile fileTree(dir: 'libs',include: ['*.jar'])
    testCompile 'junit:junit:4.12'
    compile 'com.android.support:appcompat-v7:23.1.1'
    compile 'com.android.support:design:23.1.1'
    compile 'com.squareup.picasso:picasso:2.5.2'
    compile 'com.facebook.android:facebook-android-sdk:4.9.0'
    compile('com.twitter.sdk.android:twitter:1.12.0@aar') {
        transitive = true;
    }
    compile 'com.mcxiaoke.volley:library-aar:1.0.0'
    compile 'com.android.support:multidex:1.0.1'
    compile 'com.squareup.okhttp:okhttp:2.5.0'
    compile 'com.squareup.retrofit:retrofit:1.9.0'

}
最佳答案
您需要在the Twitter App Settings中设置一个回调URL.实际上,无论您将其设置为什么,都会自动替换.

相关文章

Android 如何解决dialog弹出时无法捕捉Activity的back事件 在...
Android实现自定义带文字和图片的Button 在Android开发中经常...
Android 关于长按back键退出应用程序的实现最近在做一个Andr...
android自带的时间选择器只能精确到分,但是对于某些应用要求...