{"id":117,"date":"2014-11-16T02:04:59","date_gmt":"2014-11-16T05:04:59","guid":{"rendered":"http:\/\/52.24.147.87\/?p=117"},"modified":"2016-09-01T21:48:41","modified_gmt":"2016-09-01T16:48:41","slug":"setting-up-the-mobile-dev-enviroment","status":"publish","type":"post","link":"http:\/\/www.stonemillkids.com\/index.php\/2014\/11\/16\/setting-up-the-mobile-dev-enviroment\/","title":{"rendered":"Setting up the Mobile Dev Enviroment"},"content":{"rendered":"<p>&nbsp;<\/p>\n<h3>This post details how to setup a Mobile, Cross-Platform, App Development IDE in Windows.<\/h3>\n<p>Now that the website is up, I want to create my first App.\u00a0 The full set of requirements for this project can be found <a href=\"http:\/\/www.stonemillkids.com\/index.php\/shapes\/\"><u><span style=\"color: #0066cc;\">here<\/span><\/u><\/a>.\u00a0 If you have not read them already, it might be worth the read.\u00a0 However, most folks reading this side of the blog will be interested in knowing how to develop and publish a Mobile App.\u00a0 While some of the information must cross, I am going to try and\u00a0keep the\u00a0actual App away from the rest of the blogging.<\/p>\n<p>To help with that, any of the content on the technical side will have a &#8220;T&#8221; in the logo.<\/p>\n<p><a href=\"http:\/\/52.24.147.87\/wp-content\/uploads\/2015\/06\/Shapes_w_background_Tech.jpg\"><img loading=\"lazy\" class=\"alignnone size-full wp-image-335\" src=\"http:\/\/52.24.147.87\/wp-content\/uploads\/2015\/06\/Shapes_w_background_Tech.jpg\" alt=\"Shapes!_w_background_Tech\" width=\"275\" height=\"250\" \/><\/a><\/p>\n<h4><strong>High Level Requirements<\/strong> (Duplicated for those who have not read them yet):<\/h4>\n<p style=\"padding-left: 30px;\">1)\u00a0Touch the screen and a circle appears.<\/p>\n<p style=\"padding-left: 30px;\">2) Hold your finger on the screen and the bubble grows<\/p>\n<p style=\"padding-left: 30px;\">3) Press the screen again, and repeat, to add as many shapes as you want.<\/p>\n<p style=\"padding-left: 30px;\">4) Press an existing Shape to have it &#8220;pop&#8221; or be removed from the screen.<\/p>\n<p style=\"padding-left: 30px;\">5) Press an existing shape and drag it to move it across the screen.<\/p>\n<p>That&#8217;s it.\u00a0 I would argue that #5 is not needed, but I want to test dragging on both iOS and Android.<\/p>\n<p>The requirements are balanced with both toddlers, and beginning Mobile developers in mind.\u00a0 If we can teach a 2 year old to use each of the feautres on an iPad, it also allows a developer to get real examples for how to use those features\/mechanics\u00a0in other apps.<\/p>\n<h4><strong>My Available Testing Platforms:<\/strong><\/h4>\n<p>iOS &#8211; iPad Mini<\/p>\n<p>Android &#8211; Galaxy S4 and the original Galaxy 10.1 Tablet<\/p>\n<p>Windows 8<\/p>\n<p><strong>Why the Project is Documented:<\/strong><\/p>\n<p>I want to walk through the publication process for Google Play and iTunes Store so that my next endeavor can be easier.<\/p>\n<p>I also want to document the process so that I (and others) can repeat this later.<\/p>\n<p><strong>Development Tools Used:<\/strong><\/p>\n<p><a title=\"libGDX\" href=\"http:\/\/libgdx.badlogicgames.com\/\" target=\"_blank\">libGDX<\/a>&#8211; libGDX is a cross platform, open source, full featured game development platform. It cross compiles Java to other platforms.\u00a0 I downloaded\u00a0it two years ago (2012).\u00a0 It has come a long way.<\/p>\n<p><a title=\"Android SDK\" href=\"https:\/\/developer.android.com\/index.html\" target=\"_blank\">Android SDK<\/a> &#8211; Required for Android development. This is still compatible with eclipse, but I am not comfortable starting a new development endeavor with eclipse if support has been discontinued.<\/p>\n<p><a title=\"Android Studio\" href=\"http:\/\/developer.android.com\/sdk\/installing\/studio.html\">Android Studio<\/a> &#8211; google put their support behind IntelliJ IDEA, so I am going to at least download it to keep the SDK package management up to date.\u00a0 I still think that libGDX will win because it offers cross-platform features that are not available in the Android Studio, however, I feel that I need to be familiar with both.<\/p>\n<p><strong>Development Tools <em>Not <\/em>Used:<\/strong><\/p>\n<p><a title=\"eclipse\" href=\"http:\/\/eclipse.org\/\" target=\"_blank\">eclipse<\/a>\u00a0&#8211; The IDE that I am familiar with professionally and personally for over 10 years &#8211; Support for this is\u00a0 being discontinued by Google, so I am choosing to <em>NOT use eclipse<\/em><\/p>\n<p><strong>Getting started:<\/strong><\/p>\n<p><strong>Setup the Development Environment &#8211; <\/strong>This is a complex and personal decision.\u00a0 With Microsoft recently announcing their free Visual Studio,\u00a0 I did reconsider my decision, but I\u00a0am going to let others commit to a\u00a0&#8220;new&#8221; platform before I make a decision if I should move to move away from open source tools that I at least have installed before.\u00a0My second reason is\u00a0I expect their to be more community documentation on the older technology, and since I generally new to Mobile development, I am hoping I can find more documentation available.<\/p>\n<p>Two items of note:<\/p>\n<p>1) I always start with a directory off of the C: drive.\u00a0 It makes my development easier if I have to port computers.<\/p>\n<p>2) I always save the original downloads that I used to create a project.\u00a0 It makes life a lot easier if you have to create\u00a0a new project (Or if you have to reinstall eclipse because <em>something <\/em>broke).\u00a0 The last reason for this is, what I call,\u00a0original traceability.\u00a0 Consider two years from now you a curious where you downloaded that library or set of images.\u00a0 Keeping a little organization in the beginning helps dramatically.<\/p>\n<p>While I have used all of the tools mentioned above before, I am going to download a clean copy of all of them and install them into new directories. Enough changes on a regular basis, that a year is a long time.<\/p>\n<p>I have setup:<\/p>\n<p>C:\\Development &#8211; for my local folder for everything<\/p>\n<p>C:\\Development\\Downloads &#8211; for all of the original copies of the tools I downloaded.<\/p>\n<h3>On to installing software<\/h3>\n<p>libGDX requires the Android SDK, so the SDK is next.<\/p>\n<h4><strong>\u00a0Enabling Developer Mode on my Android Devices<\/strong><\/h4>\n<p><em>Sorry for the aside here, but the downloads are taking long enough I figured I would google (and document) how to enable development on my Android devices.<\/em><\/p>\n<p>Galaxy S4:(Model:SCH-I545, Android 4.4.2<\/p>\n<p style=\"padding-left: 30px;\">1. Settings-&gt;About Phone Touch &#8220;Android version&#8221; about 8x. This enables the developer menu<\/p>\n<p style=\"padding-left: 30px;\">2. Settings-&gt;Developer options-&gt;USB Debugging<\/p>\n<p>Galaxy 10.1 (Model: GT-P7510, \u00a0Android 4.0.4): debugging with the PC can be enabled by going to<\/p>\n<p style=\"padding-left: 30px;\">Settings-&gt;Developer options-&gt;USB Debugging<\/p>\n<p style=\"padding-left: 30px;\">now I cannot say if I had selected the version last year 8x or not on the Tablet, but I expect I did.<\/p>\n<p><em>Note: I am purposely avoiding my iPad at this point because I want to get everything up and running with Android first.\u00a0 I will port the game after it is working on these two devices.<\/em><\/p>\n<p><a href=\"http:\/\/52.24.147.87\/wp-content\/uploads\/2015\/06\/Asset_Studio_000.png\"><img loading=\"lazy\" class=\"alignnone size-medium wp-image-340\" src=\"http:\/\/52.24.147.87\/wp-content\/uploads\/2015\/06\/Asset_Studio_000-300x217.png\" alt=\"Asset_Studio_000\" width=\"300\" height=\"217\" srcset=\"http:\/\/www.stonemillkids.com\/wp-content\/uploads\/2015\/06\/Asset_Studio_000-300x217.png 300w, http:\/\/www.stonemillkids.com\/wp-content\/uploads\/2015\/06\/Asset_Studio_000.png 398w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p><strong><a title=\"Android SDK\" href=\"http:\/\/developer.android.com\/sdk\/index.html\" target=\"_blank\">Android SDK install<\/a> &#8211;<\/strong> Heading to the download page,<strong> it states that the eclipse SDK is not longer supported.<\/strong><\/p>\n<p>I guess I will download and install the Android Studio and see where that goes.<\/p>\n<p>After a couple of clicks, I have found these instructions:<\/p>\n<p><a title=\"Android SDK instructions\" href=\"http:\/\/developer.android.com\/sdk\/installing\/index.html?pkg=studio\" target=\"_blank\">http:\/\/developer.android.com\/sdk\/installing\/index.html?pkg=studio<\/a><\/p>\n<p>The instructions are a little off.\u00a0 I unzipped the folder, but then had to find the exe.\u00a0 It was buried in the &#8220;bin&#8221; directory. I went with the studio64.exe. I expect that will work (since I have a 64 bit machine).<\/p>\n<p>C:StoneMillDevelopmentandroid-studio-ide-135.1538390-windowsandroid-studiobinstudio64.exe<\/p>\n<p>I have never installed this before, so I simple went with the new product setup:<\/p>\n<p><a href=\"http:\/\/52.24.147.87\/wp-content\/uploads\/2015\/06\/003_Android_SDK.png\"><img loading=\"lazy\" class=\"alignnone size-medium wp-image-361\" src=\"http:\/\/52.24.147.87\/wp-content\/uploads\/2015\/06\/003_Android_SDK-300x123.png\" alt=\"003_Android_SDK\" width=\"300\" height=\"123\" srcset=\"http:\/\/www.stonemillkids.com\/wp-content\/uploads\/2015\/06\/003_Android_SDK-300x123.png 300w, http:\/\/www.stonemillkids.com\/wp-content\/uploads\/2015\/06\/003_Android_SDK.png 489w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p>I also created a generic project in hopes of getting to the IDE&#8217;s &#8220;Desktop&#8221;<\/p>\n<p><a href=\"http:\/\/52.24.147.87\/wp-content\/uploads\/2015\/06\/004_Android_SDK_New_Project_01.png\"><img loading=\"lazy\" class=\"alignnone size-medium wp-image-360\" src=\"http:\/\/52.24.147.87\/wp-content\/uploads\/2015\/06\/004_Android_SDK_New_Project_01-300x181.png\" alt=\"004_Android_SDK_New_Project_01\" width=\"300\" height=\"181\" srcset=\"http:\/\/www.stonemillkids.com\/wp-content\/uploads\/2015\/06\/004_Android_SDK_New_Project_01-300x181.png 300w, http:\/\/www.stonemillkids.com\/wp-content\/uploads\/2015\/06\/004_Android_SDK_New_Project_01-1024x616.png 1024w, http:\/\/www.stonemillkids.com\/wp-content\/uploads\/2015\/06\/004_Android_SDK_New_Project_01.png 1080w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p><a href=\"http:\/\/52.24.147.87\/wp-content\/uploads\/2015\/06\/005_Android_SDK_New_Project_02.png\"><img loading=\"lazy\" class=\"alignnone size-medium wp-image-359\" src=\"http:\/\/52.24.147.87\/wp-content\/uploads\/2015\/06\/005_Android_SDK_New_Project_02-300x187.png\" alt=\"005_Android_SDK_New_Project_02\" width=\"300\" height=\"187\" srcset=\"http:\/\/www.stonemillkids.com\/wp-content\/uploads\/2015\/06\/005_Android_SDK_New_Project_02-300x187.png 300w, http:\/\/www.stonemillkids.com\/wp-content\/uploads\/2015\/06\/005_Android_SDK_New_Project_02-1024x638.png 1024w, http:\/\/www.stonemillkids.com\/wp-content\/uploads\/2015\/06\/005_Android_SDK_New_Project_02.png 1088w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p><img loading=\"lazy\" class=\"alignnone size-medium wp-image-393\" src=\"http:\/\/52.24.147.87\/wp-content\/uploads\/2015\/06\/008_Android_SDK_Project_Complete1-300x162.png\" alt=\"008_Android_SDK_Project_Complete\" width=\"300\" height=\"162\" srcset=\"http:\/\/www.stonemillkids.com\/wp-content\/uploads\/2015\/06\/008_Android_SDK_Project_Complete1-300x162.png 300w, http:\/\/www.stonemillkids.com\/wp-content\/uploads\/2015\/06\/008_Android_SDK_Project_Complete1-1024x554.png 1024w, http:\/\/www.stonemillkids.com\/wp-content\/uploads\/2015\/06\/008_Android_SDK_Project_Complete1.png 1346w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/p>\n<p>After the App launched, I went to the Tools-&gt;Android-&gt;SDK Manager and updated all of the libraries. and tried to launch the device. My S4 did not show up and, as I remembered, the emulator took so long, I thought the install was busted, before I remembered I had a phone to work with.<\/p>\n<p><strong>Back to the Phone:<\/strong><\/p>\n<p>I went back to the phone, plugged it into computer.\u00a0 I ended up waiting about two minutes for Windows to detect and\u00a0install enough of the drivers such that\u00a0the Windows Device Manager now\u00a0recognized this as a device.<\/p>\n<p>On the phone, I\u00a0then changed the following settings in the &#8220;Developer options&#8221;<\/p>\n<p style=\"padding-left: 30px;\">Stay Awake -&gt; (now checked) &#8211; this seems to be important because maybe the device falls asleep and\/or the debug does not work.<\/p>\n<p style=\"padding-left: 30px;\">USB Debugging -&gt; (still checked) &#8211;<\/p>\n<p>Hitting play on in the SDK, everything now works.<\/p>\n<p><a href=\"http:\/\/52.24.147.87\/wp-content\/uploads\/2015\/06\/009_Android_SDK_Complete_02.jpg\"><img loading=\"lazy\" class=\"alignnone size-medium wp-image-355\" src=\"http:\/\/52.24.147.87\/wp-content\/uploads\/2015\/06\/009_Android_SDK_Complete_02-300x169.jpg\" alt=\"009_Android_SDK_Complete_02\" width=\"300\" height=\"169\" srcset=\"http:\/\/www.stonemillkids.com\/wp-content\/uploads\/2015\/06\/009_Android_SDK_Complete_02-300x169.jpg 300w, http:\/\/www.stonemillkids.com\/wp-content\/uploads\/2015\/06\/009_Android_SDK_Complete_02-1024x576.jpg 1024w, http:\/\/www.stonemillkids.com\/wp-content\/uploads\/2015\/06\/009_Android_SDK_Complete_02.jpg 1280w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>The Tablet does not have a &#8220;Stay Awake&#8221; setting, and plugging it into the SKD just made it work (No screenshot. just imagine the abov one blown up to 10.1 inches and you get the idea).<\/p>\n<p>The Android Studio development environment is now up for both devices.<\/p>\n<p>&nbsp;<\/p>\n<p><a href=\"http:\/\/52.24.147.87\/wp-content\/uploads\/2015\/06\/001_libGDX_logo1.png\"><img loading=\"lazy\" class=\"alignnone size-medium wp-image-381\" src=\"http:\/\/52.24.147.87\/wp-content\/uploads\/2015\/06\/001_libGDX_logo1-300x50.png\" alt=\"001_libGDX_logo\" width=\"300\" height=\"50\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<p><strong>libGDX install<\/strong> &#8211; Lib GDX has matured very nicely.\u00a0 It currently uses Gradle\u00a0for Continuous integration.\u00a0 Which is awesome, as it is even\u00a0better than Maven.\u00a0\u00a0It also has a downloader that installs everything for you, so the see how that goes.<\/p>\n<p>&nbsp;<\/p>\n<p>The hardest part was to determine where the android SDK was installed. It ended up being in my user directory, see image below.<\/p>\n<p>To import to Intellij IDEA: File -&gt; Import -&gt; build.gradle<\/p>\n<p><a href=\"http:\/\/52.24.147.87\/wp-content\/uploads\/2015\/06\/010_libGDX_Setup_001.png\"><img loading=\"lazy\" class=\"alignnone size-medium wp-image-354\" src=\"http:\/\/52.24.147.87\/wp-content\/uploads\/2015\/06\/010_libGDX_Setup_001-258x300.png\" alt=\"010_libGDX_Setup_001\" width=\"258\" height=\"300\" srcset=\"http:\/\/www.stonemillkids.com\/wp-content\/uploads\/2015\/06\/010_libGDX_Setup_001-258x300.png 258w, http:\/\/www.stonemillkids.com\/wp-content\/uploads\/2015\/06\/010_libGDX_Setup_001.png 620w\" sizes=\"(max-width: 258px) 100vw, 258px\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<p>After hitting &#8220;Generate&#8221; it took approximately 4 minutes to say &#8220;Done!<\/p>\n<p>&nbsp;<\/p>\n<p><a href=\"http:\/\/52.24.147.87\/wp-content\/uploads\/2015\/06\/012_libGDX_Setup_0031.png\"><img loading=\"lazy\" class=\"alignnone size-medium wp-image-398\" src=\"http:\/\/52.24.147.87\/wp-content\/uploads\/2015\/06\/012_libGDX_Setup_0031-300x53.png\" alt=\"012_libGDX_Setup_003\" width=\"300\" height=\"53\" srcset=\"http:\/\/www.stonemillkids.com\/wp-content\/uploads\/2015\/06\/012_libGDX_Setup_0031-300x53.png 300w, http:\/\/www.stonemillkids.com\/wp-content\/uploads\/2015\/06\/012_libGDX_Setup_0031.png 548w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p>Now after waiting for the build, I hit the &#8220;Play&#8221; button, I had to wait again.<\/p>\n<p><a href=\"http:\/\/52.24.147.87\/wp-content\/uploads\/2015\/06\/014_libGDX_Andriod_021.png\"><img loading=\"lazy\" class=\"alignnone size-medium wp-image-400\" src=\"http:\/\/52.24.147.87\/wp-content\/uploads\/2015\/06\/014_libGDX_Andriod_021-300x160.png\" alt=\"014_libGDX_Andriod_02\" width=\"300\" height=\"160\" srcset=\"http:\/\/www.stonemillkids.com\/wp-content\/uploads\/2015\/06\/014_libGDX_Andriod_021-300x160.png 300w, http:\/\/www.stonemillkids.com\/wp-content\/uploads\/2015\/06\/014_libGDX_Andriod_021-1024x546.png 1024w, http:\/\/www.stonemillkids.com\/wp-content\/uploads\/2015\/06\/014_libGDX_Andriod_021.png 1366w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<p>Once the actual build was complete, I was able to choose my device to run the project on.<\/p>\n<p><a href=\"http:\/\/52.24.147.87\/wp-content\/uploads\/2015\/06\/015_libGDX_Antroid_031.png\"><img loading=\"lazy\" class=\"alignnone size-medium wp-image-401\" src=\"http:\/\/52.24.147.87\/wp-content\/uploads\/2015\/06\/015_libGDX_Antroid_031-300x166.png\" alt=\"015_libGDX_Antroid_03\" width=\"300\" height=\"166\" srcset=\"http:\/\/www.stonemillkids.com\/wp-content\/uploads\/2015\/06\/015_libGDX_Antroid_031-300x166.png 300w, http:\/\/www.stonemillkids.com\/wp-content\/uploads\/2015\/06\/015_libGDX_Antroid_031-1024x568.png 1024w, http:\/\/www.stonemillkids.com\/wp-content\/uploads\/2015\/06\/015_libGDX_Antroid_031.png 1279w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<h3>The default libGDX project shows on the Android device.\u00a0 No changes to the configuration were required.<\/h3>\n<p><a href=\"http:\/\/52.24.147.87\/wp-content\/uploads\/2015\/06\/016_libGDX_Android_Complete1.jpg\"><img loading=\"lazy\" class=\"alignnone size-medium wp-image-402\" src=\"http:\/\/52.24.147.87\/wp-content\/uploads\/2015\/06\/016_libGDX_Android_Complete1-300x169.jpg\" alt=\"016_libGDX_Android_Complete\" width=\"300\" height=\"169\" srcset=\"http:\/\/www.stonemillkids.com\/wp-content\/uploads\/2015\/06\/016_libGDX_Android_Complete1-300x169.jpg 300w, http:\/\/www.stonemillkids.com\/wp-content\/uploads\/2015\/06\/016_libGDX_Android_Complete1-1024x576.jpg 1024w, http:\/\/www.stonemillkids.com\/wp-content\/uploads\/2015\/06\/016_libGDX_Android_Complete1.jpg 1280w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<p>Here is a screenshot of the working run configuration for the android app:<\/p>\n<p><a href=\"http:\/\/52.24.147.87\/wp-content\/uploads\/2015\/06\/013_libGDX_Andriod_011.png\"><img loading=\"lazy\" class=\"alignnone size-medium wp-image-399\" src=\"http:\/\/52.24.147.87\/wp-content\/uploads\/2015\/06\/013_libGDX_Andriod_011-300x193.png\" alt=\"013_libGDX_Andriod_01\" width=\"300\" height=\"193\" srcset=\"http:\/\/www.stonemillkids.com\/wp-content\/uploads\/2015\/06\/013_libGDX_Andriod_011-300x193.png 300w, http:\/\/www.stonemillkids.com\/wp-content\/uploads\/2015\/06\/013_libGDX_Andriod_011-1024x660.png 1024w, http:\/\/www.stonemillkids.com\/wp-content\/uploads\/2015\/06\/013_libGDX_Andriod_011.png 1092w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<p>Almost Done&#8230;<\/p>\n<h3><strong>Desktop Configuration<\/strong><\/h3>\n<p>The only oddity to this configuration is the working directory needs to be the androidassets directory<\/p>\n<p><a href=\"http:\/\/52.24.147.87\/wp-content\/uploads\/2015\/06\/020_libGDX_Web_011.png\"><img loading=\"lazy\" class=\"alignnone size-medium wp-image-406\" src=\"http:\/\/52.24.147.87\/wp-content\/uploads\/2015\/06\/020_libGDX_Web_011-300x193.png\" alt=\"020_libGDX_Web_01\" width=\"300\" height=\"193\" srcset=\"http:\/\/www.stonemillkids.com\/wp-content\/uploads\/2015\/06\/020_libGDX_Web_011-300x193.png 300w, http:\/\/www.stonemillkids.com\/wp-content\/uploads\/2015\/06\/020_libGDX_Web_011-1024x660.png 1024w, http:\/\/www.stonemillkids.com\/wp-content\/uploads\/2015\/06\/020_libGDX_Web_011.png 1092w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p>Here is a screenshot of the working run configuration for the desktop app:<\/p>\n<p><a href=\"http:\/\/52.24.147.87\/wp-content\/uploads\/2015\/06\/017_libGDX_Desktop_011.png\"><img loading=\"lazy\" class=\"alignnone size-medium wp-image-403\" src=\"http:\/\/52.24.147.87\/wp-content\/uploads\/2015\/06\/017_libGDX_Desktop_011-300x193.png\" alt=\"017_libGDX_Desktop_01\" width=\"300\" height=\"193\" srcset=\"http:\/\/www.stonemillkids.com\/wp-content\/uploads\/2015\/06\/017_libGDX_Desktop_011-300x193.png 300w, http:\/\/www.stonemillkids.com\/wp-content\/uploads\/2015\/06\/017_libGDX_Desktop_011-1024x660.png 1024w, http:\/\/www.stonemillkids.com\/wp-content\/uploads\/2015\/06\/017_libGDX_Desktop_011.png 1092w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<h3><strong>i-OS Configuration<\/strong><\/h3>\n<p>Execution failed for task &#8216;:ios:launchIPhoneSimulator&#8217;.<br \/>\n&gt; java.io.IOException: Cannot run program &#8220;xcode-select&#8221;: CreateProcess error=2, The system cannot find the file specified<\/p>\n<p>googling turned up that I need to check the path in a terminal console<\/p>\n<p>C:StoneMillDevelopmentlibGDX_ProjectsShapes2android&gt;xcode-select &#8211;print-path<br \/>\n&#8216;xcode-select&#8217; is not recognized as an internal or external command,<br \/>\noperable program or batch file.<\/p>\n<p>More googling and I came to the realization that xcode-select is only available on a Mac.<\/p>\n<p>Additionally, with more googling, Apple required $99\/year\/platform <em>and\u00a0<\/em>Mac PC\/laptop is required.<\/p>\n<p>Thanks Apple! &#8211; I&#8217;ll take those three hours of my life back next time I see you.<\/p>\n<p>I am not sure if this configuration would work, but I thought I should at least document the end results of my two hours:<\/p>\n<p><a href=\"http:\/\/52.24.147.87\/wp-content\/uploads\/2015\/06\/019_libGDX_iOS_011.png\"><img loading=\"lazy\" class=\"alignnone size-medium wp-image-405\" src=\"http:\/\/52.24.147.87\/wp-content\/uploads\/2015\/06\/019_libGDX_iOS_011-300x193.png\" alt=\"019_libGDX_iOS_01\" width=\"300\" height=\"193\" srcset=\"http:\/\/www.stonemillkids.com\/wp-content\/uploads\/2015\/06\/019_libGDX_iOS_011-300x193.png 300w, http:\/\/www.stonemillkids.com\/wp-content\/uploads\/2015\/06\/019_libGDX_iOS_011-1024x660.png 1024w, http:\/\/www.stonemillkids.com\/wp-content\/uploads\/2015\/06\/019_libGDX_iOS_011.png 1092w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<h3>Web Configuration<\/h3>\n<p>One important note about the Web. It uses GWT, which stands for Google Web Toolkit.\u00a0 In my opinion, This is really not a very maintainable way to distribute professional code, but it works well if we get it for free here.\u00a0 The thought would be that we are really developing a Mobile App, and the Web is an interesting prototyping tool.\u00a0 For me personally, I am going to try to use this as way to let end users see the Applications that are still in development whiteout having to update App on Google Play or Apple&#8217;s App Store.<\/p>\n<p>A second note is that the configuration on the libGDX site tutorial mentions that this had to be done with the command line.\u00a0 Fortunately, that seems to have been fixed, so no command line is needed at this point.<\/p>\n<p>Here is a screenshot of the working run configuration for the web app:<\/p>\n<p><a href=\"http:\/\/52.24.147.87\/wp-content\/uploads\/2015\/06\/020_libGDX_Web_011.png\"><img loading=\"lazy\" class=\"alignnone size-medium wp-image-406\" src=\"http:\/\/52.24.147.87\/wp-content\/uploads\/2015\/06\/020_libGDX_Web_011-300x193.png\" alt=\"020_libGDX_Web_01\" width=\"300\" height=\"193\" srcset=\"http:\/\/www.stonemillkids.com\/wp-content\/uploads\/2015\/06\/020_libGDX_Web_011-300x193.png 300w, http:\/\/www.stonemillkids.com\/wp-content\/uploads\/2015\/06\/020_libGDX_Web_011-1024x660.png 1024w, http:\/\/www.stonemillkids.com\/wp-content\/uploads\/2015\/06\/020_libGDX_Web_011.png 1092w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<p>Once it is compiled, you can reach the admin page at:<\/p>\n<p>http:\/\/127.0.0.1:9876\/<\/p>\n<p>I actually liked going to the admin page first.\u00a0 Even if the war is deployed wrong, I expect this will still function.<\/p>\n<p>The actual application is located at:<\/p>\n<p>http:\/\/127.0.0.1:8080\/html\/<\/p>\n<p><a href=\"http:\/\/52.24.147.87\/wp-content\/uploads\/2015\/06\/022_libGDX_Web_031.png\"><img loading=\"lazy\" class=\"alignnone size-medium wp-image-408\" src=\"http:\/\/52.24.147.87\/wp-content\/uploads\/2015\/06\/022_libGDX_Web_031-300x253.png\" alt=\"022_libGDX_Web_03\" width=\"300\" height=\"253\" srcset=\"http:\/\/www.stonemillkids.com\/wp-content\/uploads\/2015\/06\/022_libGDX_Web_031-300x253.png 300w, http:\/\/www.stonemillkids.com\/wp-content\/uploads\/2015\/06\/022_libGDX_Web_031.png 625w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<p>I forgot the \/html\/ ending and wasted about 20 minutes trying to figure out what I did wrong.<\/p>\n<h3>Closing Remarks<\/h3>\n<p>Determining whyI was going to use libGDX was not very well documented in this post.\u00a0 The real reason for this is I really want to remain OS agnostic on my first App.\u00a0 Originally I thought libGDX would allow me to develop in\u00a0eclipse (which I know) and launch an iPhone App without owning a Mac.\u00a0 Both of those items, I have learned are poor assumptions today.<\/p>\n<p>The new Android Studio works great out of the box and took more time to download than to actually get a demo app running on the S4 and Tablet.<\/p>\n<p>It was also very cool that the Android Studio install also worked with\u00a0libGDX without any issues.<\/p>\n<p>I was annoyed that most of the\u00a0configurations\u00a0are saved\u00a0per user, so\u00a0my\u00a0choice of changing all of the default directories caused some delay.\u00a0 I am not sure how this will impact demo projects from libGDX, but I hope not too much.<\/p>\n<p>Also, many of the help sites I found had reasonable content, but were out\u00a0of date just enough that it took about twice as long for me to configure each item as I thought it might.\u00a0 This is true for the libGDX, Android Studio, and other sites that I found on similar topics.\u00a0 No one website actually matched the exact versions that I was looking to do, so there was a fair amount of trial and error, but it was not too cumbersome.<\/p>\n<p>The last item of note, is that Gradle seems to be incredibly powerful.\u00a0 Between the last time I downloaded and installed this set of software, I can say there have been a large number of significant improvements to the project&#8217;s respective configuration management.\u00a0 However, Gradle&#8217;s dynamic downloading dependencies from the web caused some of the compiles to take much, much, longer than I would have expected for a &#8220;hello world&#8221; application.<\/p>\n<p>Overall, this was a very productive exercise, and I did not have to do much rework.<\/p>\n<p>Now that I have a\u00a0basic development environment up, I&#8217;ll continue the next post with creating the basic functionality of the app.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>&nbsp; This post details how to setup a Mobile, Cross-Platform, App Development IDE in Windows. Now that the website is up, I want to create my first App.\u00a0 The full set of requirements for this project can be found here.\u00a0 If you have not read them already, it might be worth the read.\u00a0 However, most [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":421,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[20,9,15,12],"tags":[37,43,40,41],"_links":{"self":[{"href":"http:\/\/www.stonemillkids.com\/index.php\/wp-json\/wp\/v2\/posts\/117"}],"collection":[{"href":"http:\/\/www.stonemillkids.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.stonemillkids.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.stonemillkids.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.stonemillkids.com\/index.php\/wp-json\/wp\/v2\/comments?post=117"}],"version-history":[{"count":4,"href":"http:\/\/www.stonemillkids.com\/index.php\/wp-json\/wp\/v2\/posts\/117\/revisions"}],"predecessor-version":[{"id":809,"href":"http:\/\/www.stonemillkids.com\/index.php\/wp-json\/wp\/v2\/posts\/117\/revisions\/809"}],"wp:featuredmedia":[{"embeddable":true,"href":"http:\/\/www.stonemillkids.com\/index.php\/wp-json\/wp\/v2\/media\/421"}],"wp:attachment":[{"href":"http:\/\/www.stonemillkids.com\/index.php\/wp-json\/wp\/v2\/media?parent=117"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.stonemillkids.com\/index.php\/wp-json\/wp\/v2\/categories?post=117"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.stonemillkids.com\/index.php\/wp-json\/wp\/v2\/tags?post=117"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}