【发布时间】:2019-10-01 08:49:33
【问题描述】:
我想知道给定的移动应用是原生的还是使用 Flutter 编写的。有没有办法从构建文件(apk,ipa ..等)中知道这一点。如何检测应用是原生应用还是 Flutter?
【问题讨论】:
-
只需反编译应用程序并查看结构。
-
我发现你的代码有问题
标签: android flutter cross-platform
我想知道给定的移动应用是原生的还是使用 Flutter 编写的。有没有办法从构建文件(apk,ipa ..等)中知道这一点。如何检测应用是原生应用还是 Flutter?
【问题讨论】:
标签: android flutter cross-platform
您可以通过以下方法查看应用是否使用flutter,
这是来自Flutter Gallery app的文件截图。
【讨论】:
【讨论】:
简单的解决方案:
打开应用,从屏幕顶部向下滑动并触摸图标布局以启用显示布局绑定。
Flutter 应用不会显示 UI 的小块布局,但 Native 应用会显示。
【讨论】:
java -jar apktool.*.jar d file.apk -o output
在文本编辑器中打开 AndroidManifest.xml
在文件中搜索flutter的出现
如果使用 vim,在终端提示符下,
vim +/flutter +"set hlsearch" AndroidManifest.xml
此类事件可能是 Flutter 插件和负责将 Flutter 集成到 Android 应用中的“flutterEmbedding”。
【讨论】:
可以通过启用布局边界从手机检查,如果应用程序显示所有组件的边界,那么它可能是使用原生 android 开发或反应原生的,但在颤动的情况下,它直接从原生端访问画布并在其上绘画,所以由于直接使用画布,它不会显示组件周围的任何边界。
这是使用 react-native/android 开发的应用程序的演示。 Snap of application build with android/react-native
这个是用颤振开发的。 Snap of application build with flutter
【讨论】: