'Flutter hive: cannot generate Adapter files
I have a model like so:
import 'package:uuid/uuid.dart';
import 'package:hive/hive.dart';
part 'config_item.g.dart';
@HiveType()
class ConfigItem {
@HiveField(0)
String _id; // this can be a uuid or a MongoDB ObjectID
@HiveField(1)
final String deviceName;
....
}
I like to generate the Adapter file but it does not want to do it! When I call flutter packages pub run build_runner build --delete-conflicting-outputs I get the following output:
flutter packages pub run build_runner build --delete-conflicting-outputs main ✭ ✈
[INFO] Generating build script...
[INFO] Generating build script completed, took 399ms
[SEVERE] Nothing can be built, yet a build was requested.
[INFO] Initializing inputs
[INFO] Reading cached asset graph...
[INFO] Reading cached asset graph completed, took 45ms
[INFO] Checking for updates since last build...
[INFO] Checking for updates since last build completed, took 399ms
[INFO] Running build...
[INFO] Running build completed, took 3ms
[INFO] Caching finalized dependency graph...
[INFO] Caching finalized dependency graph completed, took 35ms
[INFO] Succeeded after 53ms with 0 outputs (0 actions)
In my pubspec.yaml I have:
environment:
sdk: ">=2.12.0 <3.0.0"
dependencies:
flutter:
sdk: flutter
# The following adds the Cupertino Icons font to your application.
# Use with the CupertinoIcons class for iOS style icons.
cupertino_icons: ^1.0.2
bottom_navy_bar: ^6.0.0
get_it: ^7.2.0
get_it_mixin: ^3.1.3
servicestack: ^2.0.0
font_awesome_flutter: ^9.1.0
hive: ^2.0.4
hive_flutter: ^1.1.0
path_provider: ^2.0.3
uuid: ^3.0.4
dev_dependencies:
flutter_test:
sdk: flutter
build_runner:
I tried all sort of things like
- Delete .dart_tool folder
- Adding
*.g.dartto.gitignore flutter clean- and a lot more I found when searching the net.
But nothing helps! Any idea what is missing?
I am using the latest (stable) versions of flutter, dart SDK and AndroidStudio.
Solution 1:[1]
Run this command :
flutter packages pub run build_runner build
But before that, you will have to import the generator.
Example : If your file name is project_database.dart, then in that file :
Import,
import 'package:hive/hive.dart';
part 'project_database.g.dart'; //this will show an error initially but if
// you run the above command, it will generate the generator file
Solution 2:[2]
i had same problem. i solved by saving my changes in pubspec.yaml. just press ctrl + s in pubspec.yaml then run flutter packages pub run build_runner build again.
Solution 3:[3]
I faced the same issue but I was missing hive_generator: ^1.1.1. I didn't find it in the original Docs.
Special thanks to @Denny Mueller's comment
Solution 4:[4]
pub run build_runner build
after got the part .save it and the error will gone
Also add hive_generator in ur dev_dependecies.
hive_generator package can automatically generate TypeAdapters for almost any class.
If you have any other problem refer here
Solution 5:[5]
Give TypeId for @HiveType.
In your Case :
import 'package:uuid/uuid.dart';
import 'package:hive/hive.dart';
part 'config_item.g.dart';
@HiveType(typeId: 0)
class ConfigItem {
@HiveField(0)
String _id; // this can be a uuid or a MongoDB ObjectID
@HiveField(1)
final String deviceName;
....
}
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|---|
| Solution 1 | Arijeet |
| Solution 2 | haleh jahangiri |
| Solution 3 | Zaid Mirza |
| Solution 4 | Mohammed Rishal |
| Solution 5 | spikey |
