Google地图不会出现在我的MapActivity中
我已经使用Eclipse IDE创建了发行密钥库。我使用keytool对其进行了签名并在Google地图上注册。我插入了钥匙,但我的地图没有显示出来。Google地图不会出现在我的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>
随着指纹更改,您必须在使用发行密钥存储库进行签名时获取单独的API密钥。
请务必安装使用右键签名的.apk。
更新:我的意思是你确定你用正确的钥匙签署你的APK?这意味着您确定在生成APK时是否使用发布密钥库对其进行签名?
当你导出它时,你是否确实选择了签名密钥库?
你加上网权限?这个问题每天都会被问到。
所以我昨天遇到这个问题我自己和我通过手动签署.apk文件
我假设你正在使用您的私人密钥存储和您已在MapView类(和其他资源进入释放地图关键,因为需要解决)。
为了做到这一点,您可以从Eclipse的项目浏览器(右键单击) - > Android工具 - >导出未签名的包中选择您的项目。将它保存在任何你喜欢的地方。打开你的终端(我在Windows 7机器上),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
(您可以留下详细选项了,如果它会(希望)显示jar验证(最终它会警告你没有经过验证的证书链的条目,这在我的情况并不重要)
然后运行zipalign:
zipalign -v 4 "path-to-signed-apk" "path-to-signed-and-aligned.apk"
请注意,它会创建一个新的apk,它与Google标准对齐。
安装apk和你的地图应该显示好!
来源: http://developer.android.com/tools/publishing/app-signing.html#ExportWizard
你的活动量可笑。您还将use-library设置了两次,其中一个位于一个活动中。我很惊讶,即使编译 – Falmarri 2010-11-25 17:16:48
你在那里有两次ACCESS_FINE_LOCATION,可能值得拉动其中的一个 – Jimmy 2010-11-25 17:22:52
也可以尝试在谷歌API目标模拟器上运行它(使用AVD管理器下载额外的目标) – Jimmy 2010-11-25 17:23:30