{"id":6891,"date":"2015-07-20T08:48:00","date_gmt":"2015-07-20T08:48:00","guid":{"rendered":"https:\/\/blogs.msdn.microsoft.com\/vcblog\/2015\/07\/20\/whats-new-with-visual-c-cross-platform-mobile-development\/"},"modified":"2021-10-07T15:42:00","modified_gmt":"2021-10-07T15:42:00","slug":"whats-new-with-visual-c-cross-platform-mobile-development","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/cppblog\/whats-new-with-visual-c-cross-platform-mobile-development\/","title":{"rendered":"What&#8217;s new with Visual C++ cross-platform mobile development"},"content":{"rendered":"<p>With <a href=\"http:\/\/go.microsoft.com\/fwlink\/?LinkId=517106\">Visual Studio 2015 RTM<\/a> we continue to improve the cross-platform mobile development story. Visual Studio 2015 RTM introduces the following new feature set aimed at improving the edit-&gt;build-&gt;debug cycle for mobile developers.<\/p>\n<ul>\n<li>The <strong>Android NDK R10e (32 bit)<\/strong> is now supported when developing Android native applications. <a href=\"https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2015\/07\/7585.ndk_.jpg\"><img decoding=\"async\" src=\"https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2015\/07\/7585.ndk_.jpg\" alt=\"Image 7585 ndk\" width=\"368\" height=\"83\" class=\"aligncenter size-full wp-image-29456\" srcset=\"https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2015\/07\/7585.ndk_.jpg 368w, https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2015\/07\/7585.ndk_-300x68.jpg 300w\" sizes=\"(max-width: 368px) 100vw, 368px\" \/><\/a>\n&nbsp;<\/li>\n<li>Using <strong>Tools-&gt;Options-&gt;Cross-Platform<\/strong> developers can now choose custom tools (Java, Ant, SDK, NDK) for developing android applications. <a href=\"https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2015\/07\/3618.PICTOOLS.png\"><img decoding=\"async\" src=\"https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2015\/07\/3618.PICTOOLS.png\" alt=\"Image 3618 PICTOOLS\" width=\"744\" height=\"434\" class=\"aligncenter size-full wp-image-29453\" srcset=\"https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2015\/07\/3618.PICTOOLS.png 744w, https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2015\/07\/3618.PICTOOLS-300x175.png 300w\" sizes=\"(max-width: 744px) 100vw, 744px\" \/><\/a>\n&nbsp;<\/li>\n<li><a name=\"debugapk\"><\/a>You can now<strong> debug an existing <\/strong><strong>Android APK<\/strong> without the need to build from Visual Studio.\u00a0 This means you can use the <strong>powerful C++ debugging experience<\/strong> in Visual Studio without the need to migrate any source or build settings.\u00a0To use this capability follow the steps below:\n<ul>\n<li>File -&gt; Open Project -&gt; Point to existing Android .APK<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<div>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 <a href=\"https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2015\/07\/4186.PICFILE.png\"><img decoding=\"async\" src=\"https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2015\/07\/4186.PICFILE.png\" alt=\"Image 4186 PICFILE\" width=\"575\" height=\"349\" class=\"aligncenter size-full wp-image-29454\" srcset=\"https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2015\/07\/4186.PICFILE.png 575w, https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2015\/07\/4186.PICFILE-300x182.png 300w\" sizes=\"(max-width: 575px) 100vw, 575px\" \/><\/a><\/div>\n<ul>\n<ul>\n<li>A project will be automatically created Right Click on the project to access<strong> &#8216;Debugging&#8217; property page<\/strong>:<a href=\"https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2015\/07\/5488.PICCBP.png\"><img decoding=\"async\" src=\"https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2015\/07\/5488.PICCBP.png\" alt=\"Image 5488 PICCBP\" width=\"758\" height=\"364\" class=\"aligncenter size-full wp-image-29455\" srcset=\"https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2015\/07\/5488.PICCBP.png 758w, https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2015\/07\/5488.PICCBP-300x144.png 300w\" sizes=\"(max-width: 758px) 100vw, 758px\" \/><\/a><\/li>\n<li>All fields other than <strong>\u2018Additional Symbol Search Path\u2019<\/strong> should already be populated. Add the path to the C++ library built with symbols and drag\/drop C++ source file you want to debug into Visual Studio.&nbsp;<\/li>\n<li><strong>Set breakpoints and hit F5<\/strong>, this will deploy the existing Android APK and then enjoy!<\/li>\n<\/ul>\n<li>You can now also <strong>&#8216;attach to a running Android process&#8217;<\/strong> using the menu-item below: <a href=\"https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2015\/07\/1004.Attach.png\"><img decoding=\"async\" src=\"https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2015\/07\/1004.Attach.png\" alt=\"Image 1004 Attach\" width=\"512\" height=\"252\" class=\"aligncenter size-full wp-image-29452\" srcset=\"https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2015\/07\/1004.Attach.png 512w, https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2015\/07\/1004.Attach-300x148.png 300w\" sizes=\"(max-width: 512px) 100vw, 512px\" \/><\/a><\/li>\n<li>You can now set<strong> <a href=\"http:\/\/blogs.msdn.com\/b\/visualstudioalm\/archive\/2013\/10\/11\/conditional-breakpoints.aspx\">Conditional break-points<\/a><\/strong>\u00a0as a part of the\u00a0Android debugging experience.<a href=\"https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2015\/07\/0825.PICCBP.png\"><img decoding=\"async\" src=\"https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2015\/07\/0825.PICCBP.png\" alt=\"Image 0825 PICCBP\" width=\"682\" height=\"494\" class=\"aligncenter size-full wp-image-29451\" srcset=\"https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2015\/07\/0825.PICCBP.png 682w, https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2015\/07\/0825.PICCBP-300x217.png 300w\" sizes=\"(max-width: 682px) 100vw, 682px\" \/><\/a><\/li>\n<li>Multiple bug fixes have been made to Android Logcat and the iOS build agent (vcremote) for improved usability experience.<\/li>\n<\/ul>\n<p>We would love you folks to try out news features made available and thank you for your continued (and spirited) feedback\u00a0(<strong>remember to use <a href=\"https:\/\/msdn.microsoft.com\/en-us\/library\/mt280277.aspx\">Send-A-Smile\/Frown<\/a> with #cpp2015<\/strong>!)<\/p>\n","protected":false},"excerpt":{"rendered":"<p>With Visual Studio 2015 RTM we continue to improve the cross-platform mobile development story. Visual Studio 2015 RTM introduces the following new feature set aimed at improving the edit-&gt;build-&gt;debug cycle for mobile developers. The Android NDK R10e (32 bit) is now supported when developing Android native applications. &nbsp; Using Tools-&gt;Options-&gt;Cross-Platform developers can now choose custom [&hellip;]<\/p>\n","protected":false},"author":265,"featured_media":35994,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[1],"tags":[],"class_list":["post-6891","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-cplusplus"],"acf":[],"blog_post_summary":"<p>With Visual Studio 2015 RTM we continue to improve the cross-platform mobile development story. Visual Studio 2015 RTM introduces the following new feature set aimed at improving the edit-&gt;build-&gt;debug cycle for mobile developers. The Android NDK R10e (32 bit) is now supported when developing Android native applications. &nbsp; Using Tools-&gt;Options-&gt;Cross-Platform developers can now choose custom [&hellip;]<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/posts\/6891","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/users\/265"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/comments?post=6891"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/posts\/6891\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/media\/35994"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/media?parent=6891"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/categories?post=6891"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/tags?post=6891"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}