2017-09-22 69 views
0

我有一個使用Xamarin.Forms版本2.3.4.270的基於PCL的Xamarin Forms解決方案。Xamarin Forms Android項目導致兩個應用程序圖標

當在Visual Studio 2017中構建Xamarin android項目時,在android項目的自動生成的「... \ obj \ Debug \ android \ AndroidManifest.xml」文件中添加了一個神祕的活動,導致兩個應用程序圖標運行在手機上的應用程序時,進行部署:

<activity android:name="md54d0b3c92dfecf2a187a4c8b660786aba.MainActivityForCodeAnalysisBugWorkaroundPleaseIgnore"> 
    <intent-filter> 
    <action android:name="android.intent.action.MAIN" /> 
    <category android:name="android.intent.category.LAUNCHER" /> 
    </intent-filter> 
</activity> 

我確信,沒有一個項目在整體解決方案上標有「關於構建啓用代碼分析」我也只能用「一個主要活動MainLauncher =真正的「...

當啓動第一個應用程序圖標時,只顯示空白的空白視圖。當啓動第二個應用程序圖標時,真正的應用程序啓動。

我該如何擺脫android上的aditional應用程序圖標?

編輯: 這是在MainActivity:

[Activity(Label = "@string/app_name", Theme = "@style/MyTheme", ConfigurationChanges = ConfigChanges.ScreenSize | ConfigChanges.Orientation)] 
public class MainActivity : global::Xamarin.Forms.Platform.Android.FormsAppCompatActivity 

這是閃屏,活動與MainLauncher=true:我已經使用的各種其它應用xamarin.forms這種方法

[Activity(Theme = "@style/MyTheme.Splash", MainLauncher = true, NoHistory = true)] 
public class SplashActivity : AppCompatActivity 

還沒有問題。

這裏是清單:

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="@string/package_name" android:versionCode="1" android:versionName="1.0" android:installLocation="auto"> 
    <uses-sdk android:minSdkVersion="15" /> 
    <uses-permission android:name="android.permission.INTERNET" /> 
    <application android:label="@string/app_name" android:icon="@drawable/icon"></application> 
</manifest> 
+0

請將您的Mainactivity代碼發佈到您的'MainLauncher = true'並且您的'AndroidManifest.xml'代碼。 –

+0

這是否可能以某種方式反映了這個問題? https://bugzilla.xamarin.com/show_bug.cgi?id=43553 – jackomo

回答

0

此問題是由於該希望通過增加新的活動與MainLauncher = true來修復代碼分析問題了PCL依賴。

請參閱https://bugzilla.xamarin.com/show_bug.cgi?id=43553

pcl庫的Android實現增加了額外的活動。 在主xamarin android項目中,Visual Studio在清單文件中包含此活動。

因此,所有針對android pcl庫的代碼分析問題的解決方案(如鏈接中所述)都會導致兩個應用程序圖標。

要刪除第二個應用程序圖標,只需將僞活動屬性的「MainLauncher」設置爲false即可。這仍然可以讓您運行代碼分析,但不會添加第二個應用程序圖標。

相關問題