在我的项目中,我使用位图来添加背景图像。当我使用第二个位图时,我的代码运行良好。一旦我膨胀第二个位图项目,在构建时就开始出现 R 错误。 下面是我的代码:
@Override
public void surfaceCreated(SurfaceHolder holder) {
bg = new Background(BitmapFactory.decodeResource(getResources(), R.drawable.imageOne));
newbg = new AnotherClass(BitmapFactory.decodeResource(getResources(), R.drawable.imageTwo));
// thread.setRunning(true);
// thread.start();
}
我尝试过的事情:
- 从 Build Clean 和终端清理项目。
- 重建项目。
- 使用无效缓存重新启动。
Broken pipe java.io.IOException: Broken pipe at sun.nio.ch.FileDispatcherImpl.write0(Native Method) at sun.nio.ch.SocketDispatcher.write(SocketDispatcher.java:47) at sun.nio.ch.IOUtil.writeFromNativeBuffer(IOUtil.java:93) at sun.nio.ch.IOUtil.write(IOUtil.java:65) at sun.nio.ch.SocketChannelImpl.write(SocketChannelImpl.java:471) at com.android.ddmlib.JdwpPacket.write(JdwpPacket.java:179) at com.android.ddmlib.Client.send(Client.java:654) at com.android.ddmlib.jdwp.JdwpAgent.send(JdwpAgent.java:92) at com.android.ddmlib.HandleHeap.sendREAQ(HandleHeap.java:349) at com.android.ddmlib.Client.requestAllocationStatus(Client.java:517) at com.android.ddmlib.DeviceMonitor.createClient(DeviceMonitor.java:573) at com.android.ddmlib.DeviceMonitor.openClient(DeviceMonitor.java:545) at com.android.ddmlib.DeviceMonitor.deviceClientMonitorLoop(DeviceMonitor.java:361) at com.android.ddmlib.DeviceMonitor.access$100(DeviceMonitor.java:65) at com.android.ddmlib.DeviceMonitor$1.run(DeviceMon...
最佳答案
正如您提到的,在您添加第二个之前,您的代码工作正常,因此问题在于您的第二个位图。
如果您使用的是手动转换的图像,则可能会发生这种情况,例如:将 image.jpg 转换为 image.png。
解决方案:将图像名称重构为原来的名称并使用它。如果要转换它,请使用图像扩展名更改工具(网上有很多),然后在位图中使用它。
希望它能奏效。 :)
关于Android Studio 在构建项目时出现 R 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37881204/