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

오류 보고가 있는데 해결을 못하고 있습니다.

0 추천

유료앱인데 제가 사용하는 앱이기도 합니다. 저와 친구들은 아무 이상 없이 사용하는데 러시아(갤럭시노트)쪽에서 어제저녁에 구매한 분이 앱이 시작이 안된다고 합니다. 몇 시간째 확인을 해 보는데 알 수가 없습니다. 테스트를 계속 해봐도 에러자체가 안뜨니깐 확인도 안됩니다. 아래가 전체 보고내용입니다.

java.lang.RuntimeException: Unable to start activity ComponentInfo{com.naver.blog.lathegeo.single_taper/com.naver.blog.lathegeo.single_taper.SingleTaperActivity}: java.lang.NullPointerException
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2110)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2135)
at android.app.ActivityThread.access$700(ActivityThread.java:140)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1237)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:4921)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1038)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:805)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.NullPointerException
// 3개의 액티비티를 사용하는데 
// 아래는 LVL을 위한 액티비티입니다.
at com.naver.blog.lathegeo.single_taper.g.a(Unknown Source)
// 아래는 확인해 보니깐 커스텀뷰 객체더군요. 이것이 문제일까요?
at com.naver.blog.lathegeo.single_taper.SingleTaperActivity.a(Unknown Source)
at com.naver.blog.lathegeo.single_taper.SingleTaperActivity.onCreate(Unknown Source)
at android.app.Activity.performCreate(Activity.java:5206)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1094)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2074)
... 11 more

setContentView()앞에 다음과 같은 코드들을 사용합니다.

public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS);
 
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		requestWindowFeature(Window.FEATURE_NO_TITLE);
		setContentView(R.layout.activity_s);
		//
		licensed();
		//
		codes = new Codes();
		calculation = new Calculation();
		noteViewer = (TextView)findViewById(R.id.status_view);
		noteTouchListener = new NoteTouchListener(noteViewer);
		// 아래가 해당 커스텀뷰입니다. 
		drawing = (TaperView)findViewById(R.id.drawing_view);

 

책을 보고 공부하면서 틈틈히 필요한 앱을 만들어서 쓰고 있는데 생각보다 많이 어렵습니다.
도움도 못드리고 염치없게 도움만 부탁드립니다.
 
 
inDohea (350 포인트) 님이 2013년 12월 6일 질문

3개의 답변

0 추천
 
채택된 답변
com.naver.blog.lathegeo.single_taper.g.a 에서 null이나는거같은데...

id가잘못 연결되서 null이나는건아닌것같고.. 커스텀한뷰 내부에 문제일수도있는데. 이것만봐서는 모르겠네요

외국에서산 갤노트문제라면 특정디바이스문제일수도있고 버전문제일수도있고..

아무튼 이것만으로는 뭐가어떻다라는 이야기를 못할거 같습니다
whdrb19 (23,520 포인트) 님이 2013년 12월 6일 답변
inDohea님이 2013년 12월 6일 채택됨
답변감사합니다. proguardgui.bat라는 것을 알아서 좀 좁히긴 한 것 같지만 초기값도 대부분 지정되어 있고, 리턴값도 null을 리턴하는 상황이 거의 없어서 일일이 체크해 볼 생각입니다. 개인이 상업용 프로그램을 작업하는 것이 정말이지 쉽지 않네요. 부수적인 작업도 많이 들어가고 일단 법률적인 문제부터도 어렵고. 두배는 더 힘든 것 같습니다.
0 추천

오류에 대해서 사용자에게 메일로 다시 받은 답변입니다.

Good afternoon bought your program not it it isn't started on samsung note 7000 what to do?

 
갤럭시 note GT N7000 기종인데 앱 구매자 4명 중 2명이 이 기종입니다.
어떤 특정 기종에서 앱이 문제가 될 수 있는 건가요? 문제점을 찾아 보려고 해도 찾아 지지가 않습니다.
프로가드 적용되었고요. 라이센스 검증 라이브러리도 적용되었습니다. 코드의 licensed()는 계약서 메소드고요.
LVL이 문제가 된다면 풀 생각이거든요.
inDohea (350 포인트) 님이 2013년 12월 6일 답변
inDohea님이 2013년 12월 6일 수정
노트단말 테스트센터가서 빌려서 해보세요
그런데 제가 천안에 살고 있어서 찾아 봤는데 없는 것 같네요. 평택에 있어도 갈 수 있는데. 답변 감사합니다.
제가 갤노트 n7000가지고 있는데 수원오시면 빌려드리죠
제가 지금 일이 좀 밀려 있어서 우선 아쉽지만 담에 좀 부탁을 드리겠습니다. 감사합니다.
0 추천
오류를 해결하고자 소스코드를 다시 확인하고 작업하면서 기록해 둔 것을 토대로 확인해 봤는데 이런 부분이 있었습니다.

TaperView는 View 클래스를 상속받습니다. 그리고 path로 도형들을 그립니다.

문자는 다음과 같이 view의 getContext()로 string resource를 불러와서 canvas로 그립니다.

getContext().getString(R.string.angle_label);

TaperView는 xml에서 FrameLayout에 들어가고요. 다른 것들은 include를 사용해서 들어갑니다.

정리글을 보니깐 string resource 때문에 graphical layout이 표시가 안되고 검게 표시되는 경우가 있었습니다. 이럴 때는 null exception이 발생했었고요 그렇더라도 컴파일하거나 실행할 때 에러로 잡히지는 않았고 문제없이 뷰에 해당 문자를 그리고  실행되서 무시했습니다.  오늘 주변분들의 폰과 구형 폰으로 테스트를 해 봤는데 전혀 이상이 없었습니다. 네이버에서 테스트를 했을 때도 이상이 없었고요. 그렇다고 LVL에 문제가 있다고 보기에도 그렇고요.

로그를 붙여서 테스트를 해봤는데 이 부분 빼고는 문제가 없는 것 같아서 이 부분을 수정하고 LVL을 제거하고 올려놨습니다.

custom view에서 string resource를 canvas로 그릴 때 문제가 될 수 있을까요?
inDohea (350 포인트) 님이 2013년 12월 7일 답변
...