2013-03-21 89 views
0

我想我的APK上传到Android的控制台,但它给了我下面的消息:谷歌地图网格只有安卓

您上传的是在调试模式下签署APK。您需要在发布模式下签署 APK。

我所做的只是:我从lib目录获取.apk,然后使用命令行对其进行zipalign。

这个失败后,我尝试过其他的态度如下:

(在Eclipse)Android的工具 - >出口签名的应用项目 - >然后我做了所有需要完成新的创建apk文件。

然后我试着再次上传.apk,我得到的一切都很好,但我的应用程序的大部分都是基于GoogleMapView,而MapView只能看到网格......所需要的是,如果我尝试发送apk就像lib目录中的那样,到我的电子邮件,它也很好,并显示地图以及...所以问题不在于地图关键,这是很好。

我真的尝试了一切,但它似乎不工作,应该是什么问题?

总之,这里的清单:

<?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哈希值,并生成一个新的API密钥,然后使用该API密钥并在b之后再次签署您的apk建立它。

+0

你能解释一步一步吗?因为我没有理解这些步骤......为什么我应该使用另一个键?如果MapView显示罚款离线(月食)为什么它不在线(Play商店)? – Adam 2013-03-21 20:14:57

+0

@Adam由于Eclipse使用的调试密钥对生产应用程序无效。它只持续一年。因此,您需要使用您自己的密钥。获取MD5的过程在[这里](https://developers.google.com/maps/maps/documentation/android/v1/mapkey)中有描述 – 2013-03-21 20:34:11

+0

但是我在不到一年前创建了当前密钥...所以每次你上传一个MapView应用程序,你必须创建一个新的密钥? – Adam 2013-03-21 21:06:10