Эх сурвалжийг харах

Xamarin.Android HockeyApp Sample

Javier Suárez Ruiz 10 жил өмнө
parent
commit
95d47a753a

BIN
AndroidHockeyApp/.vs/AndroidHockeyApp/v14/.suo


+ 24 - 0
AndroidHockeyApp/AndroidHockeyApp.sln

@@ -0,0 +1,24 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio 14
+VisualStudioVersion = 14.0.25123.0
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AndroidHockeyApp", "AndroidHockeyApp\AndroidHockeyApp.csproj", "{574AF7F5-CB34-48FA-B95F-B12E40B07B33}"
+EndProject
+Global
+	GlobalSection(SolutionConfigurationPlatforms) = preSolution
+		Debug|Any CPU = Debug|Any CPU
+		Release|Any CPU = Release|Any CPU
+	EndGlobalSection
+	GlobalSection(ProjectConfigurationPlatforms) = postSolution
+		{574AF7F5-CB34-48FA-B95F-B12E40B07B33}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{574AF7F5-CB34-48FA-B95F-B12E40B07B33}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{574AF7F5-CB34-48FA-B95F-B12E40B07B33}.Debug|Any CPU.Deploy.0 = Debug|Any CPU
+		{574AF7F5-CB34-48FA-B95F-B12E40B07B33}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{574AF7F5-CB34-48FA-B95F-B12E40B07B33}.Release|Any CPU.Build.0 = Release|Any CPU
+		{574AF7F5-CB34-48FA-B95F-B12E40B07B33}.Release|Any CPU.Deploy.0 = Release|Any CPU
+	EndGlobalSection
+	GlobalSection(SolutionProperties) = preSolution
+		HideSolutionNode = FALSE
+	EndGlobalSection
+EndGlobal

+ 87 - 0
AndroidHockeyApp/AndroidHockeyApp/AndroidHockeyApp.csproj

@@ -0,0 +1,87 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <PropertyGroup>
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+    <ProductVersion>8.0.30703</ProductVersion>
+    <SchemaVersion>2.0</SchemaVersion>
+    <ProjectGuid>{574AF7F5-CB34-48FA-B95F-B12E40B07B33}</ProjectGuid>
+    <ProjectTypeGuids>{EFBA0AD7-5A72-4C68-AF49-83D382785DCF};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+    <OutputType>Library</OutputType>
+    <AppDesignerFolder>Properties</AppDesignerFolder>
+    <RootNamespace>AndroidHockeyApp</RootNamespace>
+    <AssemblyName>AndroidHockeyApp</AssemblyName>
+    <FileAlignment>512</FileAlignment>
+    <AndroidApplication>true</AndroidApplication>
+    <AndroidResgenFile>Resources\Resource.Designer.cs</AndroidResgenFile>
+    <GenerateSerializationAssemblies>Off</GenerateSerializationAssemblies>
+    <AndroidUseLatestPlatformSdk>True</AndroidUseLatestPlatformSdk>
+    <TargetFrameworkVersion>v6.0.99</TargetFrameworkVersion>
+    <AndroidManifest>Properties\AndroidManifest.xml</AndroidManifest>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+    <DebugSymbols>true</DebugSymbols>
+    <DebugType>full</DebugType>
+    <Optimize>false</Optimize>
+    <OutputPath>bin\Debug\</OutputPath>
+    <DefineConstants>DEBUG;TRACE</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+    <AndroidUseSharedRuntime>True</AndroidUseSharedRuntime>
+    <AndroidLinkMode>None</AndroidLinkMode>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+    <DebugType>pdbonly</DebugType>
+    <Optimize>true</Optimize>
+    <OutputPath>bin\Release\</OutputPath>
+    <DefineConstants>TRACE</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+    <AndroidUseSharedRuntime>False</AndroidUseSharedRuntime>
+    <AndroidLinkMode>SdkOnly</AndroidLinkMode>
+  </PropertyGroup>
+  <ItemGroup>
+    <Reference Include="HockeySDK, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
+      <HintPath>..\packages\HockeySDK.Xamarin.4.1.0-beta1\lib\MonoAndroid403\HockeySDK.dll</HintPath>
+      <Private>True</Private>
+    </Reference>
+    <Reference Include="Mono.Android" />
+    <Reference Include="mscorlib" />
+    <Reference Include="System" />
+    <Reference Include="System.Core" />
+    <Reference Include="System.Xml.Linq" />
+    <Reference Include="System.Xml" />
+  </ItemGroup>
+  <ItemGroup>
+    <Compile Include="MainActivity.cs" />
+    <Compile Include="Resources\Resource.Designer.cs" />
+    <Compile Include="Properties\AssemblyInfo.cs" />
+  </ItemGroup>
+  <ItemGroup>
+    <None Include="packages.config" />
+    <None Include="Resources\AboutResources.txt" />
+    <None Include="Assets\AboutAssets.txt" />
+  </ItemGroup>
+  <ItemGroup>
+    <AndroidResource Include="Resources\layout\Main.axml">
+      <SubType>Designer</SubType>
+    </AndroidResource>
+  </ItemGroup>
+  <ItemGroup>
+    <AndroidResource Include="Resources\values\Strings.xml" />
+  </ItemGroup>
+  <ItemGroup>
+    <AndroidResource Include="Resources\drawable\Icon.png" />
+  </ItemGroup>
+  <ItemGroup>
+    <None Include="Properties\AndroidManifest.xml" />
+  </ItemGroup>
+  <Import Project="$(MSBuildExtensionsPath)\Xamarin\Android\Xamarin.Android.CSharp.targets" />
+  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. 
+     Other similar extension points exist, see Microsoft.Common.targets.
+		<Target Name="BeforeBuild">
+		</Target>
+		<Target Name="AfterBuild">
+		</Target>
+ -->
+</Project>

+ 19 - 0
AndroidHockeyApp/AndroidHockeyApp/Assets/AboutAssets.txt

@@ -0,0 +1,19 @@
+Any raw assets you want to be deployed with your application can be placed in
+this directory (and child directories) and given a Build Action of "AndroidAsset".
+
+These files will be deployed with you package and will be accessible using Android's
+AssetManager, like this:
+
+public class ReadAsset : Activity
+{
+	protected override void OnCreate (Bundle bundle)
+	{
+		base.OnCreate (bundle);
+
+		InputStream input = Assets.Open ("my_asset.txt");
+	}
+}
+
+Additionally, some Android functions will automatically load asset files:
+
+Typeface tf = Typeface.CreateFromAsset (Context.Assets, "fonts/samplefont.ttf");

+ 23 - 0
AndroidHockeyApp/AndroidHockeyApp/MainActivity.cs

@@ -0,0 +1,23 @@
+using Android.App;
+using Android.OS;
+using HockeyApp;
+
+namespace AndroidHockeyApp
+{
+    [Activity(Label = "AndroidHockeyApp", MainLauncher = true, Icon = "@drawable/icon")]
+    public class MainActivity : Activity
+    {
+        public const string HOCKEYAPP_APPID = "HOCKEYAPP_APPID";
+
+        protected override void OnCreate(Bundle bundle)
+        {
+            base.OnCreate(bundle);
+
+            CrashManager.Register(this, HOCKEYAPP_APPID);
+
+            // Set our view from the "main" layout resource
+            // SetContentView (Resource.Layout.YourMainView);
+        }
+    }
+}
+

+ 5 - 0
AndroidHockeyApp/AndroidHockeyApp/Properties/AndroidManifest.xml

@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8"?>
+<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="AndroidHockeyApp.AndroidHockeyApp" android:versionCode="1" android:versionName="1.0">
+  <uses-sdk android:minSdkVersion="16" />
+  <application android:label="AndroidHockeyApp"></application>
+</manifest>

+ 30 - 0
AndroidHockeyApp/AndroidHockeyApp/Properties/AssemblyInfo.cs

@@ -0,0 +1,30 @@
+using System.Reflection;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+using Android.App;
+
+// General Information about an assembly is controlled through the following 
+// set of attributes. Change these attribute values to modify the information
+// associated with an assembly.
+[assembly: AssemblyTitle("AndroidHockeyApp")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("")]
+[assembly: AssemblyProduct("AndroidHockeyApp")]
+[assembly: AssemblyCopyright("Copyright ©  2016")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+[assembly: ComVisible(false)]
+
+// Version information for an assembly consists of the following four values:
+//
+//      Major Version
+//      Minor Version 
+//      Build Number
+//      Revision
+//
+// You can specify all the values or you can default the Build and Revision Numbers 
+// by using the '*' as shown below:
+// [assembly: AssemblyVersion("1.0.*")]
+[assembly: AssemblyVersion("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]

+ 44 - 0
AndroidHockeyApp/AndroidHockeyApp/Resources/AboutResources.txt

@@ -0,0 +1,44 @@
+Images, layout descriptions, binary blobs and string dictionaries can be included 
+in your application as resource files.  Various Android APIs are designed to 
+operate on the resource IDs instead of dealing with images, strings or binary blobs 
+directly.
+
+For example, a sample Android app that contains a user interface layout (main.axml),
+an internationalization string table (strings.xml) and some icons (drawable-XXX/icon.png) 
+would keep its resources in the "Resources" directory of the application:
+
+Resources/
+    drawable/
+        icon.png
+
+    layout/
+        main.axml
+
+    values/
+        strings.xml
+
+In order to get the build system to recognize Android resources, set the build action to
+"AndroidResource".  The native Android APIs do not operate directly with filenames, but 
+instead operate on resource IDs.  When you compile an Android application that uses resources, 
+the build system will package the resources for distribution and generate a class called "R" 
+(this is an Android convention) that contains the tokens for each one of the resources 
+included. For example, for the above Resources layout, this is what the R class would expose:
+
+public class R {
+    public class drawable {
+        public const int icon = 0x123;
+    }
+
+    public class layout {
+        public const int main = 0x456;
+    }
+
+    public class strings {
+        public const int first_string = 0xabc;
+        public const int second_string = 0xbcd;
+    }
+}
+
+You would then use R.drawable.icon to reference the drawable/icon.png file, or R.layout.main 
+to reference the layout/main.axml file, or R.strings.first_string to reference the first 
+string in the dictionary file values/strings.xml.

+ 495 - 0
AndroidHockeyApp/AndroidHockeyApp/Resources/Resource.Designer.cs

@@ -0,0 +1,495 @@
+#pragma warning disable 1591
+//------------------------------------------------------------------------------
+// <auto-generated>
+//     Este código fue generado por una herramienta.
+//     Versión de runtime:4.0.30319.42000
+//
+//     Los cambios en este archivo podrían causar un comportamiento incorrecto y se perderán si
+//     se vuelve a generar el código.
+// </auto-generated>
+//------------------------------------------------------------------------------
+
+[assembly: global::Android.Runtime.ResourceDesignerAttribute("AndroidHockeyApp.Resource", IsApplication=true)]
+
+namespace AndroidHockeyApp
+{
+	
+	
+	[System.CodeDom.Compiler.GeneratedCodeAttribute("Xamarin.Android.Build.Tasks", "1.0.0.0")]
+	public partial class Resource
+	{
+		
+		static Resource()
+		{
+			global::Android.Runtime.ResourceIdManager.UpdateIdValues();
+		}
+		
+		public static void UpdateIdValues()
+		{
+		}
+		
+		public partial class Attribute
+		{
+			
+			static Attribute()
+			{
+				global::Android.Runtime.ResourceIdManager.UpdateIdValues();
+			}
+			
+			private Attribute()
+			{
+			}
+		}
+		
+		public partial class Color
+		{
+			
+			// aapt resource value: 0x7f060000
+			public const int hockeyapp_background_header = 2131099648;
+			
+			// aapt resource value: 0x7f060001
+			public const int hockeyapp_background_light = 2131099649;
+			
+			// aapt resource value: 0x7f060002
+			public const int hockeyapp_background_white = 2131099650;
+			
+			// aapt resource value: 0x7f060003
+			public const int hockeyapp_button_background = 2131099651;
+			
+			// aapt resource value: 0x7f060004
+			public const int hockeyapp_button_background_pressed = 2131099652;
+			
+			// aapt resource value: 0x7f060005
+			public const int hockeyapp_button_background_selected = 2131099653;
+			
+			// aapt resource value: 0x7f060006
+			public const int hockeyapp_text_black = 2131099654;
+			
+			// aapt resource value: 0x7f060007
+			public const int hockeyapp_text_light = 2131099655;
+			
+			// aapt resource value: 0x7f060008
+			public const int hockeyapp_text_normal = 2131099656;
+			
+			// aapt resource value: 0x7f060009
+			public const int hockeyapp_text_white = 2131099657;
+			
+			static Color()
+			{
+				global::Android.Runtime.ResourceIdManager.UpdateIdValues();
+			}
+			
+			private Color()
+			{
+			}
+		}
+		
+		public partial class Drawable
+		{
+			
+			// aapt resource value: 0x7f020000
+			public const int hockeyapp_btn_background = 2130837504;
+			
+			// aapt resource value: 0x7f020001
+			public const int Icon = 2130837505;
+			
+			static Drawable()
+			{
+				global::Android.Runtime.ResourceIdManager.UpdateIdValues();
+			}
+			
+			private Drawable()
+			{
+			}
+		}
+		
+		public partial class Id
+		{
+			
+			// aapt resource value: 0x7f07001c
+			public const int MyButton = 2131165212;
+			
+			// aapt resource value: 0x7f07000d
+			public const int button_add_response = 2131165197;
+			
+			// aapt resource value: 0x7f070008
+			public const int button_attachment = 2131165192;
+			
+			// aapt resource value: 0x7f070012
+			public const int button_login = 2131165202;
+			
+			// aapt resource value: 0x7f07000e
+			public const int button_refresh = 2131165198;
+			
+			// aapt resource value: 0x7f070009
+			public const int button_send = 2131165193;
+			
+			// aapt resource value: 0x7f070016
+			public const int button_update = 2131165206;
+			
+			// aapt resource value: 0x7f070004
+			public const int input_email = 2131165188;
+			
+			// aapt resource value: 0x7f070006
+			public const int input_message = 2131165190;
+			
+			// aapt resource value: 0x7f070003
+			public const int input_name = 2131165187;
+			
+			// aapt resource value: 0x7f070011
+			public const int input_password = 2131165201;
+			
+			// aapt resource value: 0x7f070005
+			public const int input_subject = 2131165189;
+			
+			// aapt resource value: 0x7f070018
+			public const int label_author = 2131165208;
+			
+			// aapt resource value: 0x7f070019
+			public const int label_date = 2131165209;
+			
+			// aapt resource value: 0x7f07000b
+			public const int label_last_updated = 2131165195;
+			
+			// aapt resource value: 0x7f070000
+			public const int label_message = 2131165184;
+			
+			// aapt resource value: 0x7f07001a
+			public const int label_text = 2131165210;
+			
+			// aapt resource value: 0x7f070014
+			public const int label_title = 2131165204;
+			
+			// aapt resource value: 0x7f070015
+			public const int label_version = 2131165205;
+			
+			// aapt resource value: 0x7f07001b
+			public const int list_attachments = 2131165211;
+			
+			// aapt resource value: 0x7f07000f
+			public const int list_feedback_messages = 2131165199;
+			
+			// aapt resource value: 0x7f070010
+			public const int text_headline = 2131165200;
+			
+			// aapt resource value: 0x7f070013
+			public const int view_header = 2131165203;
+			
+			// aapt resource value: 0x7f070017
+			public const int web_update_details = 2131165207;
+			
+			// aapt resource value: 0x7f070007
+			public const int wrapper_attachments = 2131165191;
+			
+			// aapt resource value: 0x7f070002
+			public const int wrapper_feedback = 2131165186;
+			
+			// aapt resource value: 0x7f070001
+			public const int wrapper_feedback_scroll = 2131165185;
+			
+			// aapt resource value: 0x7f07000a
+			public const int wrapper_messages = 2131165194;
+			
+			// aapt resource value: 0x7f07000c
+			public const int wrapper_messages_buttons = 2131165196;
+			
+			static Id()
+			{
+				global::Android.Runtime.ResourceIdManager.UpdateIdValues();
+			}
+			
+			private Id()
+			{
+			}
+		}
+		
+		public partial class Layout
+		{
+			
+			// aapt resource value: 0x7f030000
+			public const int hockeyapp_activity_expiry_info = 2130903040;
+			
+			// aapt resource value: 0x7f030001
+			public const int hockeyapp_activity_feedback = 2130903041;
+			
+			// aapt resource value: 0x7f030002
+			public const int hockeyapp_activity_login = 2130903042;
+			
+			// aapt resource value: 0x7f030003
+			public const int hockeyapp_activity_update = 2130903043;
+			
+			// aapt resource value: 0x7f030004
+			public const int hockeyapp_fragment_update = 2130903044;
+			
+			// aapt resource value: 0x7f030005
+			public const int hockeyapp_view_feedback_message = 2130903045;
+			
+			// aapt resource value: 0x7f030006
+			public const int Main = 2130903046;
+			
+			static Layout()
+			{
+				global::Android.Runtime.ResourceIdManager.UpdateIdValues();
+			}
+			
+			private Layout()
+			{
+			}
+		}
+		
+		public partial class String
+		{
+			
+			// aapt resource value: 0x7f040048
+			public const int ApplicationName = 2130968648;
+			
+			// aapt resource value: 0x7f040047
+			public const int Hello = 2130968647;
+			
+			// aapt resource value: 0x7f040000
+			public const int hockeyapp_crash_dialog_app_name_fallback = 2130968576;
+			
+			// aapt resource value: 0x7f040001
+			public const int hockeyapp_crash_dialog_message = 2130968577;
+			
+			// aapt resource value: 0x7f040002
+			public const int hockeyapp_crash_dialog_negative_button = 2130968578;
+			
+			// aapt resource value: 0x7f040003
+			public const int hockeyapp_crash_dialog_neutral_button = 2130968579;
+			
+			// aapt resource value: 0x7f040004
+			public const int hockeyapp_crash_dialog_positive_button = 2130968580;
+			
+			// aapt resource value: 0x7f040005
+			public const int hockeyapp_crash_dialog_title = 2130968581;
+			
+			// aapt resource value: 0x7f040006
+			public const int hockeyapp_dialog_error_message = 2130968582;
+			
+			// aapt resource value: 0x7f040007
+			public const int hockeyapp_dialog_error_title = 2130968583;
+			
+			// aapt resource value: 0x7f040008
+			public const int hockeyapp_dialog_negative_button = 2130968584;
+			
+			// aapt resource value: 0x7f040009
+			public const int hockeyapp_dialog_positive_button = 2130968585;
+			
+			// aapt resource value: 0x7f04000a
+			public const int hockeyapp_download_failed_dialog_message = 2130968586;
+			
+			// aapt resource value: 0x7f04000b
+			public const int hockeyapp_download_failed_dialog_negative_button = 2130968587;
+			
+			// aapt resource value: 0x7f04000c
+			public const int hockeyapp_download_failed_dialog_positive_button = 2130968588;
+			
+			// aapt resource value: 0x7f04000d
+			public const int hockeyapp_download_failed_dialog_title = 2130968589;
+			
+			// aapt resource value: 0x7f04000e
+			public const int hockeyapp_error_no_network_message = 2130968590;
+			
+			// aapt resource value: 0x7f04000f
+			public const int hockeyapp_expiry_info_text = 2130968591;
+			
+			// aapt resource value: 0x7f040010
+			public const int hockeyapp_expiry_info_title = 2130968592;
+			
+			// aapt resource value: 0x7f040011
+			public const int hockeyapp_feedback_attach_file = 2130968593;
+			
+			// aapt resource value: 0x7f040012
+			public const int hockeyapp_feedback_attach_picture = 2130968594;
+			
+			// aapt resource value: 0x7f040013
+			public const int hockeyapp_feedback_attachment_button_text = 2130968595;
+			
+			// aapt resource value: 0x7f040014
+			public const int hockeyapp_feedback_attachment_error = 2130968596;
+			
+			// aapt resource value: 0x7f040015
+			public const int hockeyapp_feedback_attachment_loading = 2130968597;
+			
+			// aapt resource value: 0x7f040016
+			public const int hockeyapp_feedback_email_hint = 2130968598;
+			
+			// aapt resource value: 0x7f040017
+			public const int hockeyapp_feedback_failed_text = 2130968599;
+			
+			// aapt resource value: 0x7f040018
+			public const int hockeyapp_feedback_failed_title = 2130968600;
+			
+			// aapt resource value: 0x7f040019
+			public const int hockeyapp_feedback_fetching_feedback_text = 2130968601;
+			
+			// aapt resource value: 0x7f04001a
+			public const int hockeyapp_feedback_generic_error = 2130968602;
+			
+			// aapt resource value: 0x7f04001b
+			public const int hockeyapp_feedback_last_updated_text = 2130968603;
+			
+			// aapt resource value: 0x7f04001c
+			public const int hockeyapp_feedback_max_attachments_allowed = 2130968604;
+			
+			// aapt resource value: 0x7f04001d
+			public const int hockeyapp_feedback_message_hint = 2130968605;
+			
+			// aapt resource value: 0x7f04001e
+			public const int hockeyapp_feedback_name_hint = 2130968606;
+			
+			// aapt resource value: 0x7f04001f
+			public const int hockeyapp_feedback_refresh_button_text = 2130968607;
+			
+			// aapt resource value: 0x7f040020
+			public const int hockeyapp_feedback_response_button_text = 2130968608;
+			
+			// aapt resource value: 0x7f040021
+			public const int hockeyapp_feedback_select_file = 2130968609;
+			
+			// aapt resource value: 0x7f040022
+			public const int hockeyapp_feedback_select_picture = 2130968610;
+			
+			// aapt resource value: 0x7f040023
+			public const int hockeyapp_feedback_send_button_text = 2130968611;
+			
+			// aapt resource value: 0x7f040024
+			public const int hockeyapp_feedback_send_generic_error = 2130968612;
+			
+			// aapt resource value: 0x7f040025
+			public const int hockeyapp_feedback_send_network_error = 2130968613;
+			
+			// aapt resource value: 0x7f040026
+			public const int hockeyapp_feedback_sending_feedback_text = 2130968614;
+			
+			// aapt resource value: 0x7f040027
+			public const int hockeyapp_feedback_subject_hint = 2130968615;
+			
+			// aapt resource value: 0x7f040028
+			public const int hockeyapp_feedback_title = 2130968616;
+			
+			// aapt resource value: 0x7f040029
+			public const int hockeyapp_feedback_validate_email_empty = 2130968617;
+			
+			// aapt resource value: 0x7f04002a
+			public const int hockeyapp_feedback_validate_email_error = 2130968618;
+			
+			// aapt resource value: 0x7f04002b
+			public const int hockeyapp_feedback_validate_name_error = 2130968619;
+			
+			// aapt resource value: 0x7f04002c
+			public const int hockeyapp_feedback_validate_subject_error = 2130968620;
+			
+			// aapt resource value: 0x7f04002d
+			public const int hockeyapp_feedback_validate_text_error = 2130968621;
+			
+			// aapt resource value: 0x7f04002e
+			public const int hockeyapp_login_email_hint = 2130968622;
+			
+			// aapt resource value: 0x7f04002f
+			public const int hockeyapp_login_headline_text = 2130968623;
+			
+			// aapt resource value: 0x7f040030
+			public const int hockeyapp_login_headline_text_email_only = 2130968624;
+			
+			// aapt resource value: 0x7f040031
+			public const int hockeyapp_login_login_button_text = 2130968625;
+			
+			// aapt resource value: 0x7f040032
+			public const int hockeyapp_login_missing_credentials_toast = 2130968626;
+			
+			// aapt resource value: 0x7f040033
+			public const int hockeyapp_login_password_hint = 2130968627;
+			
+			// aapt resource value: 0x7f040034
+			public const int hockeyapp_paint_dialog_message = 2130968628;
+			
+			// aapt resource value: 0x7f040035
+			public const int hockeyapp_paint_dialog_negative_button = 2130968629;
+			
+			// aapt resource value: 0x7f040036
+			public const int hockeyapp_paint_dialog_neutral_button = 2130968630;
+			
+			// aapt resource value: 0x7f040037
+			public const int hockeyapp_paint_dialog_positive_button = 2130968631;
+			
+			// aapt resource value: 0x7f040038
+			public const int hockeyapp_paint_indicator_toast = 2130968632;
+			
+			// aapt resource value: 0x7f040039
+			public const int hockeyapp_paint_menu_clear = 2130968633;
+			
+			// aapt resource value: 0x7f04003a
+			public const int hockeyapp_paint_menu_save = 2130968634;
+			
+			// aapt resource value: 0x7f04003b
+			public const int hockeyapp_paint_menu_undo = 2130968635;
+			
+			// aapt resource value: 0x7f04003c
+			public const int hockeyapp_permission_dialog_negative_button = 2130968636;
+			
+			// aapt resource value: 0x7f04003d
+			public const int hockeyapp_permission_dialog_positive_button = 2130968637;
+			
+			// aapt resource value: 0x7f04003e
+			public const int hockeyapp_permission_update_message = 2130968638;
+			
+			// aapt resource value: 0x7f04003f
+			public const int hockeyapp_permission_update_title = 2130968639;
+			
+			// aapt resource value: 0x7f040040
+			public const int hockeyapp_update_button = 2130968640;
+			
+			// aapt resource value: 0x7f040041
+			public const int hockeyapp_update_dialog_message = 2130968641;
+			
+			// aapt resource value: 0x7f040042
+			public const int hockeyapp_update_dialog_negative_button = 2130968642;
+			
+			// aapt resource value: 0x7f040043
+			public const int hockeyapp_update_dialog_positive_button = 2130968643;
+			
+			// aapt resource value: 0x7f040044
+			public const int hockeyapp_update_dialog_title = 2130968644;
+			
+			// aapt resource value: 0x7f040045
+			public const int hockeyapp_update_mandatory_toast = 2130968645;
+			
+			// aapt resource value: 0x7f040046
+			public const int hockeyapp_update_version_details_label = 2130968646;
+			
+			static String()
+			{
+				global::Android.Runtime.ResourceIdManager.UpdateIdValues();
+			}
+			
+			private String()
+			{
+			}
+		}
+		
+		public partial class Style
+		{
+			
+			// aapt resource value: 0x7f050000
+			public const int HockeyApp_ButtonStyle = 2131034112;
+			
+			// aapt resource value: 0x7f050001
+			public const int HockeyApp_EditTextStyle = 2131034113;
+			
+			// aapt resource value: 0x7f050002
+			public const int HockeyApp_SingleLineInputStyle = 2131034114;
+			
+			static Style()
+			{
+				global::Android.Runtime.ResourceIdManager.UpdateIdValues();
+			}
+			
+			private Style()
+			{
+			}
+		}
+	}
+}
+#pragma warning restore 1591

BIN
AndroidHockeyApp/AndroidHockeyApp/Resources/drawable/Icon.png


+ 13 - 0
AndroidHockeyApp/AndroidHockeyApp/Resources/layout/Main.axml

@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="utf-8"?>
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:orientation="vertical"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    >
+<Button  
+    android:id="@+id/MyButton"
+    android:layout_width="match_parent" 
+    android:layout_height="wrap_content" 
+    android:text="@string/Hello"
+    />
+</LinearLayout>

+ 5 - 0
AndroidHockeyApp/AndroidHockeyApp/Resources/values/Strings.xml

@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+    <string name="Hello">Hello World, Click Me!</string>
+    <string name="ApplicationName">AndroidHockeyApp</string>
+</resources>

+ 4 - 0
AndroidHockeyApp/AndroidHockeyApp/packages.config

@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
+<packages>
+  <package id="HockeySDK.Xamarin" version="4.1.0-beta1" targetFramework="monoandroid6.0.99" />
+</packages>