2010-11-24 1 views
3

Eclipse IDE를 사용하여 릴리스 키 저장소를 만들었습니다. keytool을 사용하여 서명하고 Google지도에 등록했습니다. 나는 열쇠를 꽂았지만 나의지도는 나타나지 않는다.Google Map이 내 MapActivity에 나타나지 않습니다.

Maps show up properly when I use the key associated with my debug keystore. 

어떻게 진단 할 수 있습니까? 나는 디버그를 할 때와 동일한 단계를 밟았다.

UPDATE : 여기

내 매니페스트 파일은 다음과 같습니다

 <?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="com.android.cancertrials" android:versionCode="1" 
    android:versionName="1.0"> 
    <uses-permission android:name="android.permission.INTERNET" /> 
    <uses-permission android:name="android.permission.CALL_PHONE"/> 
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> 
    <application android:icon="@drawable/icon" android:label="@string/app_name" android:debuggable="true"> 
     <activity android:label="@string/app_name" android:name="splash"> 

      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 
       <category android:name="android.intent.category.LAUNCHER" /> 
      </intent-filter> 
     </activity> 
     <activity android:name=".HomeActivity" android:label="@string/app_name" android:windowSoftInputMode="stateHidden"> 
     </activity> 
     <activity android:name=".moreactivity" android:label="@string/app_name"> 
     </activity> 
     <activity android:name=".aboutmedtrust" android:label="@string/app_name"> 
     </activity> 
     <activity android:name=".aboutclinical" android:label="@string/app_name"> 
     </activity> 
     <activity android:name=".aboutglaxosmith" android:label="@string/app_name"> 
     </activity> 
     <activity android:name=".termsofuse" android:label="@string/app_name"> 
     </activity> 
     <activity android:name=".privacy" android:label="@string/app_name"> 
     </activity> 
     <activity android:name=".feedback" android:label="@string/app_name"> 
     </activity> 
     <activity android:name=".informationcancer" android:label="@string/app_name"> 
     </activity> 
     <activity android:name="AdvanceSearchActivity" android:label="@string/app_name"> 
     </activity> 
     <activity android:name="SearchingActivity"></activity> 
     <activity android:name="AdvanceSearchTab1"></activity> 
     <activity android:name="AdvanceSearchTab2"></activity> 
     <activity android:name="DetailedActivity"></activity> 
     <activity android:name="summary"></activity> 
     <activity android:name="conditions"></activity> 
     <activity android:name="description"></activity> 
     <activity android:name="inclusion"></activity> 
     <activity android:name="exclusion"></activity> 
     <activity android:name="BookmarkActivity"></activity> 
     <activity android:name="RecentActivity"></activity> 
     <activity android:name="information"></activity> 
    <uses-library android:name="com.google.android.maps"></uses-library> 
    <activity android:name="Mapsactivity"> 
    </activity> 
    <activity android:name="mapView"></activity> 

</application> 
    <uses-sdk android:minSdkVersion="3" /> 

</manifest> 
+0

당신은 활동의 말도 안되는 금액을 가지고있다.또한 uses-library 세트가 두 번 있는데 하나는 활동 내부에 있습니다. 나는 심지어 컴파일하는 것에 놀랐다 – Falmarri

+0

당신은 거기에'ACCESS_FINE_LOCATION'을 두 번 가지고 있는데, 그 중 하나를 당길 가치가있을 수도 있습니다. – Jimmy

+0

또한 Google API 대상에있는 에뮬레이터에 대해 실행 해보십시오 (추가 타겟을 다운로드하려면 AVD 관리자 사용) – Jimmy

답변

0

지문이 변경되면 릴리스 키 저장소로 서명 할 때 별도의 API 키를 얻어야합니다.

올바른 키로 서명 한 .apk도 설치해야합니다.

업데이트 : 내 생각에 올바른 키로 APK에 서명 했습니까? 즉, APK를 생성 할 때 릴리스 키 저장소로 서명해야합니까?

내보낼 때 실제로 서명 할 키 저장소를 실제로 선택하고 있습니까?

+0

릴리스 키 저장소와 관련된 별도의 API 키를 얻었습니다. 이것이 작동하지 않는 열쇠입니다. 디버그 키 저장소로 다시 바꿀 때 모든 것이 다시 황금색입니다. –

+0

@Sheehan Alam : 내 대답이 업데이트되었습니다. –

+0

예, APK를 올바른 릴리스 키 저장소로 내 보냈습니다. 지도를 가져올 수없는 베타 테스터에게 APK를 보냈습니다. Eclipse를 통해 릴리스 APK를 실행하려면 어떻게해야합니까? 이클립스가 내 디버그 APK를 실행하고 있지만 릴리스 키를 사용하고 있다는 느낌이 들었다 ... –

2

당신이 인터넷 권한을 추가 했습니까? 이 질문은 말 그대로 매일 묻습니다.

+1

예, 추가되었습니다. 내 매니페스트 파일을 확인하십시오. 흥미로운 점은 디버그 키 스토어에 키를 사용하면지도가 나타납니다. 내 릴리스 키 저장소 맵을 사용할 때만 나타납니다 ... –

0

그래서 어제이 문제를 자신을 발견하고 나는 수동의 .apk

당신이 개인 키 스토어를 사용하고 필요에 따라 당신이 당신의지도보기 (및 기타 리소스에 릴리스 맵 키를 입력 한 가정에게 서명함으로써 해결).

하려면 Eclipse의 프로젝트 탐색기 (마우스 오른쪽 버튼 클릭) -> Android Tools -> 서명되지 않은 패키지 내보내기에서 프로젝트를 선택하십시오. 원하는 곳에 저장하십시오.

터미널을 엽니 다 (Windows 7 컴퓨터에 있음) jdk 폴더 (jre가 아닌)에 넣고 bin \에 추가로 cd하십시오.

를 사용하여 다음 명령을 (당신이 경로를 입력하면 "필요합니다)

 jarsigner -verbose -sigalg MD5withRSA -digestalg SHA1 -keystore "path-to-your-keystore" "path-to-your-apk" <apk alias> -certs 

jarsigner -verify "path-to-recently-signed-apk" -verbose 

가 (당신이 경우 자세한 옵션을 남길 수 있습니다 않는 서명 프로세스를 확인하려면 (희망적으로) jar가 검증되었음을 보여줄 것입니다. (궁극적으로 인증 된 인증서 체인이없는 항목에 대해 경고합니다.)

그런 다음 zipalign을 실행하십시오.

zipalign -v 4 "path-to-signed-apk" "path-to-signed-and-aligned.apk" 

googles 표준에 맞게 새 apk가 만들어집니다.

apk를 설치하면지도가 잘 보입니다. 에서

: http://developer.android.com/tools/publishing/app-signing.html#ExportWizard