flutter - use tools:overrideLibrary="io.flutter.plugins.camera" - flutter

While implementing camera in flutter I face this problem with manifest file
android\app\src\main\AndroidManifest.xml Error:
uses-sdk:minSdkVersion 16 cannot be smaller than version 21 declared in library [:camera] D:\My Files\flutter-apps\login\build\camera\intermediates\merged_manifests\debug\processDebugManifest\merged\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 21,
or use tools:overrideLibrary="io.flutter.plugins.camera" to force usage (may lead to runtime failures)
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':app:processDebugManifest'.
> Manifest merger failed : uses-sdk:minSdkVersion 16 cannot be smaller than version 21 declared in library [:camera] D:\My Files\flutter-apps\login\build\camera\intermediates\merged_manifests\debug\processDebugManifest\merged\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 21,
or use tools:overrideLibrary="io.flutter.plugins.camera" to force usage (may lead to runtime failures)**strong text**

If you want to use camera plugin you need to update your Flutter Android minSdkVersion to 21 in your android build.gradle file located here:
./android/app/build.gradle
This how it should be:
defaultConfig {
// TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
applicationId "com.example.my_flutter_app"
minSdkVersion 21
targetSdkVersion 27
versionCode flutterVersionCode.toInteger()
versionName flutterVersionName
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
If you look at the plugin page, yuo can see they also tell you what to do.

Related

Share_plus plugin - Error: Call requires API level 22 (current min is 16): android.content.Intent#createChooser [NewApi]

My flutter version: Flutter 3.0.0
Gradle version: Gradle 7.2
when I run .../android$ ./gradlew clean and then .../android$ ./gradlew build -warning-mode all in terminal, I get the following error:
> Task :share_plus:lintDebug FAILED
Lint found 4 errors, 3 warnings. First failure:
/home/my-name/.pub-cache/hosted/pub.dartlang.org/share_plus-6.2.0/android/src/main/kotlin/dev/fluttercommunity/plus/share/Share.kt:68: Error: Call requires API level 22 (current min is 16): android.content.Intent#createChooser [NewApi]
Intent.createChooser(
I changed minSdkVersion like the following but it is still not working.
android/app/build.gradle:
defaultConfig {
// TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
applicationId "com.example.citymarker"
minSdkVersion localProperties.getProperty('flutter.minSdkVersion').toInteger()
targetSdkVersion localProperties.getProperty('flutter.targetSdkVersion').toInteger()
versionCode flutterVersionCode.toInteger()
versionName flutterVersionName
}
android/local.properties:
sdk.dir=/home/my-name/Android/Sdk
flutter.sdk=/home/thiago/development/flutter
flutter.buildMode=debug
flutter.versionName=1.0.0
flutter.versionCode=1
flutter.minSdkVersion=23
flutter.targetSdkVersion=33
flutter.compileSdkVersion=33
I tried everything I could, but nothing is working.
I solved using a lower version of share_plus plugin. Just add the below line in your pubspec.yaml under dependencies:
share_plus: 4.0.2
I don't know yet why the error was happening even after changing minSdkVersion to 23. If someone has an answer, please, share with us.
under External Libraries you can find all the libraries u r using including share_plus (these are the files generated when u run 'flutter pub get'). U need to update share_plus/android/build.gradle with minSdkVersion 23, and it should build.enter image description here

changing MinSdk after launcing in Store for flutter App and error in install

I have launched a app this 2 month ago with signing and this properties:
defaultConfig {
minSdkVersion 18
targetSdkVersion 31
versionCode flutterVersionCode.toInteger()
versionName flutterVersionName
}
Now i added some new features like firebase messaging and firebase notification that require at least MinSdk 19 ;
So i changed MinSdk to => 19 and change version from
version: 1.0.0+6
to
version: 1.1.1+0
But when i release new version and try to update last version whit new version it make trouble whit error :
"Not Installed App : package appears to be corrupt"
(and i don't want to removing it from device because of logged users)
Could someone Help me about it?
Build number should be incremented every time you publish a new version to any app store. So it should be:
version: 1.1.1+7

Could not determine the dependencies of task ':agora_rtc_engine:compileReleaseKotlin'

After upgrading to agora_rtc_engine 5.0.0 I'm experiencing the following build error:
Command: flutter build appbundle
Error message:
FAILURE: Build failed with an exception.
* What went wrong:
Could not determine the dependencies of task ':agora_rtc_engine:compileReleaseKotlin'.
> Installed Build Tools revision 31.0.0 is corrupted. Remove and install again using the SDK Manager.
This is the setup in my build gradle:
defaultConfig {
applicationId "com.MyPackage"
minSdkVersion 24
targetSdkVersion 32
versionCode flutterVersionCode.toInteger()
versionName flutterVersionName
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
I tried uninstalling and reinstalling build tools, upgrading gradle version, but no luck. Anyone experiencing the same issue?
In the meantime I'm downgrading to 4.2.1 as I'm not in need of any new feature, but eventually I'll need to update.
Try changing your targetSDKVersion to 31

Missing compileSdkVersion for google mobile ads

defaultConfig {
// TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
applicationId "com.example.ringit2"
minSdkVersion 21
targetSdkVersion 30
versionCode flutterVersionCode.toInteger()
versionName flutterVersionName
}
Here is what I found on my build.gradle and I can't find compileSdkVersion which I have to change to at least 28 in order for google mobile ads to operate.
After I added google_mobile_ads: ^1.1.0 on pubspec.yaml and imported the package to the main.dart, The app opens as I run the simulator but shuts down right away. Console shows me this message and it is stuck just like this forever.
Launching lib\main.dart on SM G950N in debug mode...
Running Gradle task 'assembleDebug'...
√ Built build\app\outputs\flutter-apk\app-debug.apk.
Installing build\app\outputs\flutter-apk\app.apk...
Please note that my ext.kotlin_version is '1.6.10' because people have recommended to upgrade it
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-7.0.2-all.zip
Also changed the distributionUrl...
Not sure why google mobile ads package is so hard to use even just to start but what should I change to use it?
I am also using kotlin version '1.6.10' and compilesdk version is inside android>app>build.gradle
The compileSdkVersion will be inside
android>app>build.gradle
inside that you can see compileSdkVersion in line 30
Also check your environment path of flutter

Why did I get an error by adding TextToSpeech?

I tried to intigrate a text to speech Funktion in my (Flutter) app, but if I write flutter_tts: ^0.8.6 under dependencies:, how I saw it in a tutorial, I get an error.
That´s the Code in the pubspec.yaml:
dependencies:
flutter_tts: ^0.8.6
flutter:
sdk: flutter
# The following adds the Cupertino Icons font to your application.
# Use with the CupertinoIcons class for iOS style icons.
cupertino_icons: ^0.1.2
dev_dependencies:
flutter_test:
sdk: flutter
and this is the error:
C:\Users\...\Desktop\tts_app\android\app\src\debug\AndroidManifest.xml Error:
uses-sdk:minSdkVersion 16 cannot be smaller than version 21 declared in library [:flutter_tts] C:\Users\...\Desktop\tts_app\build\flutter_tts\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 21,
or use tools:overrideLibrary="com.tundralabs.fluttertts" to force usage (may lead to runtime failures)
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':app:processDebugManifest'.
> Manifest merger failed : uses-sdk:minSdkVersion 16 cannot be smaller than version 21 declared in library [:flutter_tts] C:\Users\Simon\Desktop\App Entwickeln\Projekte\tts_app\build\flutter_tts\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 21,
or use tools:overrideLibrary="com.tundralabs.fluttertts" to force usage (may lead to runtime failures)
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.
Get more help at https://help.gradle.org
BUILD FAILED in 3s
Finished with error: Gradle task assembleDebug failed with exit code 1
TTS Plugin needs your android version to be greater than API Level 21.
but in the
Android/app/build.gradle
file that value is still 16.
change it to 21 as following and you will be ok.
defaultConfig {
applicationId "com.example.eventtweb"
minSdkVersion 21
targetSdkVersion 28
versionCode flutterVersionCode.toInteger()
versionName flutterVersionName
}