【解决】Component does not specify permissionConstraints

« 返回社区索引

【解决】Component does not specify permissionConstraints

编译apk报错信息如下:

[LoadComponentInfo] INFO: Component "com.google.appinventor.components.runtime.ActivityStarter" does not specify permissionConstraints

[LoadComponentInfo] INFO: Component "com.google.appinventor.components.runtime.Button" does not specify permissionConstraints

[LoadComponentInfo] INFO: Component "com.google.appinventor.components.runtime.File" does not specify permissionConstraints

[LoadComponentInfo] INFO: Component "com.google.appinventor.components.runtime.Form" does not specify permissionConstraints

[LoadComponentInfo] INFO: Component "com.google.appinventor.components.runtime.Image" does not specify permissionConstraints

[LoadComponentInfo] INFO: Component "com.google.appinventor.components.runtime.Label" does not specify permissionConstraints

[LoadComponentInfo] INFO: Component "com.google.appinventor.components.runtime.Notifier" does not specify permissionConstraints

[LoadComponentInfo] INFO: Component "com.google.appinventor.components.runtime.Sound" does not specify permissionConstraints

[LoadComponentInfo] INFO: Component "com.google.appinventor.components.runtime.Spinner" does not specify permissionConstraints

[LoadComponentInfo] INFO: Component "com.google.appinventor.components.runtime.Switch" does not specify permissionConstraints

[LoadComponentInfo] INFO: Component "com.google.appinventor.components.runtime.TableArrangement" does not specify permissionConstraints

[LoadComponentInfo] INFO: Component "com.google.appinventor.components.runtime.TextBox" does not specify permissionConstraints

[LoadComponentInfo] INFO: Component "com.google.appinventor.components.runtime.TinyDB" does not specify permissionConstraints

[LoadComponentInfo] INFO: Component "com.google.appinventor.components.runtime.VerticalArrangement" does not specify permissionConstraints

[LoadComponentInfo] INFO: Component "com.google.appinventor.components.runtime.WebViewer" does not specify permissionConstraints

[LoadComponentInfo] usesLocation = False

[LoadComponentInfo] Permissions needed, n = 7

解决方法

if 判断代码块过多导致的,精简 if 判断代码块,使用数据表(字典)来处理逻辑。AppInventor逻辑处理数量是有上限的。

创始人回复

Java 和 Android 的内部类表示大多是 16 位,因此许多东西(例如方法)的长度就单个指令而言往往是 65535 字节(2^16 - 1)。在 App Inventor 级别,一个块可能会转化为许多指令。一些编程训练营专注于计算复杂性分数之类的事情,以表明方法何时变得如此复杂以至于无法推理它们应该被分解为更小的单元。但正如 ABG 所建议的那样,查找表(可能从共享资源加载,以便您可以独立于应用程序更新它)可能是解决该问题的方法。

参考


来源:【解决】Component does not specify permissionConstraints

本文由 App Inventor 2 中文网 整理

文档反馈