代码之家  ›  专栏  ›  技术社区  ›  Sheehan Alam

谷歌地图没有出现在我的地图活动中

  •  3
  • Sheehan Alam  · 技术社区  · 15 年前

    我已经使用EclipseIDE创建了一个发布密钥库。我用keytool签了名,并在Google地图上注册了。我把钥匙插上了,但地图没有显示出来。

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

    我怎么诊断?我按照与调试相同的步骤进行发布。

    更新:

    这是我的清单文件:

          <?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> 
    
    3 回复  |  直到 15 年前
        1
  •  0
  •   Octavian Helm    15 年前

    当指纹更改时,您必须在与发布密钥存储区签名时获取单独的API密钥。

    请确保同时安装用正确密钥签名的.apk。

    更新: 我的意思是你确定你用正确的钥匙签了APK吗?这意味着您确定在生成APK时用release密钥库对其进行了签名吗?

    当您导出它时,您是否真的选择了用以签名的密钥库?

        2
  •  2
  •   Falmarri    15 年前

    是否添加了internet权限?这个问题每天都要问。

        3
  •  0
  •   coernel    13 年前

    所以昨天我自己遇到了这个问题,我通过手动签署.apk解决了这个问题

    我假设您正在使用您的私有密钥库,并且您已经在您的mappview中输入了release map密钥(以及其他需要的资源)。

    为此,您可以从Eclipse的project explorer中选择您的projekt(右键单击)->Android Tools->Export unsigned package。把它保存在你喜欢的地方。

    打开你的终端(我在Windows7机器上),将cd放入jdk文件夹(不是jre),cd进一步放入bin\。

    使用以下命令:(请注意,如果键入路径,则必须输入“)

            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 
    

    (如果需要,可以不使用verbose选项)。它将(希望)显示jar verified(最终它将警告您没有经过验证的证书链的条目,这在我的情况下无关紧要)

    然后运行zipalign:

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

    注意,它将创建一个新的apk,它符合googles标准。

    安装那个apk,你的地图就会显示出来了!

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