Esempio n. 1
0
        public XamarinAndroidWearApplicationProject(string debugConfigurationName = "Debug", string releaseConfigurationName = "Release", [CallerMemberName] string packageName = "")
            : base(debugConfigurationName, releaseConfigurationName, packageName)
        {
            TargetFrameworkVersion = Versions.KitkatWatch;
            UseLatestPlatformSdk   = true;
            PackageReferences.Add(KnownPackages.AndroidWear_2_2_0);
            if (Builder.UseDotNet)
            {
                this.AddDotNetCompatPackages();
            }

            MainActivity    = default_main_activity;
            StringsXml      = default_strings_xml;
            LayoutMain      = default_layout_main;
            LayoutRectMain  = default_layout_rect_main;
            LayoutRoundMain = default_layout_round_main;

            AndroidResources.Add(new AndroidItem.AndroidResource("Resources\\layout\\RectangleMain.axml")
            {
                TextContent = () => LayoutRectMain
            });
            AndroidResources.Add(new AndroidItem.AndroidResource("Resources\\layout\\RoundMain.axml")
            {
                TextContent = () => LayoutRoundMain
            });
        }
Esempio n. 2
0
        public XamarinAndroidApplicationProject()
        {
            SetProperty("AndroidApplication", "True");

            SetProperty("AndroidResgenClass", "Resource");
            SetProperty("AndroidResgenFile", () => "Resources\\Resource.designer" + Language.DefaultExtension);
            SetProperty("AndroidManifest", "Properties\\AndroidManifest.xml");
            SetProperty(DebugProperties, "AndroidLinkMode", "None");
            SetProperty(ReleaseProperties, "AndroidLinkMode", "SdkOnly");

            AndroidManifest = default_android_manifest;
            LayoutMain      = default_layout_main;
            StringsXml      = default_strings_xml;
            PackageName     = PackageName ?? string.Format("{0}.{0}", ProjectName);

            OtherBuildItems.Add(new BuildItem.NoActionResource("Properties\\AndroidManifest.xml")
            {
                TextContent = () =>
                              AndroidManifest.Replace("${PROJECT_NAME}", ProjectName).
                              Replace("${PACKAGENAME}", PackageName)
            });
            AndroidResources.Add(new AndroidItem.AndroidResource("Resources\\layout\\Main.axml")
            {
                TextContent = () => LayoutMain
            });
            AndroidResources.Add(new AndroidItem.AndroidResource("Resources\\values\\Strings.xml")
            {
                TextContent = () => StringsXml.Replace("${PROJECT_NAME}", ProjectName)
            });

            Sources.Add(new BuildItem.Source(() => "MainActivity" + Language.DefaultExtension)
            {
                TextContent = () => ProcessSourceTemplate(MainActivity ?? DefaultMainActivity)
            });
        }
        public XamarinAndroidApplicationProject(string debugConfigurationName = "Debug", string releaseConfigurationName = "Release", [CallerMemberName] string packageName = "")
            : base(debugConfigurationName, releaseConfigurationName)
        {
            if (Builder.UseDotNet)
            {
                SetProperty(KnownProperties.OutputType, "Exe");
                SetProperty("XamarinAndroidSupportSkipVerifyVersions", "True");
                SetProperty("_FastDeploymentDiagnosticLogging", "True");

                // Workaround for AndroidX, see: https://github.com/xamarin/AndroidSupportComponents/pull/239
                Imports.Add(new Import(() => "Directory.Build.targets")
                {
                    TextContent = () =>
                                  @"<Project>
							<PropertyGroup>
								<VectorDrawableCheckBuildToolsVersionTaskBeforeTargets />
							</PropertyGroup>
						</Project>"
                });
            }
            else
            {
                SetProperty("_FastDeploymentDiagnosticLogging", "True");
                SetProperty("AndroidApplication", "True");
                SetProperty("AndroidResgenClass", "Resource");
                SetProperty("AndroidResgenFile", () => "Resources\\Resource.designer" + Language.DefaultDesignerExtension);
                SetProperty("AndroidManifest", "Properties\\AndroidManifest.xml");
                SetProperty(DebugProperties, "AndroidLinkMode", "None");
                SetProperty(ReleaseProperties, "AndroidLinkMode", "SdkOnly");
                SetProperty(DebugProperties, KnownProperties.EmbedAssembliesIntoApk, "False", "'$(EmbedAssembliesIntoApk)' == ''");
                SetProperty(ReleaseProperties, KnownProperties.EmbedAssembliesIntoApk, "True", "'$(EmbedAssembliesIntoApk)' == ''");
            }

            AndroidManifest  = default_android_manifest;
            TargetSdkVersion = AndroidSdkResolver.GetMaxInstalledPlatform().ToString();
            LayoutMain       = default_layout_main;
            StringsXml       = default_strings_xml;
            PackageName      = $"com.xamarin.{(packageName ?? ProjectName).ToLower ()}";
            JavaPackageName  = JavaPackageName ?? PackageName.ToLowerInvariant();

            OtherBuildItems.Add(new BuildItem.NoActionResource("Properties\\AndroidManifest.xml")
            {
                TextContent = ProcessManifestTemplate,
            });
            AndroidResources.Add(new AndroidItem.AndroidResource("Resources\\layout\\Main.axml")
            {
                TextContent = () => LayoutMain
            });
            AndroidResources.Add(new AndroidItem.AndroidResource("Resources\\values\\Strings.xml")
            {
                TextContent = () => StringsXml.Replace("${PROJECT_NAME}", ProjectName)
            });

            Sources.Add(new BuildItem.Source(() => "MainActivity" + Language.DefaultExtension)
            {
                TextContent = () => ProcessSourceTemplate(MainActivity ?? DefaultMainActivity)
            });
        }
        public XamarinFormsAndroidApplicationProject(string debugConfigurationName = "Debug", string releaseConfigurationName = "Release")
            : base(debugConfigurationName, releaseConfigurationName)
        {
            var forms = KnownPackages.XamarinForms_3_1_0_697729;

            Packages.Add(forms);
            Packages.Add(KnownPackages.Android_Arch_Core_Common_26_1_0);
            Packages.Add(KnownPackages.Android_Arch_Lifecycle_Common_26_1_0);
            Packages.Add(KnownPackages.Android_Arch_Lifecycle_Runtime_26_1_0);
            Packages.Add(KnownPackages.AndroidSupportV4_27_0_2_1);
            Packages.Add(KnownPackages.SupportCompat_27_0_2_1);
            Packages.Add(KnownPackages.SupportCoreUI_27_0_2_1);
            Packages.Add(KnownPackages.SupportCoreUtils_27_0_2_1);
            Packages.Add(KnownPackages.SupportDesign_27_0_2_1);
            Packages.Add(KnownPackages.SupportFragment_27_0_2_1);
            Packages.Add(KnownPackages.SupportMediaCompat_27_0_2_1);
            Packages.Add(KnownPackages.SupportV7AppCompat_27_0_2_1);
            Packages.Add(KnownPackages.SupportV7CardView_27_0_2_1);
            Packages.Add(KnownPackages.SupportV7MediaRouter_27_0_2_1);
            Packages.Add(KnownPackages.SupportV7RecyclerView_27_0_2_1);
            Packages.Add(KnownPackages.VectorDrawable_27_0_2_1);

            AndroidResources.Add(new AndroidItem.AndroidResource("Resources\\values\\colors.xml")
            {
                TextContent = () => colors_xml,
            });
            AndroidResources.Add(new AndroidItem.AndroidResource("Resources\\values\\styles.xml")
            {
                TextContent = () => styles_xml,
            });
            AndroidResources.Add(new AndroidItem.AndroidResource("Resources\\layout\\Tabbar.axml")
            {
                TextContent = () => Tabbar_axml,
            });
            AndroidResources.Add(new AndroidItem.AndroidResource("Resources\\layout\\Toolbar.axml")
            {
                TextContent = () => Toolbar_axml,
            });
            OtherBuildItems.Add(new BuildItem("EmbeddedResource", "MainPage.xaml")
            {
                TextContent = () => ProcessSourceTemplate(MainPage_xaml),
            });
            Sources.Add(new BuildItem.Source("MainPage.xaml.cs")
            {
                TextContent = () => ProcessSourceTemplate(MainPage_xaml_cs),
            });
            OtherBuildItems.Add(new BuildItem("EmbeddedResource", "App.xaml")
            {
                TextContent = () => ProcessSourceTemplate(App_xaml),
            });
            Sources.Add(new BuildItem.Source("App.xaml.cs")
            {
                TextContent = () => ProcessSourceTemplate(App_xaml_cs),
            });
            Imports.Add(new Import($@"..\packages\{forms.Id}.{forms.Version}\build\netstandard2.0\Xamarin.Forms.targets"));

            MainActivity = default_main_activity_cs;
        }
        public XamarinAndroidLibraryProject()
        {
            SetProperty("AndroidApplication", "False");

            AndroidResources.Add(new AndroidItem.AndroidResource("Resources\\values\\Strings.xml")
            {
                TextContent = () => StringsXml.Replace("${PROJECT_NAME}", ProjectName)
            });
            StringsXml = default_strings_xml;
        }
Esempio n. 6
0
        public XamarinAndroidLibraryProject(string debugConfigurationName = "Debug", string releaseConfigurationName = "Release")
            : base(debugConfigurationName, releaseConfigurationName)
        {
            SetProperty("AndroidApplication", "False");

            AndroidResources.Add(new AndroidItem.AndroidResource("Resources\\values\\Strings.xml")
            {
                TextContent = () => StringsXml.Replace("${PROJECT_NAME}", ProjectName)
            });
            StringsXml = default_strings_xml;
        }
Esempio n. 7
0
        public XamarinAndroidLibraryProject(string debugConfigurationName = "Debug", string releaseConfigurationName = "Release")
            : base(debugConfigurationName, releaseConfigurationName)
        {
            if (!Builder.UseDotNet)
            {
                SetProperty("AndroidApplication", "False");
                SetProperty("AndroidResgenFile", Path.Combine("Resources", "Resource.designer.cs"));
            }

            AndroidResources.Add(new AndroidItem.AndroidResource("Resources\\values\\Strings.xml")
            {
                TextContent = () => StringsXml.Replace("${PROJECT_NAME}", ProjectName)
            });
            StringsXml = default_strings_xml;
        }
        public XamarinFormsAndroidApplicationProject(string debugConfigurationName = "Debug", string releaseConfigurationName = "Release", [CallerMemberName] string packageName = "")
            : base(debugConfigurationName, releaseConfigurationName, packageName)
        {
            if (Builder.UseDotNet)
            {
                PackageReferences.Add(KnownPackages.XamarinForms_4_7_0_1142);
                this.AddDotNetCompatPackages();
            }
            else
            {
                PackageReferences.Add(KnownPackages.XamarinForms_4_0_0_425677);
            }

            AndroidResources.Add(new AndroidItem.AndroidResource("Resources\\values\\colors.xml")
            {
                TextContent = () => colors_xml,
            });
            AndroidResources.Add(new AndroidItem.AndroidResource("Resources\\values\\styles.xml")
            {
                TextContent = () => styles_xml,
            });
            AndroidResources.Add(new AndroidItem.AndroidResource("Resources\\layout\\Tabbar.axml")
            {
                TextContent = () => Tabbar_axml,
            });
            AndroidResources.Add(new AndroidItem.AndroidResource("Resources\\layout\\Toolbar.axml")
            {
                TextContent = () => Toolbar_axml,
            });
            OtherBuildItems.Add(new BuildItem("EmbeddedResource", "MainPage.xaml")
            {
                TextContent = MainPageXaml,
            });
            Sources.Add(new BuildItem.Source("MainPage.xaml.cs")
            {
                TextContent = () => ProcessSourceTemplate(MainPage_xaml_cs),
            });
            OtherBuildItems.Add(new BuildItem("EmbeddedResource", "App.xaml")
            {
                TextContent = () => ProcessSourceTemplate(App_xaml),
            });
            Sources.Add(new BuildItem.Source("App.xaml.cs")
            {
                TextContent = () => ProcessSourceTemplate(App_xaml_cs),
            });

            MainActivity = default_main_activity_cs;
        }
Esempio n. 9
0
        public XamarinFormsAndroidApplicationProject(string debugConfigurationName = "Debug", string releaseConfigurationName = "Release")
            : base(debugConfigurationName, releaseConfigurationName)
        {
            //NOTE: we can get all the other dependencies transitively, yay!
            PackageReferences.Add(KnownPackages.XamarinForms_3_6_0_220655);

            AndroidResources.Add(new AndroidItem.AndroidResource("Resources\\values\\colors.xml")
            {
                TextContent = () => colors_xml,
            });
            AndroidResources.Add(new AndroidItem.AndroidResource("Resources\\values\\styles.xml")
            {
                TextContent = () => styles_xml,
            });
            AndroidResources.Add(new AndroidItem.AndroidResource("Resources\\layout\\Tabbar.axml")
            {
                TextContent = () => Tabbar_axml,
            });
            AndroidResources.Add(new AndroidItem.AndroidResource("Resources\\layout\\Toolbar.axml")
            {
                TextContent = () => Toolbar_axml,
            });
            OtherBuildItems.Add(new BuildItem("EmbeddedResource", "MainPage.xaml")
            {
                TextContent = () => ProcessSourceTemplate(MainPage_xaml),
            });
            Sources.Add(new BuildItem.Source("MainPage.xaml.cs")
            {
                TextContent = () => ProcessSourceTemplate(MainPage_xaml_cs),
            });
            OtherBuildItems.Add(new BuildItem("EmbeddedResource", "App.xaml")
            {
                TextContent = () => ProcessSourceTemplate(App_xaml),
            });
            Sources.Add(new BuildItem.Source("App.xaml.cs")
            {
                TextContent = () => ProcessSourceTemplate(App_xaml_cs),
            });

            MainActivity = default_main_activity_cs;
        }
        public XamarinAndroidApplicationProject(string debugConfigurationName = "Debug", string releaseConfigurationName = "Release")
            : base(debugConfigurationName, releaseConfigurationName)
        {
            SetProperty("AndroidApplication", "True");

            SetProperty("AndroidResgenClass", "Resource");
            SetProperty("AndroidResgenFile", () => "Resources\\Resource.designer" + Language.DefaultDesignerExtension);
            SetProperty("AndroidManifest", "Properties\\AndroidManifest.xml");
            SetProperty(DebugProperties, "AndroidLinkMode", "None");
            SetProperty(ReleaseProperties, "AndroidLinkMode", "SdkOnly");
            SetProperty(DebugProperties, KnownProperties.EmbedAssembliesIntoApk, "False", "'$(EmbedAssembliesIntoApk)' == ''");
            SetProperty(ReleaseProperties, KnownProperties.EmbedAssembliesIntoApk, "True", "'$(EmbedAssembliesIntoApk)' == ''");

            AndroidManifest = default_android_manifest;
            LayoutMain      = default_layout_main;
            StringsXml      = default_strings_xml;
            PackageName     = PackageName ?? string.Format("{0}.{0}", ProjectName);
            JavaPackageName = JavaPackageName ?? PackageName.ToLowerInvariant();

            OtherBuildItems.Add(new BuildItem.NoActionResource("Properties\\AndroidManifest.xml")
            {
                TextContent = () =>
                              AndroidManifest.Replace("${PROJECT_NAME}", ProjectName).
                              Replace("${PACKAGENAME}", PackageName)
            });
            AndroidResources.Add(new AndroidItem.AndroidResource("Resources\\layout\\Main.axml")
            {
                TextContent = () => LayoutMain
            });
            AndroidResources.Add(new AndroidItem.AndroidResource("Resources\\values\\Strings.xml")
            {
                TextContent = () => StringsXml.Replace("${PROJECT_NAME}", ProjectName)
            });

            Sources.Add(new BuildItem.Source(() => "MainActivity" + Language.DefaultExtension)
            {
                TextContent = () => ProcessSourceTemplate(MainActivity ?? DefaultMainActivity)
            });
        }
Esempio n. 11
0
        public XamarinAndroidWearApplicationProject()
        {
            TargetFrameworkVersion = Versions.KitkatWatch;
            UseLatestPlatformSdk   = false;
            Packages.Add(KnownPackages.AndroidSupportV13Kitkat);
            Packages.Add(KnownPackages.AndroidWear);

            MainActivity    = default_main_activity;
            StringsXml      = default_strings_xml;
            LayoutMain      = default_layout_main;
            LayoutRectMain  = default_layout_rect_main;
            LayoutRoundMain = default_layout_round_main;

            AndroidResources.Add(new AndroidItem.AndroidResource("Resources\\layout\\RectangleMain.axml")
            {
                TextContent = () => LayoutRectMain
            });
            AndroidResources.Add(new AndroidItem.AndroidResource("Resources\\layout\\RoundMain.axml")
            {
                TextContent = () => LayoutRoundMain
            });
        }