Flutter 仅在调试模式下导入库

时间:2021-02-07 12:49:48

标签: flutter debugging build

我正在使用 Android 11 无线调试来开发我的应用。每当设备自动锁定时,需要一段时间重新建立连接以进行热重载。

为了解决这个问题,我使用了 wakelock,我只需要在我的应用处于调试模式而不是发布模式时使用它。

lib/main.dart 中,我有以下代码:

import 'package:flutter/foundation.dart' as Foundation;
import 'package:wakelock/wakelock.dart';

...

void main() {
  if (Foundation.kDebugMode) {
    Wakelock.enable();
  }
  runApp(App());
}

如您所见,wakelock 包仅在应用以调试模式运行时使用。

如果应用在调试模式下运行,有没有办法只导入 wakelock

1 个答案:

答案 0 :(得分:2)

测试为

pubspec.yaml

dev_dependencies:
  wakelock: ^0.2.1+1

用法

import 'package:flutter/foundation.dart';
import 'package:wakelock/wakelock.dart';
import 'package:flutter/material.dart';

main() async {
  WidgetsFlutterBinding.ensureInitialized();

  if (kDebugMode) {
    print('activating wakelock in debug');
    Wakelock.enable();
  }

  runApp(App());
}

旁注:

如果您只需要设备在一段时间后停止自我锁定,请尝试在设备本身的 Display 设置下增加睡眠延迟,或使用开发者选项中名为 Stay awake while charging 的设置允许设备在充电时永远保持开机状态。