android - 可疑转换为 CLIPBOARD_SERVICE : expected ClipboardManager [ServiceCast] 的文本

标签 android android-studio android-gradle-plugin

构建我的应用程序的发布版本时,构建失败并出现以下错误:

错误:错误:可疑转换为 CLIPBOARD_SERVICE 的文本:预期 ClipboardManager [ServiceCast]

调试版本构建良好。

如果我注释掉下面的 SDK 11 之前的代码,它可以正常构建。

我该如何解决这个错误?

代码:

@TargetApi(11)
@SuppressWarnings("deprecation")
public void btnCopyClicked(View button) {
    if (Build.VERSION.SDK_INT < 11) {
        android.text.ClipboardManager clipboard = (android.text.ClipboardManager) getSystemService(Context.CLIPBOARD_SERVICE);
        clipboard.setText(aString);
    } else {
        android.content.ClipboardManager clipboard = (android.content.ClipboardManager) getSystemService(Context.CLIPBOARD_SERVICE);
        android.content.ClipData clip = android.content.ClipData.newPlainText("aString", aString);
        clipboard.setPrimaryClip(clip);
    }
}

环境:

  • Android Studio 2.3
  • Android SDK 工具 25.3.1
  • Gradle 3.3
  • Android 插件版本 2.3.0

项目build.gradle:

buildscript {
    dependencies {
        classpath 'com.android.tools.build:gradle:2.3.0'
        classpath 'io.fabric.tools:gradle:1.22.1'
    }
    ...
}

应用构建.gradle:

android {
    compileSdkVersion 'Google Inc.:Google APIs:21'
    buildToolsVersion '25.0.0'
    defaultConfig {
        minSdkVersion 10
        targetSdkVersion 21
        ...
    }
    ...
}

最佳答案

这似乎是ServiceCastDetector in lint 中的错误.要变通,请转换以下代码

android.text.ClipboardManager clipboard = (android.text.ClipboardManager) getSystemService(Context.CLIPBOARD_SERVICE);
clipboard.setText(aString);

Object clipboard = getSystemService(Context.CLIPBOARD_SERVICE);
((android.text.ClipboardManager)clipboard).setText(aString);

关于android - 可疑转换为 CLIPBOARD_SERVICE : expected ClipboardManager [ServiceCast] 的文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42719005/

相关文章:

java - 检查在 "EditText"中输入的数字是否在数组中 - Android Studio Java

android - DatePickerDialog软键盘类型无效

java - ARCore – WorldScale 和 LocalScale 有什么区别?

android - 错误 :Program type already present: android. arch.lifecycle.LiveData

android - 如何通过删除 cookie 来注销 Twitter 帐户?

android - 有没有办法生成 Android 应用程序链接而不将其上传到 Play 商店?

java - 为什么 Gradle 只包含我的库中具有项目依赖性的类

java - LatinIME 的二进制字典 - 如何构建或在哪里找到?

java.lang.IllegalStateException : aidl is missing Android Studio 3. 0

android - OneSignal 导致 Google Play 服务版本发生变化