How to fix INSTALL_PARSE_FAILED_MANIFEST_MALFORMED

2020-01-27 05:39发布

Hi I am trying to experiment with gcm but unable to make it work. Don't know where I am messing with it, below is the error I am getting. I am trying to deploy my application directly on device and debug from there but when ever I try to deploy it gives this error

Waiting for device.
Target device: HT24LW108632
Uploading file
    local path: D:\Data\Android\AndroidTest\out\production\AndroidTest\AndroidTest.apk
    remote path: /data/local/tmp/Android.Test
Installing Android.Test
DEVICE SHELL COMMAND: pm install -r "/data/local/tmp/Android.Test"
pkg: /data/local/tmp/Android.Test
Failure [INSTALL_PARSE_FAILED_MANIFEST_MALFORMED]

AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
          package="Android.Test"
          android:versionCode="1"
          android:versionName="1.0">
    <uses-sdk android:minSdkVersion="14"/>

    <permission
            android:name="Android.Test.permission.C2D_MESSAGE"
            android:protectionLevel="signature" />
    <uses-permission android:name="Android.Test.permission.C2D_MESSAGE" />
    <uses-permission android:name="android.permission.GET_ACCOUNTS" />
    <uses-permission android:name="android.permission.WAKE_LOCK" />
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />



    <application android:label="@string/app_name" android:icon="@drawable/ic_launcher">
        <activity android:name="MainActivity"
                  android:label="@string/app_name">
            <intent-filter>
                <action android:name="android.intent.action.MAIN"/>
                <category android:name="android.intent.category.LAUNCHER"/>
            </intent-filter>
        </activity>
        <receiver
                android:name="com.google.android.gcm.GCMBroadcastReceiver"
                android:permission="com.google.android.c2dm.permission.SEND" >
            <intent-filter>
                <action android:name="com.google.android.c2dm.intent.RECEIVE" />
                <action android:name="com.google.android.c2dm.intent.REGISTRATION" />

                <category android:name="Android.Test" />
            </intent-filter>
        </receiver>
        <service android:name=".GCMIntentService" />
    </application>
</manifest>

My Device is HTC OneX

  • Android Version: 4.03
  • HTC Sense Version: 4.0
  • Software number: 1.29.110.11
  • HTC SDK API Level: 4.12
  • HTC Extension version: HTCExtension_403_1_GA_7

Please guide as I am new fish in Android Sea.

Edit-1: I have noticed that if I comment this below line then application does deploy and execute but obviously I cant go forward without below mentioned permission ... please help....

<permission android:name="Android.Test.permission.C2D_MESSAGE"  android:protectionLevel="signature" />

11条回答
The star\"
2楼-- · 2020-01-27 05:45

write the java package name and all folders name in lowercase, it will work fine...

查看更多
够拽才男人
3楼-- · 2020-01-27 05:50

Change name package with Caps letters to little letters.

查看更多
再贱就再见
4楼-- · 2020-01-27 05:50
<activity android:name="MainActivity"

should be formed like

<activity android:name="com.company.appname" 

to do this without errors go to package (right click) > android tools > rename app package

查看更多
看我几分像从前
5楼-- · 2020-01-27 05:50

I met this same issue in android studio

what solve this is to let company domain to be all small letters,

查看更多
SAY GOODBYE
6楼-- · 2020-01-27 05:53

Instead of:

<permission android:name="android.permission.C2D_MESSAGE" android:protectionLevel="signature"/>

to:

<uses-permission android:name="android.permission.C2D_MESSAGE" android:protectionLevel="signature"/>

Try that.

查看更多
ゆ 、 Hurt°
7楼-- · 2020-01-27 05:55

I had this problem. My device memory was full. I solved my problem with freeing device memory.

查看更多
登录 后发表回答