2013-03-21 3 views
0

Я пытался загрузить мой APK на андроид консоли, но это дает мне следующее сообщение:Google карта сетки только андроид

Загруженный APK, который был подписан в режиме отладки. Вам необходимо подписать ваш APK в режиме деблокирования.

Все, что я делал, было: я взял .apk из каталога lib, а затем я zipalign его также с помощью командной строки.

После провала этого я попробовал другое отношение следующим образом:

(на затмение) Android инструменты -> экспорт подписан проект приложения -> я тогда все должны завершить создание нового .apk.

А потом я попытался загрузить .apk снова, и у меня все получилось просто, но большая часть моего приложения основана на GoogleMapView, а MapView смотрит только на сетку ... в том случае, если я пытаюсь отправить apk точно так же, как из каталога lib, к моему электронному письму, он отлично подходит и отображает карту ... так что проблема не в том, что ключ карты очень хорош.

Я действительно пробовал все, но кажется, что это не работает, что должно быть проблемой?

Во всяком случае, вот Manifest:

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="in.moshe.wakoslakos" 
    android:versionCode="6" 
    android:versionName="1.6" > 

    <uses-feature 
     android:glEsVersion="0x00020000" 
     android:required="true"/> 

    <uses-sdk 
     android:minSdkVersion="8" 
     android:targetSdkVersion="13" /> 

    <uses-permission android:name="android.permission.INTERNET"/> 
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/> 
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> 
    <uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES"/> 
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/> 
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/> 
    <uses-permission android:name="android.permission.SEND_SMS"/> 
    <uses-permission android:name="android.permission.READ_CONTACTS"/> 

    <application 
     android:icon="@drawable/ic_launcher" 
     android:label="@string/app_name" 
     android:theme="@android:style/Theme.NoTitleBar" > 
     <uses-library android:name="com.google.android.maps" /> 

     <meta-data 
    android:name="com.google.android.maps.v2.API_KEY" 
    android:value="@string/maps_key"/> 

     <activity 
      android:name="in.wptrafficanalyzer.locationingooglemap.MainActivity" 
      android:screenOrientation="portrait" > 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 

       <category android:name="android.intent.category.LAUNCHER" /> 
      </intent-filter> 
     </activity> 
     <activity 
      android:name="in.wptrafficanalyzer.locationingooglemap.Settings" 
      android:label="@string/title_activity_setting" 
      android:theme="@style/AppTheme" 
      android:screenOrientation="portrait"> 
     </activity> 
    </application> 



</manifest> 

Я действительно отчаянным, пожалуйста, помогите мне решить эту проблему ... спасибо :-(

ответ

3

Проблемы с ключом карты

.

Когда вы сделали Android tools --> export signed application project -->, ваш apk был подписан с новым хранилищем ключей. Чтобы карты работали с этим, вам нужно получить хеш MD5 хранилища ключей, как вы делали для debug.keystore, и создать новый API. Затем вы используете этот ключ API и подписываете свой apk снова после b ее исправить.

+0

вы можете объяснить это мне шаг за шагом? потому что я тоже не понял этих шагов ... также почему я должен использовать другой ключ? если MapView показывает прекрасное офлайн (eclipse), почему он не работает в сети (Play Store)? – Adam

+0

@Adam Поскольку отладочный ключ, используемый Eclipse, недействителен для производственных приложений. Это длится только год. Из-за этого вам нужно использовать свой собственный ключ. Процесс получения MD5 описан здесь (https://developers.google.com/maps/documentation/android/v1/mapkey) –

+0

Но я создал текущий ключ меньше, чем год назад ... Поэтому каждый раз вы загружаете приложение MapView, вам нужно создать новый ключ? – Adam

Смежные вопросы