我想知道给定的移动应用程序是原生的还是使用 flutter 编写的。有什么方法可以从构建文件(apk、ipa 等)中知道这一点。如何检测应用程序是原生应用程序还是 Flutter?
您可以通过以下方法查看应用程序是否使用 flutter,
这是 Flutter Gallery 应用程序文件的屏幕截图。
可以通过启用布局边界从手机进行检查。如果应用程序显示所有组件的边界,那么它可能是使用原生 android 或 react native 开发的。尽管如此,在flutter的情况下,它直接从native端访问canvas并在上面绘制,因此不会因为直接使用canvas而显示组件周围的任何边界。
这是使用 Flutter 和原生或其他使用原生组件的框架工作制作的应用程序的 SS。
扑动 |
---|
原生组件 |
. |
简单的解决方案:
打开应用程序,从屏幕顶部向下滑动并触摸图标布局以启用显示布局绑定。
Flutter 应用不会显示 UI 的小块布局,但 Native 应用会。
当然你可以通过解压APK找到。 但是还有一个简单的方法:
在您的设备上安装应用程序,然后打开它并在UI中检查列表或网格。
如果你觉得两指滚动时速度翻倍,而单指滚动时,那么应用是用Flutter开发的
java -jar apktool.*.jar d file.apk -o output
在文本编辑器中打开 AndroidManifest.xml
在文件中搜索 flutter 的出现
如果使用 vim,在终端提示符下,
vim +/flutter +"set hlsearch" AndroidManifest.xml
此类事件可能是 flutter 插件和负责将 flutter 集成到 Android 应用程序中的“flutterEmbedding”。
我们可以做手指滚动测试。
首先用一根手指滚动应用程序,然后用两根手指。确保您以相同的速度滚动。如果滚动的速度随着你添加的每根手指而增加,那么它就是使用 Flutter 构建的。
FlutterShark 应用程序(我自己开发的)可以帮助您确定应用程序是否使用 Flutter 构建。 以 Flutter Gallery 应用为例