当我尝试在实际设备(Galaxy S7和Galaxy Tab 2测试)上以调试模式启动我的应用程序时出现问题。在安装过程中,会出现一个对话框,指示安装失败并显示&#34; INSTALL_PARSE_FAILED_MANIFEST_MALFORMED&#34;错误。错误消息继续&#34; <activity>
没有有效的android:name&#34;。下面复制的清单文件的第23行是有罪的(该行对应于&#34; <application
&#34;行下面的行)。据我所知,我给我的活动的名字是完全正确的。
更奇怪的是,在模拟器上启动时,应用程序安装完毕并且运行正常......
我可以添加对话框建议我应该卸载可能已安装的旧版本,但我没有,如果我回答删除它,则无法卸载它(这次,这次看起来正常)。
有什么可能导致这个问题的想法吗?
清单文件:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="GL.MesContacts"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="21"
android:targetSdkVersion="26">
</uses-sdk>
<uses-permission android:name="android.permission.CALL_PHONE"/>
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
<uses-permission android:name="android.permission.RECEIVE_MMS"/>
<uses-permission android:name="android.permission.RECEIVE_SMS"/>
<uses-permission android:name="android.permission.SEND_SMS"/>
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme">
<activity
android:name="GL.MesContacts.ActivitePrincipale"
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:enabled="true"
android:exported="false"
android:label="string resource"
android:name="GL.MesContacts.RecepteurChangementEtatTelephone">
<intent-filter>
<action
android:name="android.intent.action.PHONE_STATE">
</action>
</intent-filter>
</receiver>
</application>
答案 0 :(得分:2)
尝试将包名更改为小写:
package="gl.mescontacts"
答案 1 :(得分:1)
将程序包重命名为仅包含小写字符。它不能包含大写字符。 查看this answer了解详情。
答案 2 :(得分:0)
如您在联系人List
中定义的那样,活动名称应该只有package="GL.MesContacts"
这样.ActivitePrincipale