我最近将项目迁移到Android Studio 0.4.3。 在编译时,它给了我几行java的错误,包括以下内容:
FragmentManager fm = getFragmentManager();
fm.findFragmentById()
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
getResources().getStringArray(R.array.course_descriptions);
我看到以下错误消息:
Call requires API level 11 (current min is 7)
我正在运行Android Studio .0.4.3。我还通过SDK管理器下载了Android 4.4.2(API 19)。
我在清单中添加了以下行:
<uses-sdk
android:minSdkVersion="14"
android:targetSdkVersion="19" />
我做了一个“与Gradle文件同步项目”,清理并重建了项目。 我仍然看到同样的错误。
如何解决此问题?
答案 0 :(得分:31)
我有0.8.6版本,可以这样做:
在菜单中:文件 - &gt;项目结构。
在打开的菜单中,导航至app
,然后在标签中选择Flavors
。
答案 1 :(得分:15)
如果您已在最新版本的Android Studio上生成项目,则该设置位于gradle配置文件中。在应用程序模块中查找build.gradle
文件。应该有这样的东西。
defaultConfig {
minSdkVersion 7
targetSdkVersion 19
versionCode 1
versionName "1.0"
}
答案 2 :(得分:6)
从gradle构建系统开始,所有与sdk和编译API相关的设置都将被您在build.gradle
文件中定义的内容覆盖。
如果您愿意,可以在 AndroidManifest.xml
中删除所有配置,并将其保留在build.gradle
文件中,以避免混淆。
请检查模块的minSdkVersion
文件中发现错误的build.gradle
。
android {
compileSdkVersion 19
buildToolsVersion '19.0.1'
defaultConfig {
minSdkVersion 7 // Change 7 to 11 will solve your problem
targetSdkVersion 19
}
}
我更喜欢在我的顶级项目级别build.gradle
文件中包含这些所有配置,因为如果不同模块中的配置不同,则最终会出现Manifest Merging错误。
答案 3 :(得分:2)
在2020年最新版本中,执行以下步骤:
完成!
答案 4 :(得分:1)
完整app / build.gradle minSdkVersion,targetSdkVersion
apply plugin: 'com.android.application'
android {
compileSdkVersion 22
buildToolsVersion "22.0.1"
defaultConfig {
applicationId "com.yourapp.package"
minSdkVersion 18
targetSdkVersion 22
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
packagingOptions {
exclude 'LICENSE.txt'
}
}
dependencies {
androidTestCompile fileTree(dir: 'libs', include: '*.jar')
androidTestCompile('com.squareup.assertj:assertj-android:1.0.0'){
exclude group: 'com.android.support', module:'support-annotations'
}
}
答案 5 :(得分:1)
只需按照步骤(对于android studio用户):
所有伙伴,Gradle将自动重建项目。