我是Android Stuio的新手。我使用默认设置创建了一个项目,然后添加了一个片段布局,然后是片段类
我现在收到以下错误:
类需要API级别11(当前最小值为8)
在这一行:
公共类WeatherFragment扩展Fragment {
这是我的导入:
import android.app.Activity;
import android.support.v7.app.ActionBarActivity;
import android.support.v7.app.ActionBar;;
import android.support.v4.app.FragmentManager;
import android.content.Context;
import android.os.Build;
import android.os.Bundle;
import android.view.Gravity;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.support.v4.widget.DrawerLayout;
import android.widget.ArrayAdapter;
import android.widget.TextView;
import android.app.Fragment;
import android.support.v4.app.ListFragment;
这是我的清单:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.jassim.yallabahrain.app" >
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="com.jassim.yallabahrain.app.MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
答案 0 :(得分:4)
如果您坚持使用SDK版本8,我认为您必须使用android.support.v4.app.Fragment
代替android.app.Fragment
。
之所以发生这种情况是因为Android SDK版本+11支持android.app.Fragment
,如果您想使用它,则必须使用支持库。
答案 1 :(得分:2)
更改您的清单如下:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.jassim.yallabahrain.app" >
<uses-sdk
android:minSdkVersion="11"
android:targetSdkVersion="17" />
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="com.jassim.yallabahrain.app.MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
答案 2 :(得分:1)
请勿在清单文件中更改SDK,因为该值始终会被“ build.gradle”文件覆盖(如问题ID:GradleOverrides。中所指定)。>
不仅如此,如果您尝试将SDK插入清单文件中,甚至无法使用:
因此,要解决此问题,请尝试此方法。
转到您的“ build.gradle”文件,并将其添加到“ defaultConfig”。
defaultConfig{
minSdkVersion 15
targetSdkVersion 28
}
然后,删除您插入清单文件中的SDK,它将起作用。
答案 3 :(得分:0)
在应用程序标记开始之前在manifest.xml中添加以下行。
<uses-sdk
android:minSdkVersion="11"
android:targetSdkVersion="16" />
答案 4 :(得分:0)
基本上,您要使用的功能需要在当前Manifest
文件中无法保证的最小API。您必须确保已设置,因为运行您的应用的任何用户如果使用较低的API来制作您的应用,可能会遇到问题。
您必须在清单文件中包含这样的语句,以确保用户将运行最小的11(以及编译代码的方式)。
<uses-sdk
android:minSdkVersion="11"
android:targetSdkVersion="19" />
答案 5 :(得分:0)
在清单
中添加此内容<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.jassim.yallabahrain.app" >
<uses-sdk
android:minSdkVersion="11"
android:targetSdkVersion="19" />
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="com.jassim.yallabahrain.app.MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
答案 6 :(得分:0)
上面的所有答案都非常正确,但他们无法解释为什么会发生这种情况,错误的原因是您至少需要API等级11(Android 3.0)。这是必需的,因为您在API中使用了Fragments。碎片是在3.0版本中引入的。因此,如果您想允许Android版本低于3.0的设备,则无法使用碎片。
答案 7 :(得分:0)
在清单中添加以下行: 将最小sdk版本更改为11时,将有助于解决您的错误......
<uses-sdk
android:minSdkVersion="11"
android:targetSdkVersion="18" />
答案 8 :(得分:0)
您可以在Manifest中将minSdkVersion更改为11,如下所示。我希望它会有所帮助:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.s1"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="11"
android:targetSdkVersion="21" />
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
>
<activity
android:name=".MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
答案 9 :(得分:-1)
将您的清单更改为此
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.jassim.yallabahrain.app" >
<uses-sdk
android:minSdkVersion="11"
android:targetSdkVersion="19" />
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="com.jassim.yallabahrain.app.MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>