3

最近我尝试将 Map Fragment 添加到使用 Xamarin + MvvmCross 编写的 Monodroid 应用程序中。当我根据Monodroid Apps 中的地图指南 Google Maps之一修改清单时:

 <?xml version="1.0" encoding="utf-8"?>
    <manifest xmlns:android="http://schemas.android.com/apk/res/android" android:installLocation="auto" android:versionName="1.3.0.0" android:versionCode="1" package="MonoDroid.drdApp">
      <uses-sdk android:minSdkVersion="8" android:targetSdkVersion="15" />
      <uses-feature android:glEsVersion="0x00020000" android:required="true" />
      <uses-permission android:name="android.permission.DISABLE_KEYGUARD" />
      <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
      <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
      <uses-permission android:name="android.permission.INTERNET" />
      <uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" />
      <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
      <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
      <uses-permission android:name="MonoDroid.drdApp.permission.MAPS_RECEIVE" />
      <permission android:name="MonoDroid.drdApp.permission.MAPS_RECEIVE" android:protectionLevel="signature" />
      <application android:label="Droid App" android:icon="@drawable/icon">
        <meta-data android:name="com.google.android.maps.v2.API_KEY" android:value="my_valid_key_goes_here" />
      </application>
</manifest>

我收到以下错误(运行时错误):

Deployment failed because of an internal error: Unexpected install output:  pkg: /data/local/tmp/MonoDroid.drdApp-Signed.apk
Failure [INSTALL_PARSE_FAILED_MANIFEST_MALFORMED]

我发现产生错误的清单行是:

<permission android:name="MonoDroid.drdApp.permission.MAPS_RECEIVE" android:protectionLevel="signature" />

但我发现的几乎所有与 Android 谷歌地图相关的指南中都提到了这条线。

我不确定这条线是做什么的,也不确定没有它应用程序是否可以工作(目前它没有,这条线是嫌疑人之一。

有人可以澄清如何处理该清单行吗?

4

1 回答 1

4

我不是 100% 确定,但我怀疑问题出在你的包名中使用了大写字母。

改为尝试monodroid.drdapp- 这可能会清除错误。

(或者更好 - 使用公司名称作为清单的一部分)

于 2013-09-30T16:53:55.143 回答