无法解析符号 'Twitter' - Twitter Fabric
cannot resolve symbol 'Twitter' - Twitter Fabric
我在为我的小 Android 应用程序尝试使用 Twitter 登录 时遇到问题,它一直显示错误 Cannot find symbol 'Twitter'
我在网上搜索了几种解决方案,包括下面这个,但没有找到任何可能的解决方案。
Twitter Fabric - Cannot Resolve Symbol
我已经清理、重建,甚至重新启动了我的 Android 工作室,尝试重新同步 Gradle 但还没有解决方案。
下面是我的Build.Gradle(项目)
buildscript {
repositories {
mavenCentral()
maven { url 'https://maven.fabric.io/public' }
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:1.2.3'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
allprojects {
repositories {
jcenter()
maven { url 'https://maven.fabric.io/public' }
}
}
这是我的Build.Gradle(应用程序)
apply plugin: 'com.android.application'
android {
compileSdkVersion 22
buildToolsVersion "22.0.1"
repositories {
mavenCentral()
maven { url 'https://maven.fabric.io/public' }
}
defaultConfig {
applicationId "com.example.hp.navigationexercise"
minSdkVersion 11
targetSdkVersion 22
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile('com.twitter.sdk.android:twitter-core:1.3.1@aar') {
transitive = true;
}
}
这是我的 Activity
public class TestActivity extends ActionBarActivity {
String TWITTER_KEY="mykey";
String TWITTER_SECRET="mysecret";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_test);
/* Twitter */
TwitterAuthConfig authConfig = new TwitterAuthConfig(TWITTER_KEY, TWITTER_SECRET);
Fabric.with(this, new Twitter(authConfig));
setUpTwitterButton();
}
TwitterLoginButton twitterButton;
private void setUpTwitterButton() {
twitterButton = (TwitterLoginButton) findViewById(R.id.login_button);
twitterButton.setCallback(new Callback<TwitterSession>() {
@Override
public void success(Result<TwitterSession> result) {
Log.d("login:", "twitter:success");
Log.d("Data", result.data.getUserName());
}
@Override
public void failure(TwitterException exception) {
Toast.makeText(getApplicationContext(),
"twitter Login failed",
Toast.LENGTH_SHORT).show();
}
});
}
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
// Pass the activity result to the login button.
twitterButton.onActivityResult(requestCode, resultCode,
data);
}
}
尝试将此添加到您的 gradle
compile('com.twitter.sdk.android:twitter:1.3.2@aar') {
transitive = true;
}
我也遇到了同样的问题,这对我有用。
同步 Gradle 文件后,我只是重建我的项目(Android Studio 文件菜单 -> 构建 -> 重建项目)。
就这些了。
我在为我的小 Android 应用程序尝试使用 Twitter 登录 时遇到问题,它一直显示错误 Cannot find symbol 'Twitter'
我在网上搜索了几种解决方案,包括下面这个,但没有找到任何可能的解决方案。
Twitter Fabric - Cannot Resolve Symbol
我已经清理、重建,甚至重新启动了我的 Android 工作室,尝试重新同步 Gradle 但还没有解决方案。
下面是我的Build.Gradle(项目)
buildscript {
repositories {
mavenCentral()
maven { url 'https://maven.fabric.io/public' }
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:1.2.3'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
allprojects {
repositories {
jcenter()
maven { url 'https://maven.fabric.io/public' }
}
}
这是我的Build.Gradle(应用程序)
apply plugin: 'com.android.application'
android {
compileSdkVersion 22
buildToolsVersion "22.0.1"
repositories {
mavenCentral()
maven { url 'https://maven.fabric.io/public' }
}
defaultConfig {
applicationId "com.example.hp.navigationexercise"
minSdkVersion 11
targetSdkVersion 22
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile('com.twitter.sdk.android:twitter-core:1.3.1@aar') {
transitive = true;
}
}
这是我的 Activity
public class TestActivity extends ActionBarActivity {
String TWITTER_KEY="mykey";
String TWITTER_SECRET="mysecret";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_test);
/* Twitter */
TwitterAuthConfig authConfig = new TwitterAuthConfig(TWITTER_KEY, TWITTER_SECRET);
Fabric.with(this, new Twitter(authConfig));
setUpTwitterButton();
}
TwitterLoginButton twitterButton;
private void setUpTwitterButton() {
twitterButton = (TwitterLoginButton) findViewById(R.id.login_button);
twitterButton.setCallback(new Callback<TwitterSession>() {
@Override
public void success(Result<TwitterSession> result) {
Log.d("login:", "twitter:success");
Log.d("Data", result.data.getUserName());
}
@Override
public void failure(TwitterException exception) {
Toast.makeText(getApplicationContext(),
"twitter Login failed",
Toast.LENGTH_SHORT).show();
}
});
}
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
// Pass the activity result to the login button.
twitterButton.onActivityResult(requestCode, resultCode,
data);
}
}
尝试将此添加到您的 gradle
compile('com.twitter.sdk.android:twitter:1.3.2@aar') {
transitive = true;
}
我也遇到了同样的问题,这对我有用。
同步 Gradle 文件后,我只是重建我的项目(Android Studio 文件菜单 -> 构建 -> 重建项目)。 就这些了。