rayworks/DroidCast

Failed to take a screenshot on Android 13 devices

Closed this issue · 0 comments

java.lang.ClassNotFoundException: android.view.SurfaceControl$DisplayCaptureArgs
      at java.lang.Class.classForName(Native Method)
      at java.lang.Class.forName(Class.java:536)
      at java.lang.Class.forName(Class.java:467)
      at com.rayworks.droidcast.ScreenCaptorUtils.screenshot(ScreenCaptorUtils.java:54)
      at com.rayworks.droidcast.Main.getScreenImageInBytes(Main.java:179)
      at com.rayworks.droidcast.Main.access$300(Main.java:34)
      at com.rayworks.droidcast.Main$AnyRequestCallback.onRequest(Main.java:316)
      at com.koushikdutta.async.http.server.AsyncHttpServer.onRequest(AsyncHttpServer.java:52)
      at com.koushikdutta.async.http.server.AsyncHttpServer$1$1.onRequest(AsyncHttpServer.java:103)
      at com.koushikdutta.async.http.server.AsyncHttpServer$1$1.onHeadersReceived(AsyncHttpServer.java:190)
      at com.koushikdutta.async.http.server.AsyncHttpServerRequestImpl$2.onStringAvailable(AsyncHttpServerRequestImpl.java:93)
      at com.koushikdutta.async.LineEmitter.onDataAvailable(LineEmitter.java:42)
      at com.koushikdutta.async.Util.emitAllData(Util.java:23)
      at com.koushikdutta.async.AsyncNetworkSocket.onReadable(AsyncNetworkSocket.java:160)
      at com.koushikdutta.async.AsyncServer.runLoop(AsyncServer.java:878)
      at com.koushikdutta.async.AsyncServer.run(AsyncServer.java:726)
      at com.koushikdutta.async.AsyncServer.access$800(AsyncServer.java:46)
      at com.koushikdutta.async.AsyncServer$8.run(AsyncServer.java:680)

Non-SDK interfaces are blocked in Android 13.
See also the sdk changes.