The app doesn't run when I add the sqflite dependency to my flutter project. It shows the following error:
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':sqflite:parseDebugLocalResources'.
> Could not resolve all files for configuration ':sqflite:androidApis'.
> Failed to transform android.jar to match attributes {artifactType=android-platform-attr, org.gradle.libraryelements=jar, org.gradle.usage=java-runtime}.
> Execution failed for PlatformAttrTransform: C:\Users\theak\AppData\Local\Android\sdk\platforms\android-33\android.jar.
> C:\Users\theak\AppData\Local\Android\sdk\platforms\android-33\android.jar
* 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 51s
This is the dependency that I have added to my pubspec.yaml file:
dependencies:
flutter:
sdk: flutter
cupertino_icons: ^1.0.2
flutter_riverpod: ^2.4.10
flutter_svg: ^2.0.10+1
sqflite: ^2.0.0+4
dev_dependencies:
flutter_test:
sdk: flutter
flutter_lints: ^3.0.1
flutter_launcher_icons: ^0.13.1
Here is my flutter doctor output:
Doctor summary (to see all details, run flutter doctor -v):
[√] Flutter (Channel stable, 3.16.9, on Microsoft Windows [Version 10.0.22621.3007], locale en-IN)
[√] Windows Version (Installed version of Windows is version 10 or higher)
[√] Android toolchain - develop for Android devices (Android SDK version 34.0.0)
[√] Chrome - develop for the web
[√] Visual Studio - develop Windows apps (Visual Studio Community 2022 17.8.6)
[√] Android Studio (version 2023.1)
[√] VS Code (version 1.87.1)
[√] Connected device (3 available)
[√] Network resources
• No issues found!
Also, I am using riverpod for the first time, which may be the problem here. Here's my main.dart file:
import 'package:doable_todo_list_app/screens/add_task_page.dart';
import 'package:doable_todo_list_app/screens/edit_task_page.dart';
import 'package:doable_todo_list_app/screens/home_page.dart';
import 'package:doable_todo_list_app/screens/settings_page.dart';
import 'package:doable_todo_list_app/todos_notifier.dart';
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart';
final todosProvider =
StateNotifierProvider<TodosNotifier, TodosState>((ref) => TodosNotifier());
//Colors
Color blackColor = const Color(0xff0c120c);
Color blueColor = const Color(0xff4285F4);
Color whiteColor = const Color(0xffFDFDFF);
Color iconColor = const Color(0xff565656);
Color outlineColor = const Color(0xffD6D6D6);
Color descriptionColor = const Color(0xff565656);
void main() {
//status bar & navigation bar colors and themes
SystemChrome.setSystemUIOverlayStyle(SystemUiOverlayStyle(
statusBarColor: whiteColor,
statusBarIconBrightness: Brightness.dark,
systemNavigationBarColor: whiteColor,
systemNavigationBarIconBrightness: Brightness.dark,
systemNavigationBarDividerColor: whiteColor));
//Riverpod globally enabled
runApp(
const ProviderScope(
child: DoableApp(),
),
);
}
class DoableApp extends StatelessWidget {
const DoableApp({super.key});
@override
Widget build(BuildContext context) {
return MaterialApp(
home: const HomePage(),
debugShowCheckedModeBanner: false,
theme: ThemeData(
//colors
splashColor: Colors.transparent,
focusColor: Colors.transparent,
hoverColor: Colors.transparent,
//font family
fontFamily: "Inter",
textTheme: const TextTheme(
//Main heading font style - "Create to-do, Modify to-do"
displayLarge: TextStyle(
fontSize: 28.0,
fontWeight: FontWeight.w900,
color: Color(0xff0c120c)),
//Subheading font style - "Today, Settings"
displayMedium: TextStyle(
fontSize: 20.0,
fontWeight: FontWeight.w600,
color: Color(0xff0c120c)),
//Regular app font style - "Set Reminder, Daily, Save, License, ..."
displaySmall: TextStyle(
fontSize: 15.0,
fontWeight: FontWeight.w500,
color: Color(0xff0c120c)),
//box heading font style - "Tell us about your task, Date & Time, Completion status, ..."
labelSmall: TextStyle(
fontSize: 13.0,
fontWeight: FontWeight.w600,
color: Color(0xff565656)),
//Task list heading font style - "Return Library Book"
bodyLarge: TextStyle(
fontSize: 16.0,
fontWeight: FontWeight.w600,
color: Color(0xff0c120c)),
//Task list description font style - "Gather overdue library books and return..."
bodyMedium: TextStyle(
fontSize: 14.0,
fontWeight: FontWeight.w600,
color: Color(0xff565656)),
//Task list icon text font style - "11:30 AM, 26/11/24"
bodySmall: TextStyle(
fontSize: 12.0,
fontWeight: FontWeight.normal,
color: Color(0xff565656)),
)),
//routes
initialRoute: 'home',
routes: {
'home': (context) => const HomePage(),
'add_task': (context) => const AddTaskPage(),
'edit_task': (context) => const EditTaskPage(),
'settings': (context) => const SettingsPage(),
},
);
}
}
double verticalPadding(BuildContext context) {
return MediaQuery.of(context).size.height / 20;
}
double horizontalPadding(BuildContext context) {
return MediaQuery.of(context).size.width / 20;
}
EdgeInsets textFieldPadding(BuildContext context) {
// TODO: Convert 25px into respected MediaQuery size
return EdgeInsets.symmetric(
horizontal: MediaQuery.of(context).size.width * 0.1,
vertical: MediaQuery.of(context).size.height * 0.025);
}
This is my edit_task_page.dart file which I haven't even started coding (still error):
import 'package:doable_todo_list_app/main.dart';
import 'package:flutter/material.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:doable_todo_list_app/todos_notifier.dart';
class EditTaskPage extends ConsumerWidget {
const EditTaskPage({super.key});
@override
Widget build(BuildContext context, WidgetRef ref) {
final todos = ref.watch(todosProvider);
return const Scaffold();
}
}