某些设备上找不到Android资源

Mar*_*nyi 9 resources android build device

我们有一个应用程序(有适量的字符串),我们翻译成27种以上的语言.我们制作了2个应用程序版本.这两个版本仅在包名称上有所不同.所以基本上我们首先使用包名称来构建我们的应用程序,com.android.sad.app然后再使用包名称进行另一个应用程序com.android.even.sadder.app.我们有机会在各种各样的Android设备上测试我们的应用程序,我们发现在一些设备上,如三星ACE,三星Galaxy SLG Optimus 2x,我们的应用程序无法加载/读取资源,所以即使是应用程序图标未显示,应用程序启动时崩溃android.content.res.Resources.NotFoundException.在其他设备上一切正常.

我们发现,如果我们减少应用程序资源中的字符串总量,我们的应用程序就可以在上述设备上成功运行.但是,我们认为这不是我们问题的真正解决方案,因为可以在相关设备上运行具有资源中完整字符串的调试版本.

所以我的问题是有人知道什么可能导致这种非常奇怪的行为吗?

Pau*_*ire 0

我会在这里假设很多,但我会把钱花在与弦的数量有关的事情上。您的所有字符串都会消耗内存,并且这些目标设备可能没有足够的内存供您的应用程序使用。至于包名的差异,当然,较短的包名会比较长的包名消耗更少的字节。

我建议您减少使用的字符串数量,看看是否可以解决您的问题。