안녕하세요.
버전업 테스트겸 앱하나를 만들었습니다.
파일은
프로젝트명 Test
Main.class
Update.class
Main은 Activity를 상속 받아 구연하여 oncreate 해주는 클래스입니다.
Update는 업데이트파일 즉 Test.apk를 업데이트 해주는 클래스입니다.
Main에 버튼 하나가 있어 그것을 클릭 하면 Update 클래스에서 파일을 재인스톨 하는 것을 구연하였습니다.
그런데 버튼 클릭하여 실행하면
----
구문분석오류
패키지 파일을 분할하는 중에 문제가 발생하였습니다.
----
이라는 경고창이 나오면서 reinstall 이 되지 않습니다.
왜그런지 잘 모르겠습니다. 혹시 앱이 실행중이여서 안되는건지?
만약에 그렇다면 activity 종료 시점에서 업데이트를 실행해야되는지요?
현제 구연 하려는 방향은 마이피플등 처럼 앱이 실행되면 업데이트 되는 것을 구연하려는것이고
마켓을 이용하지 않고 서버에서 파일을 내려받는 형식으로 구연 하려 하고있습니다.
현 테스트는 임의로 파일을 폴더에 넣고 테스트 하고있습니다
Update 클래스 업데이트 되는 부분의 소스입니다.
public Update(Context context){
this.context = context;
}
File auf = new File("/mnt/sdcard/test/Test.apk");
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(Uri.fromFile(auf), "application/vnd.android.package-archive");
((Activity)context).startActivity(intent); //<Activity를 상속 받지 않아 Context로 구연하였습니다.
구문분석 오류는 apk 파일이 뭔가 잘못되었거나 할 때 많이 발생하더군요.
특히 인터넷에서 파일을 다운로드 한 경우 뭔가 제대로 다운로드가 안되거나 했을 때 발생할 확률이 많은 것 같구요.
해당 오류메시지 관련해서 검색해보시면 자료가 좀 나올겁니다.