当前位置: 首页 > 知识库问答 >
问题:

我如何配置一个codenameone项目安装在Android的外部存储

姚伟
2023-03-14

我试图让我的codenameone应用程序安装到外部存储,所以我不需要根权限来调试什么是写入存储,因为它不适用于Android,即使它在模拟器中。

首先,我假设只有codenameone_settings.properties中的codename1.arg.android.installplace=prefer外部就可以做到这一点,但是即使在将安装位置从自动更改为prefer外部之后,应用程序仍然会安装到内部存储。

因此,我认为它可能需要引用preferExternal,并继续给出它们(=“preferExternal\”)-这在生成服务器上给出了一个清单生成错误,它用双引号显示清单,因此原始格式是正确的。

从错误报告中,我看到了

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" android:required="false" />

因此,我认为可能需要这样做,才能真正实现到外部存储的安装。我尝试添加codename1。arg。Android准许如文档所示,将_EXTERNAL_STORAGE=true写入属性文件,但在清单合并中失败:

合并结果:ERROR/tmp/build6786351350686020379xxx/happy2/src/main/AndroidManifest。xml:48:7-69错误:元素使用权限#android。准许在AndroidManifest中写入外部存储。xml:49:5-81与AndroidManifest中声明的元素重复。xml:45:5-106/tmp/build6786351350686020379xxx/happy2/src/main/AndroidManifest。xml错误:验证失败,正在退出

好的,我认为它总是包含在内的,因此我只需要将所需的设置更改为true,然后按照文档中的说明添加codename1。arg。Android准许写入外部存储器。属性的required=true。这将生成,但实际权限未设置为android:required=“true”,但仍为false。

使用android.xpermissions标签插入需要的行

合并结果:ERROR/tmp/build5902397225615175xxx/happy2/src/main/AndroidManifest。xml:48:3-103错误:元素使用权限#android。准许在AndroidManifest中写入外部存储。xml:48:3-103与AndroidManifest中声明的元素重复。xml:45:5-106/tmp/build5902397225615175xxx/happy2/src/main/AndroidManifest。xml错误:验证失败,正在退出

所以问题仍然存在,我如何配置一个codenameone项目安装在Android的外部存储?


共有1个答案

漆雕兴平
2023-03-14

请参阅此android:installLocation=“preferExternal”不工作

要点是,你的应用程序的某些部分将始终安装在隐藏区域中,存储可能会在那里。

如果你想写东西到SD卡,你可以这样做与FileSystemstoreAPI,它允许你写任意根。您可以检测SDCard根并在那里写入。我建议在模拟器中调试,尽管您可以在. cn1目录中轻松查看存储内容。

 类似资料:
  • 所以我正在编写简单的Spring Boot(1.56版)应用程序。并开始使用lombok项目,specifically@Slf4j用于记录的功能。日志记录工作正常,但如何配置此日志记录程序?准确地说,我希望能够使用外部文件更改日志记录级别。

  • 问题内容: 当我运行“清理并生成”时,仅在文件夹位于文件的同一文件夹时,才会运行正在创建的文件。 因此,如果我将jar文件移动到桌面并将该文件夹保留在该文件夹中,则jar文件将给我一个例外。 我该如何解决这个问题? 问题答案: 如果将jars复制到源代码目录中,它们将位于您的最终jar中。但是,我不确定这是否会在100%的时间内有效。 java-forum上有一篇很棒的文章,内容如下: 除了少数情

  • 我成功地安装了所有的flatter需求,包括android studio的flatter和dart插件,没有任何遗漏。我在没有选择Kotlin支持的情况下创建了一个新的颤振项目,但在创建该项目后,我得到了与Kotlin相关的问题代码 用于使用Gradle(1.2.71)构建的Kotlin版本不同于捆绑在IDE插件(1.3.50)中的版本 这就是构建。gradle文件代码: 另一个问题是在这个dir

  • 但是,在编译ApplicationA时,SBT抱怨依赖项只能是子目录!!: 这看起来很简单,拥有这个项目依赖项的正确方法是什么?

  • 我想在android studio中删除一个项目,所有文件都应该从目录中删除。 但我需要一个更好的解决方案,以删除它永久在目录中,也与安全模式。 以上所述的最佳解决方案是哪一种,或者是否有任何解决方案?希望能得到解决。谢谢!