如何配置codenameone项目以安装在Android的外部存储上
我正在尝试将codenameone应用程序安装到外部存储,因此我不需要root权限来调试写入存储的内容,因为它在Android上不工作,即使在模拟器中也不工作 首先,我假设只有如何配置codenameone项目以安装在Android的外部存储上,codenameone,android-permissions,Codenameone,Android Permissions,我正在尝试将codenameone应用程序安装到外部存储,因此我不需要root权限来调试写入存储的内容,因为它在Android上不工作,即使在模拟器中也不工作 首先,我假设只有codenameone\u设置中的codename1.arg.android.installLocation=preferExternal,properties可以做到这一点,但即使将installLocation从auto更改为preferExternal,应用程序仍会安装到内部存储 因此,我认为它可能需要引用prefe
codenameone\u设置中的codename1.arg.android.installLocation=preferExternal
,properties
可以做到这一点,但即使将installLocation从auto更改为preferExternal,应用程序仍会安装到内部存储
因此,我认为它可能需要引用preferExternal,并继续给出它们(=“preferExternal\”
)-这在生成服务器上给出了一个清单生成错误,它用双引号显示清单,因此原始格式是正确的
从错误报告中,我看到了
因此,我认为可能需要这样做,才能真正实现到外部存储的安装。我尝试像文档建议的那样将codename1.arg.android.permission.WRITE_EXTERNAL_STORAGE=true
添加到属性文件中,但在清单合并中失败:
合并结果:错误
/tmp/build6786351350686020379xxx/happy2/src/main/AndroidManifest.xml:48:7-69错误:
元素在AndroidManifest中使用权限#android.permission.WRITE_外部存储。xml:49:5-81与AndroidManifest中声明的元素重复。xml:45:5-106
/tmp/build6786351350686020379xxx/happy2/src/main/AndroidManifest.xml错误:
验证失败,正在退出
好的,我认为它总是包含在内的,因此我只需要将所需设置更改为true,然后按照文档中的说明,将codename1.arg.android.permission.WRITE_EXTERNAL_STORAGE.required=true
添加到属性中。这将生成,但实际权限未设置为android:required=“true”,但仍为false
使用android.xpermissions
标记插入想要的行
确实会将其插入清单,但清单生成器会给出错误提示,因为默认的错误行也会出现:
合并结果:错误
/tmp/build5902397225615175xxx/happy2/src/main/AndroidManifest.xml:48:3-103错误:
元素在AndroidManifest中使用权限#android.permission.WRITE_外部存储。xml:48:3-103与AndroidManifest中声明的元素重复。xml:45:5-106
/tmp/build5902397225615175xxx/happy2/src/main/AndroidManifest.xml错误:
验证失败,正在退出
因此问题仍然存在,如何配置codenameone项目以安装在Android的外部存储上?
要点是,你的应用程序的某些部分将始终安装在隐藏区域中,存储可能会在那里
如果您想将内容写入SD卡,可以使用FileSystemStorage
API来实现,该API允许您写入任意根目录。您可以检测SD卡根并在那里写入。我建议在模拟器中进行调试,您可以在.cn1
目录中轻松查看存储内容 看到了吗
要点是,你的应用程序的某些部分将始终安装在隐藏区域中,存储可能会在那里
如果您想将内容写入SD卡,可以使用FileSystemStorage
API来实现,该API允许您写入任意根目录。您可以检测SD卡根并在那里写入。我建议在模拟器中进行调试,您可以在.cn1
目录中轻松查看存储内容