2012-07-04 2 views
0

Я пытаюсь использовать C2DM в своем приложении для Android, но после того, как я добавил его, я не могу установить приложение. Я получаю эту ошибку «Ошибка установки: INSTALL_PARSE_FAILED_MANIFEST_MALFORMED». Но я не понимаю, что случилось.Ошибка при установке приложения для Android

Любой, кто знает, что я сделал неправильно?

<?xml version="1.0" encoding="utf-8"?> 
    <manifest xmlns:android="http://schemas.android.com/apk/res/android" 
      package="Wordy.Game" 
      android:versionCode="1" 
      android:versionName="0.1" 
      android:installLocation="preferExternal"> 
      <uses-sdk android:minSdkVersion="8" /> 

      <permission 
      android:name="Wordy.Game.permission.C2D_MESSAGE" android:protectionLevel="signature" /> 
      <uses-permission 
      android:name="Wordy.Game.permission.C2D_MESSAGE" /> 
      <uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" /> 

      <uses-permission android:name="android.permission.INTERNET"/> 
      <uses-permission android:name="android.permission.VIBRATE"/> 
      <uses-permission android:name="android.permission.GET_ACCOUNTS" /> 

     <application android:label="@string/app_name" android:icon="@drawable/wordy"> 
      <activity android:name="Main" 
         android:label="@string/app_name" android:screenOrientation="portrait"> 
       <intent-filter> 
        <action android:name="android.intent.action.MAIN" /> 
        <category android:name="android.intent.category.LAUNCHER" /> 
       </intent-filter> 
      </activity> 
      <receiver 
       android:name=".C2DMRegistrationReceiver" 
       android:permission="com.google.android.c2dm.permission.SEND" > 
       <intent-filter > 
        <action android:name="com.google.android.c2dm.intent.REGISTRATION" > 
        </action> 
        <category android:name="Wordy.Game" /> 
       </intent-filter>    
      </receiver> 
      <receiver 
       android:name=".C2DMRegistrationReceiver" 
       android:permission="com.google.android.c2dm.permission.SEND" > 

       <intent-filter > 
        <action android:name="com.google.android.c2dm.intent.RECEIVE" > 
        </action> 
        <category android:name="Wordy.Game" /> 
       </intent-filter> 
      </receiver> 



     <activity android:name="Result" android:label="@string/app_name" android:screenOrientation="portrait" /> 
       <activity android:name="PlayField" android:label="@string/app_name" android:screenOrientation="portrait" /> 
       <activity android:name="Game" android:label="@string/app_name" android:screenOrientation="portrait" /> 
       <activity android:name="News" android:label="@string/app_name" android:screenOrientation="portrait" /> 
       <activity android:name="PlayOnline" android:label="@string/app_name" android:screenOrientation="portrait" />  
       <activity android:name="UsersOnline" android:label="@string/app_name" android:screenOrientation="portrait" />   
     </application> 
    </manifest> 

ответ

5

Я наконец-то нашел, что случилось, имя пакета по применению не было разрешено начать с заглавной буквы.

0

Попробуйте префикс вашей деятельности с помощью. или полное имя пакета:

<activity android:name="com.gizm0.YourClass"></activvity> 

или

<activity android:name=".YourClass"></activvity> 
+0

Я попробую, но он работал до того, как я добавил материал C2DM. – Daniel

+0

Хорошо, я вижу. Он работал, пока вы не установили C2DM. Посмотрите на: http://stackoverflow.com/questions/6198097/c2dm-permission-c2d-message-gives-installation-error У него также, похоже, та же проблема – giZm0

+0

Я посмотрел на него, прежде чем ставить свой вопрос, но я не нашел ничего, что помогло мне. Я использовал этот учебник http://www.vogella.com/articles/AndroidCloudToDeviceMessaging/article.html – Daniel

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