안녕하세요.  볼레로입니다.

http://www.androidpub.com/208503

위 링크의 질문처럼,  참 희안한  에러가 나오더군요.


에뮬레이터 1.6 에서  마켓들어가서 받은  게임이    에뮬레이터에서는 잘 돌아가는데요.

실제 세트 (OS 2.0)  세트에 설치하면 

>adb install com.glu.android.bonsai.apk
1754 KB/s (6849867 bytes in 3.812s)
        pkg: /data/local/tmp/com.glu.android.bonsai.apk
Failure [INSTALL_FAILED_OLDER_SDK]


위와 같이  SDK 가   이전 버전이라고 에러를 표시하더군요 ㅡ.ㅡ


어떻게  2.0 OS 가   1.6 OS 보다  SDK 가 이전 버전일 수 있는지 알수가 없더군요.


이 부분을 찾다가 보니까,

FrameWork 소스의  버그 더군요 ㅡ.ㅡ


frameworks\base\core\java\android\content\pm\PackageParser.java

소스의  913 라인 근처 가 보면,   

                if (maxVers < SDK_VERSION) {
                        
                        outError[0] = "Requires older sdk version #" + maxVers
                                + " (current sdk version is #" + SDK_VERSION + ")";
                        
                        mParseError = PackageManager.INSTALL_FAILED_OLDER_SDK;
                        
                        return null;
                    }

이런 코드가 있습니다.

APP 에서  정한   max 버전 값이   OS의  SDK 버전보다  작으면, 
리턴값을   위와 같이  돌려주고 있더군요.


이 부분을  아래와 같이 수정해야 할듯 합니다.

                if (maxVers < SDK_VERSION) {
                         outError[0] = "Requires older sdk version #" + maxVers
                                + " (current sdk version is #" + SDK_VERSION + ")";
                       
                        // by bolero
                        //mParseError = PackageManager.INSTALL_FAILED_OLDER_SDK;
                        mParseError = PackageManager.INSTALL_FAILED_NEWER_SDK;
                       
                        return null;
                    }


수고하세요 ^^