Xamarin Forms - PCL项目无法启动应用

时间:2016-06-23 22:45:47

标签: android visual-studio xamarin xamarin.forms

我正在使用Visual Studio 2015并创建了基于PCL的项目。所有这个应用程序都显示一个闪屏,然后导航到下一页。我无法在Android上使用它。以下是splash screen

的链接

我得到的错误:

  

无法启动应用程序。确保应用程序具有   已安装到目标设备并具有可启动的活动   (MainLauncher = true)。

     

此外,请检查Build-> Configuration Manager以确保这一点   project设置为Deploy for this configuration。

我已关注this link并尝试了所有解决方案,但结果仍然相同

有任何解决此问题的提示吗?

修改

Android清单文件

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="Splash.Splash" android:installLocation="auto" android:versionCode="1" android:versionName="1.0">
  <!--suppress UsesMinSdkAttributes-->
  <uses-sdk android:minSdkVersion="15" />
  <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
  <uses-permission android:name="android.permission.INTERNET" />
  <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
  <application android:icon="@drawable/icon-3" android:name="mono.android.app.Application" android:allowBackup="true" android:label="Splash.Splash" android:debuggable="true">
    <activity android:label="Splash screen" android:name="md5ac585b47313c1dc414c7b7a18f93e457.MainActivity">
      <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.LAUNCHER" />
      </intent-filter>
    </activity>
    <activity android:icon="@drawable/icon-3" android:noHistory="true" android:theme="@style/Theme.Splash" android:name="md5ac585b47313c1dc414c7b7a18f93e457.Splash">
      <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.LAUNCHER" />
      </intent-filter>
    </activity>
    <provider android:name="mono.MonoRuntimeProvider" android:exported="false" android:initOrder="2147483647" android:authorities="Splash.Splash.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.STM.STM" />
      </intent-filter>
    </receiver>
  </application>
</manifest>

修改

下面的新舱单

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="Super.Super" android:installLocation="auto">
    <uses-sdk android:minSdkVersion="15" />
    <application android:icon="@drawable/stmicon-3"></application>
</manifest>

2 个答案:

答案 0 :(得分:0)

已编辑:您的问题中存在多个问题。我解决了其中两个,但最后一个是图标名称。

Android资源无法获得&#39; - &#39;名字中的字符。 所以这是更正:

<application android:icon="@drawable/stmicon3"></application>

初步答案:

使用相同的intent过滤器启动两个活动是错误的。

首先,在您的Manifest上,完全删除两个活动代码。

帮助调试这个。请将您的清单更改为此(是的,我们也忽略了Provider

所以你的最终清单将是:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" android:versionCode="1" android:versionName="1.0" package="com.yournamespace.courier">
    <uses-sdk android:minSdkVersion="15" android:targetSdkVersion="22" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
  <uses-permission android:name="android.permission.INTERNET" />
  <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
    <application android:label="yournamespace"> 
    </application>
</manifest>

在此之后,我们会将SplashActivity设为MainLauncher

[Activity(MainLauncher = true,
        NoHistory = true)]
public class SplashActivity : AppCompatActivity

最后是MainActivity:

 [Activity(Icon = "@drawable/icon")]
public class MainActivity : FormsAppCompatActivity

答案 1 :(得分:0)

enter image description here

你可以做Jon Jon Sugguested或者只是进入你的Android设备设置&amp;应用程序管理器并在Android设备上卸载以前版本的应用程序