2016-04-15 36 views
2

我的应用程序完美运行在Android模拟器,但是当我尝试调试配置部署失败,并告诉我:的Android Xamarin C#应用程序运行在模拟器,但在实际的设备得到错误:[INSTALL_PARSE_FAILED_BAD_MANIFEST]

3>:Deployment failed 
3>Mono.AndroidTools.InstallFailedException: Unexpected install output: pkg: /data/local/tmp/Mono.Android.DebugRuntime-debug.apk 
3>Failure [INSTALL_PARSE_FAILED_BAD_MANIFEST] 
3> 
3> at Mono.AndroidTools.Internal.AdbOutputParsing.CheckInstallSuccess(String output, String packageName) 
3> at Mono.AndroidTools.AndroidDevice.<InstallPackage>c__AnonStoreyD.<>m__0(Task`1 t) 
3> at System.Threading.Tasks.ContinuationTaskFromResultTask`1.InnerInvoke() 
3> at System.Threading.Tasks.Task.Execute() 
3>Deployment failed because of an internal error: Unexpected install output: pkg: /data/local/tmp/Mono.Android.DebugRuntime-debug.apk 
3>Failure [INSTALL_PARSE_FAILED_BAD_MANIFEST] 

我似乎无法确定这个错误的真正含义,除了它与Android清单有关吗?

这是我的清单:

<?xml version="1.0" encoding="utf-8"?> 

<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="scout.app" android:versionCode="1" 
      android:versionName="0.0.0" android:installLocation="auto"> 
    <uses-feature android:name="android.hardware.usb.accessory" /> 
    <uses-sdk android:minSdkVersion="19" android:targetSdkVersion="19" /> 
    <uses-permission android:name="android.permission.INTERNET" /> 
    <uses-permission android:name="android.permission.RESTART_PACKAGES" /> 
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> 
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 
    <uses-permission android:name="android.permission.READ_SMS" /> 
    <uses-permission android:name="android.permission.RECEIVE_SMS" /> 
    <uses-permission android:name="android.permission.READ_PHONE_STATE" /> 
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> 
    <application android:label="Scout" android:debuggable="true"></application> 
</manifest> 

编辑:

所以,当我尝试部署有时这种错误,而不是弹出:

2>:Deployment failed 
2>Mono.AndroidTools.InstallFailedException: Unexpected install output: pkg: /data/local/tmp/Mono.Android.DebugRuntime-debug.apk 
2>Failure [INSTALL_PARSE_FAILED_NOT_APK] 
2> 
2> at Mono.AndroidTools.Internal.AdbOutputParsing.CheckInstallSuccess(String output, String packageName) 
2> at Mono.AndroidTools.AndroidDevice.<InstallPackage>c__AnonStoreyD.<>m__0(Task`1 t) 
2> at System.Threading.Tasks.ContinuationTaskFromResultTask`1.InnerInvoke() 
2> at System.Threading.Tasks.Task.Execute() 
2>Deployment failed because of an internal error: Unexpected install output: pkg: /data/local/tmp/Mono.Android.DebugRuntime-debug.apk 
2>Failure [INSTALL_PARSE_FAILED_NOT_APK] 

编辑2:

有时这个错误弹出,而且即使我没有改变任何东西..

1>:Deployment failed 
1>Mono.AndroidTools.InstallFailedException: The package was not properly signed (NO_CERTIFICATES). 
1> at Mono.AndroidTools.Internal.AdbOutputParsing.CheckInstallSuccess(String output, String packageName) 
1> at Mono.AndroidTools.AndroidDevice.<>c__DisplayClass89_0.<InstallPackage>b__0(Task`1 t) 
1> at System.Threading.Tasks.ContinuationTaskFromResultTask`1.InnerInvoke() 
1> at System.Threading.Tasks.Task.Execute() 
1>Deployment failed because of an internal error: The package was not properly signed (NO_CERTIFICATES). 

编辑3:

这是从应用程序/ OBJ /调试/ Android的清单/ AndroidManifest.xml中

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="scout.app" android:versionCode="1" android:versionName="0.0.0" android:installLocation="auto"> 
    <uses-feature android:name="android.hardware.usb.accessory" /> 
    <uses-sdk android:minSdkVersion="19" android:targetSdkVersion="19" /> 
    <uses-permission android:name="android.permission.INTERNET" /> 
    <uses-permission android:name="android.permission.RESTART_PACKAGES" /> 
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> 
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 
    <uses-permission android:name="android.permission.READ_SMS" /> 
    <uses-permission android:name="android.permission.RECEIVE_SMS" /> 
    <uses-permission android:name="android.permission.READ_PHONE_STATE" /> 
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> 
    <application android:label="Scout" android:debuggable="true" android:name="mono.android.app.Application" android:allowBackup="true" android:icon="@drawable/icon"> 
    <receiver android:enabled="true" android:label="InstructionReciever" android:name="md5f8bfa05656068c3725933b788fa9610f.SmsReciever" /> 
    <activity android:icon="@drawable/icon" android:label="Scout" android:name="md5657830f1484ab57cd89db0f9549d303a.MainActivity"> 
     <intent-filter> 
     <action android:name="android.intent.action.MAIN" /> 
     <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
    </activity> 
    <receiver android:enabled="true" android:label="UsbListener" android:name="md5787c3ec38a313bacb6190da23f10b0af.UsbConnectReciever"> 
     <intent-filter> 
     <action android:name="android.hardware.usb.action.USB_ACCESSORY_ATTACHED" /> 
     </intent-filter> 
    </receiver> 
    <receiver android:enabled="true" android:label="UsbListener" android:name="md5787c3ec38a313bacb6190da23f10b0af.UsbDisconnectReciever"> 
     <intent-filter> 
     <action android:name="android.hardware.usb.action.USB_ACCESSORY_DETACHED" /> 
     </intent-filter> 
    </receiver> 
    <provider android:name="mono.MonoRuntimeProvider" android:exported="false" android:initOrder="2147483647" android:authorities="scout.app.mono.MonoRuntimeProvider.__mono_init__" /> 
    <!--suppress ExportedReceiver--> 
    <receiver android:name="mono.android.Seppuku"> 
     <intent-filter> 
     <action android:name="mono.android.intent.action.SEPPUKU" /> 
     <category android:name="mono.android.intent.category.SEPPUKU.scout.app" /> 
     </intent-filter> 
    </receiver> 
    </application> 
</manifest> 
+0

是scout.app您的完整名称空间? –

+0

Manifest对我来说看起来不错,而MFractor中的静态分析器显示没有问题。也许运行它通过一个XML格式化工整理它,彻底卸载应用程序,然后再试一次? – matthewrdev

+0

@LibinJoseph是的,这是全名空间。 – wootank

回答

2

我有错误的类似种种尝试调试时可能发生安装发行版后。

修复方法是先通过设备上的应用程序管理器手动卸载应用程序。

有时它仅在名称空间下的应用程序管理器中显示,而不是应用程序名称。

相关问题