No static field xxx of type I in class Lcom/xxx/xxx/xxx/R$id
기존에 작업하던 xml 파일을 다른 모듈에 붙여 넣은 후 그 화면으로 진입하니 Runtime 중에 다음과 같은 에러가 나왔습니다
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | java.lang.NoSuchFieldError: No static field xxx of type I in class Lcom/xxx/xxx/xxx/R$id; or its superclasses (declaration of 'xxx.xxx.xxx.xxx.R$id' appears in /data/app/xxx/xxx.apk) at xxx.xxx.xxx.xxx.activity.OcrActivity.setPreviewLayout(OcrActivity.java:177) at xxx.xxx.xxx.xxx.activity.OcrActivity.startOcr(OcrActivity.java:156) at xxx.xxx.xxx.xxx.activity.OcrActivity.onCreate(OcrActivity.java:70) at android.app.Activity.performCreate(Activity.java:6904) at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1136) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3266) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3415) at android.app.ActivityThread.access$1100(ActivityThread.java:229) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1821) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:148) at android.app.ActivityThread.main(ActivityThread.java:7325) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120) | cs |
원인
다른 모듈에서 제가 사용하는 layout 파일과 동일한 이름의 파일이 있었기 때문입니다
제가 setContentView() 에서 사용하는 layout 파일은 다른 파일이었고 그 파일에는 제가 사용하고자 하는 id가 없었습니다
R.java 파일에 제가 사용하고자 하는 id가 없다는 에러메시지 입니다
해결
동일한 layout 파일을 삭제하거나 이름을 변경합니다
R.java 파일의 경로가 작업하는 모듈의 경로와 같은지 확인합니다
'IT > - 프로그래밍' 카테고리의 다른 글
Android 액티비티를 팝업(Popup)으로 띄우기 , 데이터 주고받기 (6) | 2018.07.14 |
---|---|
Android 백버튼 두번 눌러 앱종료하기 (0) | 2018.07.07 |
Android 에러 Program type already present: xxx.xxx.xxx.BuildConfig (0) | 2018.06.30 |
Android 화면 캡처막기 (0) | 2018.06.27 |
Android ProgressBar 이용하여 로딩바 애니메이션 구현하기 (0) | 2018.06.09 |