INSTALL_PARSE_FAILED_MANIFEST_MALFORMED

时间:2014-11-03 19:49:40

标签: android

我尝试了所有内容,重命名了包,更改了权限等,但我仍然在控制台上看到错误INSTALL_PARSE_FAILED_MANIFEST_MALFORMED。

我尝试从logcat进行日志记录,这就是它所说的"在installPackageLI期间解析失败"和#34; android.content.pm.PackageParser $ PackageParserException:/data/app/vmdl170122893.tmp/base.apk(在二进制XML文件行#33):没有有效的android:name"并且atlast说"调试器不再有效"

我正在尝试在em21上运行,即Lollipop SDK。

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="Ca.Rushabh.Mobileproject"
android:versionCode="1"
android:versionName="1.0" >

<uses-sdk
    android:minSdkVersion="8"
    android:targetSdkVersion="21" />

<uses-feature
    android:glEsVersion="0x00020000"
    android:required="true" />

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />

<permission
    android:name="com.example.mymapsv2.permission.MAPS_RECEIVE"
    android:protectionLevel="signature" />

<uses-permission android:name="com.example.mymapsv2.permission.MAPS_RECEIVE" />

<application
    android:allowBackup="true"
    android:icon="@drawable/blue_droid"
    android:label="@string/app_name"
    android:theme="@style/AppTheme" >
    <activity
        android:name="Ca.Rushabh.Mobileproject.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>
    <activity
        android:name="Ca.Rushabh.Mobileproject.About"
        android:label="@string/title_activity_about"
        android:theme="@android:style/Theme.Dialog" >
    </activity>
    <activity
        android:name="Ca.Rushabh.Mobileproject.ToDoList"
        android:label="abcd" />
    <activity
        android:name="Ca.Rushabh.Mobileproject.ToDoDetailActivity"
        android:windowSoftInputMode="stateVisible|adjustResize" />

    <provider
        android:name="Ca.Rushabh.Mobileproject.MyToDoContentProvider"
        android:exported="false"
        android:authorities="com.example.mobileproject.todos.contentprovider" />

    <activity
        android:name="Ca.Rushabh.Mobileproject.ViewAnimationActivity"
        android:label="@string/title_animation" >
    </activity>
    <activity
        android:name="Ca.Rushabh.Mobileproject.ViewAnimation2"
        android:label="@string/title_animation" >
    </activity>
    <activity
        android:name="Ca.Rushabh.Mobileproject.ContactUs"
        android:label="@string/title_activity_contact_us"
        android:theme="@android:style/Theme.Dialog" >
    </activity>
    <activity
        android:name="Ca.Rushabh.Mobileproject.GoogleMapV2"
        android:label="@string/title_activity_google_map_v2" >
    </activity>
    <meta-data
        android:name="com.google.android.gms.version" />
    <meta-data
        android:name="com.google.android.maps.v2.API_KEY"
        android:value="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" />
</application>

</manifest>

5 个答案:

答案 0 :(得分:10)

RC.有一个以上的问题,我发现了。

  • 将所有包名称更改为小写
  • 更新<meta-data>属性以获得有效值。

更正元数据的代码:

<meta-data
    android:name="com.google.android.gms.version"
    android:value="@integer/google_play_services_version" />

来源:

答案 1 :(得分:1)

您的包裹名称中包含大写字母。尝试重构您的包,以便所有字母都是小写的。为此,请在项目面板中确保您处于Android视图模式,然后单击视图指示器右侧的齿轮,然后确保未选中紧凑的空中间包。接下来,右键单击包含大写字母的包,然后选择refactor - &gt;改名。将其更改为小写,仔细检查您的AndroidManifest.xml现在是小写,如果没有,请手动编辑它。

答案 2 :(得分:0)

如果您尝试将.9.png文件添加到您的应用中,则需要在您的主要活动元数据部分中将xml文件源定义为android资源,这解决了我的问题:

     <meta-data
               android:name="com.google.android.actions
       //add this line
               android:resource="@drawable/sample_button 
       //(here sample_button is the name of your xml file in the drawable folder)"
        />

答案 3 :(得分:0)

如果有人在 Android 12 (Android S) 预览版上收到此错误。将所有依赖项更新到最新的 请添加-

android:exported="true"

到在应用的 AndroidManifest.xml 文件中声明了 <activity> 的任何 <activity-alias><service><receiver><intent-filter> 组件。

请参阅此 linkbehavioral changes for Android 12 API 31

答案 4 :(得分:0)

没有一个建议的解决方案对我有用,所以我发布了这个额外的答案,希望它能帮助其他人。

对我有用的是为我的所有活动设置 exported 值(如@karanatwal.github.io 所建议的)并更新我的所有依赖项,显然没有设置此值。

我最初在尝试解决此问题时忽略了依赖项部分,因为在我的研究期间,我看到(在线)非常具体的错误消息说这确实是问题(设置 exported 值)以及准确指示哪个依赖项不符合它。出于某种原因,我没有收到这条消息。

请注意,如果依赖项的最新版本仍然不符合此规则,则这可能不起作用。