1

我一直在尝试按照GitHub 上此 wiki的说明在我的应用程序中加入对 Parse Push 的支持。在为 Android 构建时,最后一个绊脚石是构建日志中的以下错误消息:

已为元素“application”指定了绑定到命名空间“ http://schemas.android.com/apk/res/android ”的属性“name”。

原来,构建提示的组合

codename1.arg.android.multidex=true

codename1.arg.android.xapplication_attr=android\:name\="com.parse4cn1.nativeinterface.CN1AndroidApplication"

导致了这个问题。开启multidex后,应用名称变为android.support.multidex.MultiDexApplication

我通过设置multidex来解决它false,但如果我需要它true怎么办?

4

2 回答 2

1

很高兴看到您找到了问题的解决方案。您提到您正在使用 Parse.com 进行推送通知。请注意 Parse.com 即将关闭。目前,开源 Parse Server 仅支持 Android 和 iOS(不支持 Windows Phone)的推送通知。此外,Parse Server 引入了Parse.com 中不存在的约束,即:需要提供应用程序的主密钥才能触发来自客户端的推送通知。

根据设计,parse4cn1出于安全考虑,不执行任何需要主密钥的操作。因此,如果此约束仍然存在并且客户端触发的推送对您来说是一个有趣的用例,您可能需要编写服务器端 Javascript 云代码,然后您可以调用这些代码parse4cn1来触发您的推送请求。

我目前正在更新parse4cn1以启用对 Parse Server 的支持。但是,我认为我不会在下一个版本中更新与推送相关的功能。因此,在您继续前进时,请牢记这些可能的限制。如果您只对推送通知感兴趣,您可能还需要考虑其他专门的推送提供程序。

一切顺利。

于 2016-04-22T10:40:22.740 回答
1

我认为这与多 dex 过程无关。parse4cn1 wiki 提到了更改android.xapplication_attr,我假设您添加了 name 属性。这是不正确的,因为它会将名称注入到已命名的活动中。

于 2016-04-16T04:05:39.250 回答