Android版本18的类设置错误

时间:2014-01-24 04:52:03

标签: android android-4.3-jelly-bean

我认为有两个错误与同一个问题有关,所以我将其作为一个问题发布。如果有多种原因,我可以将其重新发布为两个问题。

类声明之前的这两行都有错误。

import android.security.KeyPairGeneratorSpec; 
//The import android.security.KeyPairGeneratorSpec cannot be resolved

@TargetApi(Build.VERSION_CODES.JELLY_BEAN_MR2)
//JELLY_BEAN_MR2 cannot be resolved or is not a field

public class AndroidKeyStoreUtil {

...

}

在我的清单中,我有这个:

<uses-sdk
    android:minSdkVersion="9"
    android:targetSdkVersion="18" />

我目前通过API 19进行SDK安装,并且正在使用Java 1.6进行编译。是不是新的Android API需要Java 7?我无法在Eclipse中工作。

知道为什么会这样吗?谢谢!

2 个答案:

答案 0 :(得分:1)

偶然发现了解决方案。其他人的建议绝对是必需的。具体来说,请确保将清单设置为目标sdk为18(或更高),并确保您的Android SDK Manager在所有更新中都是最新的。

但仍未解决的问题仅仅是我需要将我的项目构建目标更新到至少4.3(我仍然在4.2.2)。以下是如何执行此操作:

Right-click on the project and select Properties
Click Android
Change Build Target to Android 4.3 (or higher)

一旦我注意到问题就进行简单修复。

答案 1 :(得分:0)

我有同样的问题,但在我的情况下,我正确设置了sdk target / min:

 <uses-sdk
        android:minSdkVersion="10"
        android:targetSdkVersion="19" />

我正在开发一个Android-Maven项目,但同样的解决方案可能适用于其他类型的项目。在我的情况下,问题发生是因为错误的依赖。我使用的是Maven Central Repository提供的android依赖(比我需要的更旧):

 <dependency>
        <groupId>com.google.android</groupId>
        <artifactId>android</artifactId>
        <version>4.1.1.4</version>
        <scope>provided</scope>
    </dependency>

所以我使用Android SDK Deployer获取API 19并将我的依赖项更改为:

 <dependency>
        <groupId>android</groupId>
        <artifactId>android</artifactId>
        <version>4.4.2_r3</version>
        <scope>provided</scope>
    </dependency>