如何防止模拟器中的 运行 生产 flutter 应用程序?
How can I prevent a production flutter app from running in emulators?
我不知道如何在模拟器或 BlueStacks
等软件上阻止或阻止我的生产应用程序 运行
有人想出解决这个问题的方法吗?
你可以使用包 https://pub.dev/packages/device_info
在pubspec.yaml
中添加依赖
dependencies:
device_info: ^0.4.0+3
下面是如何检测它是否是真实设备的示例
import 'package:device_info/device_info.dart';
import 'package:flutter/material.dart';
void main() => runApp(MyApp());
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
debugShowCheckedModeBanner: false,
home: Scaffold(
appBar: AppBar(title: const Text('Is am i in matrix?')),
body: Test(),
),
);
}
}
class Test extends StatelessWidget {
@override
Widget build(BuildContext context) {
return FutureBuilder(
future: _isRealDevice(),
builder: (context, snapshot) {
if (snapshot.hasData) {
return Center(child: Text('is it real device: ${snapshot.data}'));
} else {
return const SizedBox.shrink();
}
},
);
}
Future<bool> _isRealDevice() async {
AndroidDeviceInfo androidInfo = await DeviceInfoPlugin().androidInfo;
return androidInfo.isPhysicalDevice;
}
}
我没有安装 Genymotion,但在 AS 模拟器上它按预期显示 false
。
我不知道如何在模拟器或 BlueStacks
等软件上阻止或阻止我的生产应用程序 运行有人想出解决这个问题的方法吗?
你可以使用包 https://pub.dev/packages/device_info
在pubspec.yaml
中添加依赖dependencies:
device_info: ^0.4.0+3
下面是如何检测它是否是真实设备的示例
import 'package:device_info/device_info.dart';
import 'package:flutter/material.dart';
void main() => runApp(MyApp());
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
debugShowCheckedModeBanner: false,
home: Scaffold(
appBar: AppBar(title: const Text('Is am i in matrix?')),
body: Test(),
),
);
}
}
class Test extends StatelessWidget {
@override
Widget build(BuildContext context) {
return FutureBuilder(
future: _isRealDevice(),
builder: (context, snapshot) {
if (snapshot.hasData) {
return Center(child: Text('is it real device: ${snapshot.data}'));
} else {
return const SizedBox.shrink();
}
},
);
}
Future<bool> _isRealDevice() async {
AndroidDeviceInfo androidInfo = await DeviceInfoPlugin().androidInfo;
return androidInfo.isPhysicalDevice;
}
}
我没有安装 Genymotion,但在 AS 模拟器上它按预期显示 false
。