마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

안드로이드 애뮬레이터나 갤럭시A7에선 실행잘되다가 다른폰에 연결하니까 안되네요..

0 추천
버젼은 8.0.0 API 26으로 동일합니다.

에러 첨부하겠습니다.

 

09-13 19:04:24.290 32428-32428/? E/AndroidRuntime: FATAL EXCEPTION: main
    Process: com.example.hyeminj.syolo, PID: 32428
    java.lang.RuntimeException: Canvas: trying to draw too large(152977020bytes) bitmap.
        at android.view.DisplayListCanvas.throwIfCannotDraw(DisplayListCanvas.java:229)
        at android.view.RecordingCanvas.drawBitmap(RecordingCanvas.java:97)
        at android.graphics.drawable.BitmapDrawable.draw(BitmapDrawable.java:529)
        at android.widget.ImageView.onDraw(ImageView.java:1367)
        at android.view.View.draw(View.java:20352)
        at android.view.View.updateDisplayListIfDirty(View.java:19297)
        at android.view.View.draw(View.java:20075)
        at android.view.ViewGroup.drawChild(ViewGroup.java:4421)
        at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4207)
        at android.view.View.updateDisplayListIfDirty(View.java:19288)
        at android.view.View.draw(View.java:20075)
        at android.view.ViewGroup.drawChild(ViewGroup.java:4421)
        at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4207)
        at android.view.View.draw(View.java:20355)
        at android.view.View.updateDisplayListIfDirty(View.java:19297)
        at android.view.View.draw(View.java:20075)
        at android.view.ViewGroup.drawChild(ViewGroup.java:4421)
        at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4207)
        at android.view.View.updateDisplayListIfDirty(View.java:19288)
        at android.view.View.draw(View.java:20075)
        at android.view.ViewGroup.drawChild(ViewGroup.java:4421)
        at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4207)
        at android.view.View.updateDisplayListIfDirty(View.java:19288)
        at android.view.View.draw(View.java:20075)
        at android.view.ViewGroup.drawChild(ViewGroup.java:4421)
        at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4207)
        at android.view.View.updateDisplayListIfDirty(View.java:19288)
        at android.view.View.draw(View.java:20075)
        at android.view.ViewGroup.drawChild(ViewGroup.java:4421)
        at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4207)
        at android.view.View.updateDisplayListIfDirty(View.java:19288)
        at android.view.View.draw(View.java:20075)
        at android.view.ViewGroup.drawChild(ViewGroup.java:4421)
        at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4207)
        at android.view.View.draw(View.java:20355)
        at com.android.internal.policy.DecorView.draw(DecorView.java:979)
        at android.view.View.updateDisplayListIfDirty(View.java:19297)
        at android.view.ThreadedRenderer.updateViewTreeDisplayList(ThreadedRenderer.java:686)
        at android.view.ThreadedRenderer.updateRootDisplayList(ThreadedRenderer.java:692)
        at android.view.ThreadedRenderer.draw(ThreadedRenderer.java:800)
        at android.view.ViewRootImpl.draw(ViewRootImpl.java:3488)
        at android.view.ViewRootImpl.performDraw(ViewRootImpl.java:3275)
        at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2810)
        at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1779)
        at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:7800)
        at android.view.Choreographer$CallbackRecord.run(Choreographer.java:911)
        at android.view.Choreographer.doCallbacks(Choreographer.java:723)
        at android.view.Choreographer.doFrame(Choreographer.java:658)
        at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:897)
        at android.os.Handler.handleCallback(Handler.java:789)
        at android.os.Handler.dispatchMessage(Handler.java:98)
        at android.os.Looper.loop(Looper.java:164)
        at android.app.ActivityThread.main(ActivityThread.java:6938)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:327)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1374)
 

 

09-13 19:04:34.307 32495-803/? E/fb4a.BootIdReader: Error reading boot_id from procfs
    java.io.FileNotFoundException: /proc/sys/kernel/random/boot_id (Permission denied)
        at java.io.FileInputStream.open0(Native Method)
        at java.io.FileInputStream.open(FileInputStream.java:200)
        at java.io.FileInputStream.<init>(FileInputStream.java:150)
        at java.io.FileInputStream.<init>(FileInputStream.java:103)
        at java.io.FileReader.<init>(FileReader.java:58)
        at X.2OA.D(:622695)
        at X.3g4.B(Unknown Source:1308)
        at X.0JF.B(Unknown Source:31)
        at X.0K1.F(:50404)
        at X.0K1.D(:50390)
        at X.3c7.D(:844726)
        at X.3c7.E(:844730)
        at X.3c7.A(:844701)
        at X.2zO.init(:736605)
        at X.0cG.run(:92842)
        at X.0P6.run(:61526)
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:457)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:457)
        at X.0Q6.run(:64342)
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:457)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at X.0Mo.run(:56318)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636)
        at X.0Q8.run(:64362)
        at java.lang.Thread.run(Thread.java:764)
익명사용자 님이 2018년 9월 13일 질문

1개의 답변

0 추천

에러 메시지를 이해하고 찾아가서 분석해야 합니다.

아래는 152메가 짜리 Bitmap은 너무커서 그릴 수 없다는 이야기입니다.
호출은 DisplayListCanvas.java의 229번째 라인에서 호출됩니다.
bitmap 사이즈를 줄일 수 있는지를 확인해야 합니다.

 java.lang.RuntimeException: Canvas: trying to draw too large(152977020bytes) bitmap.
        at android.view.DisplayListCanvas.throwIfCannotDraw(DisplayListCanvas.java:229)

Bitmap 리사이즈 관련 정보:
https://stackoverflow.com/questions/15759195/reduce-size-of-bitmap-to-some-specified-pixel-in-android

 

하기 에러는 퍼미션이 거부되었다는 이야기니까 권한 체크를 해 봐야 할 것 같네요.

E/fb4a.BootIdReader: Error reading boot_id from procfs
    java.io.FileNotFoundException: /proc/sys/kernel/random/boot_id (Permission denied)

파일 READ or WRITE 퍼미션에 대한 것을 체크해 보세요.

https://stackoverflow.com/questions/17540737/java-io-filenotfoundexception-open-failed-eacces-permission-denied-on-device

Will Kim (43,170 포인트) 님이 2018년 9월 14일 답변
...