uses-sdk:minSdkVersion 16 不能小于库 [:audioplayers] 中声明的版本 23
uses-sdk:minSdkVersion 16 cannot be smaller than version 23 declared in library [:audioplayers]
我正在用 flutter、dart 和 flame 创建一个简单的游戏,我的 flame 是与 flutter 相同的更新版本,
C:\Users\Users\Desktop\vcflutter\flutter_application_1\lib\Flutter Game\flutter_application_1\android\app\src\debug\AndroidManifest.xml Error:
uses-sdk:minSdkVersion 16 cannot be smaller than version 23 declared in library [:audioplayers] C:\Users\Users\Desktop\vcflutter\flutter_application_1\lib\Flutter Game\flutter_application_1\build\audioplayers\intermediates\library_manifest\debug\AndroidManifest.xml as the library might be using APIs not available in 16
Suggestion: use a compatible library with a minSdk of at most 16,
or increase this project's minSdk version to at least 23,
or use tools:overrideLibrary="xyz.luan.audioplayers" to force usage (may lead to runtime failures)
我的pubspec.yaml
version: 1.0.0+1
environment:
sdk: ">=2.7.0 <3.0.0"
dependencies:
flutter:
sdk: flutter
flame: ^0.29.0
cupertino_icons: ^1.0.0
dev_dependencies:
flutter_test:
sdk: flutter
我的main.dart
import 'package:flutter/gestures.dart';
import 'package:flutter/material.dart';
import 'package:flame/util.dart';
import 'package:flutter/services.dart';
import 'package:flutter_application_1/langaw-game.dart';
void main() async {
WidgetsFlutterBinding.ensureInitialized();
Util flameUtil = Util();
await flameUtil.fullScreen();
await flameUtil.setOrientation(DeviceOrientation.portraitUp);
LangawGame game = LangawGame();
runApp(game.widget);
}
langaw-game.dart
import 'dart:ui';
import 'package:flame/game.dart';
class LangawGame extends Game {
Size screenSize;
double tileSize;
@override
void render(Canvas canvas) {
Rect bgRect = Rect.fromLTWH(0, 0, screenSize.width, screenSize.height);
Paint bgPaint = Paint();
bgPaint.color = Color(0xff576574);
canvas.drawRect(bgRect, bgPaint);
}
@override
void update(double t) {}
@override
void resize(Size size) {
super.resize(size);
screenSize = size;
tileSize = screenSize.width / 9;
}
}
我在 youtube 中关注此文档 https://www.youtube.com/watch?v=N4LFV9_fLAo
在您的 gradle 文件中,只需将 minSdkVersion 更新为 23
android {
compileSdkVersion 30
defaultConfig {
applicationId "com.oaics.customer"
minSdkVersion 23
targetSdkVersion 30
versionCode 1
versionName "1.0"
}
这是一个技巧(避免标题问题)
使用
<uses-sdk tools:overrideLibrary="xyz.luan.audioplayers"/>
除此之外,将此添加到 manifest
标签:
xmlns:tools="http://schemas.android.com/tools"
文件总内容:
<!-- Generated file. Do not edit. -->
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="nct.mobile.flutter.module"
xmlns:tools="http://schemas.android.com/tools">
<uses-permission android:name="android.permission.INTERNET"/>
<!--
Issue : https://whosebug.com/questions/66167083/uses-sdkminsdkversion-16-cannot-be-smaller-than-version-23-declared-in-library
Docs : https://whosebug.com/questions/27095077/how-do-i-use-toolsoverridelibrary-in-a-build-gradle-file
-->
<uses-sdk tools:overrideLibrary="xyz.luan.audioplayers, io.flutter.plugins.pathprovider"/>
<application tools:node="merge">
<meta-data
android:name="flutterProjectType"
android:value="module" />
<!-- Don't delete the meta-data below.
It is used by the Flutter tool to generate GeneratedPluginRegistrant.java -->
<meta-data
android:name="flutterEmbedding"
android:value="2" />
</application>
</manifest>
我正在用 flutter、dart 和 flame 创建一个简单的游戏,我的 flame 是与 flutter 相同的更新版本,
C:\Users\Users\Desktop\vcflutter\flutter_application_1\lib\Flutter Game\flutter_application_1\android\app\src\debug\AndroidManifest.xml Error:
uses-sdk:minSdkVersion 16 cannot be smaller than version 23 declared in library [:audioplayers] C:\Users\Users\Desktop\vcflutter\flutter_application_1\lib\Flutter Game\flutter_application_1\build\audioplayers\intermediates\library_manifest\debug\AndroidManifest.xml as the library might be using APIs not available in 16
Suggestion: use a compatible library with a minSdk of at most 16,
or increase this project's minSdk version to at least 23,
or use tools:overrideLibrary="xyz.luan.audioplayers" to force usage (may lead to runtime failures)
我的pubspec.yaml
version: 1.0.0+1
environment:
sdk: ">=2.7.0 <3.0.0"
dependencies:
flutter:
sdk: flutter
flame: ^0.29.0
cupertino_icons: ^1.0.0
dev_dependencies:
flutter_test:
sdk: flutter
我的main.dart
import 'package:flutter/gestures.dart';
import 'package:flutter/material.dart';
import 'package:flame/util.dart';
import 'package:flutter/services.dart';
import 'package:flutter_application_1/langaw-game.dart';
void main() async {
WidgetsFlutterBinding.ensureInitialized();
Util flameUtil = Util();
await flameUtil.fullScreen();
await flameUtil.setOrientation(DeviceOrientation.portraitUp);
LangawGame game = LangawGame();
runApp(game.widget);
}
langaw-game.dart
import 'dart:ui';
import 'package:flame/game.dart';
class LangawGame extends Game {
Size screenSize;
double tileSize;
@override
void render(Canvas canvas) {
Rect bgRect = Rect.fromLTWH(0, 0, screenSize.width, screenSize.height);
Paint bgPaint = Paint();
bgPaint.color = Color(0xff576574);
canvas.drawRect(bgRect, bgPaint);
}
@override
void update(double t) {}
@override
void resize(Size size) {
super.resize(size);
screenSize = size;
tileSize = screenSize.width / 9;
}
}
我在 youtube 中关注此文档 https://www.youtube.com/watch?v=N4LFV9_fLAo
在您的 gradle 文件中,只需将 minSdkVersion 更新为 23
android {
compileSdkVersion 30
defaultConfig {
applicationId "com.oaics.customer"
minSdkVersion 23
targetSdkVersion 30
versionCode 1
versionName "1.0"
}
这是一个技巧(避免标题问题)
使用
<uses-sdk tools:overrideLibrary="xyz.luan.audioplayers"/>
除此之外,将此添加到 manifest
标签:
xmlns:tools="http://schemas.android.com/tools"
文件总内容:
<!-- Generated file. Do not edit. -->
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="nct.mobile.flutter.module"
xmlns:tools="http://schemas.android.com/tools">
<uses-permission android:name="android.permission.INTERNET"/>
<!--
Issue : https://whosebug.com/questions/66167083/uses-sdkminsdkversion-16-cannot-be-smaller-than-version-23-declared-in-library
Docs : https://whosebug.com/questions/27095077/how-do-i-use-toolsoverridelibrary-in-a-build-gradle-file
-->
<uses-sdk tools:overrideLibrary="xyz.luan.audioplayers, io.flutter.plugins.pathprovider"/>
<application tools:node="merge">
<meta-data
android:name="flutterProjectType"
android:value="module" />
<!-- Don't delete the meta-data below.
It is used by the Flutter tool to generate GeneratedPluginRegistrant.java -->
<meta-data
android:name="flutterEmbedding"
android:value="2" />
</application>
</manifest>