【问题标题】:Can't use some of L SDK features无法使用某些 L SDK 功能
【发布时间】:2014-08-18 08:01:52
【问题描述】:

我正在尝试在新 SDK 中使用新的 Activity 转换。

我试过这条线:

getWindow().requestFeature(Window.FEATURE_CONTENT_TRANSITIONS);

但问题是Window 不包括FEATURE_CONTENT_TRANSITIONS

我也试过这条线:

getWindow().setExitTransition(new Explode());

而且Explode 类不存在...

我已经将我的项目设置为使用 L SDK (android-L) 编译并使用新的 SDK 工具 (20.0.0)

build.gradle:

apply plugin: 'com.android.application'

android {
    compileSdkVersion 'android-L'
    buildToolsVersion '20.0.0'
    defaultConfig {
        applicationId 'com.tester'
        minSdkVersion 'L'
        targetSdkVersion 'L'
        versionCode 1
        versionName '1.0'
    }
    buildTypes {
        release {
            runProguard false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
    productFlavors {
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile "com.android.support:support-v4:+"
}

buildscript {
    repositories {
        mavenCentral()
    }

    dependencies {
        classpath 'com.android.tools.build:gradle:0.12.+'
    }
}

【问题讨论】:

  • 您是在编译时还是在运行时收到该错误?您在哪里执行该代码?
  • 我将此代码视为语法错误,这些类不存在。 (我使用的是 Android Studio)
  • 发布你的 build.gradle
  • @GabrieleMariotti 添加了 build.gradle。
  • 我在使用 Android Studio Beta 时遇到了完全相同的问题...我打开示例项目 github.com/romainguy/google-io-2014,在模拟器上编译和运行,但 Android Studio 说某些(新的 L 预览版)类没有不存在....

标签: java android android-studio adt android-5.0-lollipop


【解决方案1】:

您的构建路径中似乎没有包含 L SDK 库。 这些库是否列为您项目的依赖项?

【讨论】:

  • com.android.support:support-v4:+ 是我的依赖项中列出的唯一库。
【解决方案2】:

尝试文件 -> 使缓存无效/重新启动。

如果这不起作用,您可以尝试删除 ~/.AndroidStudioBeta(或 ~/.AndroidStudioPreview,无论您使用的是哪个)。它将清除您的所有设置,因此请为此做好准备,但这解决了我的问题。

对于 Mac,清除:
~/Library/Application Support/AndroidStudioBeta
~/Library/Caches/AndroidStudioBeta
~/Library/Logs/AndroidStudioBeta
~/Library/Preferences/AndroidStudioBeta

【讨论】:

  • 尝试了两种解决方案,但效果不佳。我注意到了一些事情,在编辑器中我控制单击了Window,所以它会将我带到Window 类源,我注意到它使用API​​-Level 20。它应该使用API​​-Level L,不是吗?
  • 应该像this。在您的 /sdk/platforms 目录中,您是否有一个“android-L”文件夹?也许从 SDK 管理器中删除 L 包并重新安装。如有必要,重复上述步骤以重置缓存。
  • 我确实有 'android-L' 文件夹。而且我已经尝试从 SDK 管理器重新安装软件包。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-09-18
  • 1970-01-01
  • 2016-11-04
  • 2020-01-04
  • 2016-10-08
  • 1970-01-01
  • 2020-10-28
相关资源
最近更新 更多