android - Delphi XE5 发布版本的 Android 应用程序 -- 禁用互联网

标签 android delphi rest firemonkey delphi-xe5

我可以使用 Delphi XE5(更新 2,修补程序 1 - 但在更新 1 中也是如此)创建一个应用程序,该应用程序在创建为 DEBUG 版本时运行。但是当我将它创建为 RELEASE-APPLICATION STORE 版本时,Internet 停止工作。

它似乎覆盖了 android.manifest.xml 文件并从中删除了 INTERNET 设置。我尝试了各种手动更新文件和部署的方法。但是您必须再次运行 BUILD 才能合并更改——这会再次覆盖文件。

该应用程序是使用 REST 的简单应用程序。还有一个浏览器,在另一部分设置了 URL。在 DEBUG 版本中工作正常。在 REST 调用的 RELEASE-APPLICATION STORE 版本中,它显示 SOCKET #13 错误,网页也无法正常工作。所以绝对没有互联网。

如有任何想法、进行手动更改的顺序或想法,我们将不胜感激。

跟进 --- 找到解决方案

不幸的是,用户权限设置在我的环境中并没有完全发挥作用。我在 PROJECT | 中将 INTERNET 设置更改为 TRUE选项 |用户权限和编译/构建以及 INTERNET 设置从项目\release 文件夹中创建的 AndroidManifest.xml 文件中删除(覆盖)。在\debug 版本中它在那里(互联网设置)并且很好。

至少对我来说,解决方案是更新 AndroidManifest.template.xml 文件并在其中添加 INTERNET 设置——因此它被复制到 AndroidManifest.xml 文件的\release 和\debug 版本。

所以我的 AndroidManifest.Template.xml 文件 .. 在项目根目录中看起来像这样:

...标题和其他信息

<uses-permission android:name="android.permission.INTERNET" />

...文件的其他内容和页脚

模板文件用于创建 AndroidManifest.xml 文件的\release 和\debug 版本,因此它强制将该设置放入该文件中。

这有效并清除了我遇到的套接字 13 错误,并且在发布的 Android 版本上没有互联网访问权限。耶!!!

最佳答案

您必须进入项目选项并启用INTERNET 权限。 Debug 版本默认启用,Release 版本默认禁用。

关于android - Delphi XE5 发布版本的 Android 应用程序 -- 禁用互联网,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20643865/

相关文章:

rest - 如何使用 Ravendb 在 POST 请求中定义 id

Android:检查NestedScrollView是在底部还是在顶部

android - 如何在jetpack compose中的drawLine中制作圆角

delphi - 如何正确使用ARC与接口(interface)?

delphi - 在 Delphi 中将两个文本文件加载到一个 TMemo 组件中的最佳方法是什么?

entity-framework - Web API 和 EF 导致 InvalidOperationException

Android 10 以下没有互联网的情况下,Android 会自动与 WiFi 断开连接

java - 正在添加 AppCompat V7

Delphi:将 TImage 置于前面

java - 无法使 Resteasy 与 Tomcat 8 和 Java 8 一起工作