Tag: Mobile

Programming Stuff

Switch to Android Studio 0.2.0 a little bumpy

Android Studio 0.2.0 update … encountering issues with both new AND existing projects.

I’m fortunate that  using the latest and (sometimes not so) greatest is actually my job. With that I’ve been able to heavily use Android Studio ever since it was first released. To my knowledge, I’ve installed and heavily used every public update since the release.

Everyone of those updates went pretty smooth … until this one.

The switch to Android Studio 0.2.0 has, by far, been the bumpiest upgrade yet. After installing it…

  • I can’t generate new projects
  • I can’t build existing projects.

Not much I can get done without being able to do one or the other. 🙂

The good news is that resolving these issues was pretty easy.

Can’t generate new projects

This issue appears to be specific to folks using Android Studio on Windows.

I initially let Android Studio handle the install as I had always done previously. Once the install completed, any attempt to create a new project resulted in the following error…

CantGenProjectBadDependencyMSg

Basically, the message indicates that Android Studio can’t find a dependency.

The solution turned out to be that a fresh install is requried ….

  1. I exited all instances of Android Studio
  2. I changed the name of the existing installation folder
    • The default installation folder is
      C:\Users\[user name]\AppData\Local\Android\android-studio
  3. I then downloaded and installed the latest Android Studio installer

And that took care of the problem

Can’t build existing projects

This turned out to be a two-fold problem for me.

The first issue has to do with a fairly well documented change that’s been made to Android Studio. They’ve changed to a new version of Gradle that’s not backward compatible. As a result an attempt to build a project that was created with a prior version of Android Studio shows the following error.

GradleBuildIssue

The fix is to change the version of Gradle that’s referenced in your project’s build.gradle file (located in top-level of project folder). If you click on the “Search in build.gradle files” link in the above dialog it’ll open the build.gradle file for you. Or you can just open the build.gradle file yourself. It’s quite small and easy to navigate.

To fix the problem simply change the line that reads

classpath ‘com.android.tools.build:gradle:0.4

to

classpath ‘com.android.tools.build:gradle:0.5.+’

This will cause Android Studio to use the required version of Gradle.

But trouble continues…

With that fix made, I would then get an error indicating

FAILURE:Could not determine which tasks to execute

The problem is related to extraneous entries that were added to the [ProjectName].iml file (in your project’s top-level folder) by earlier versions of Android Studio.

To fix the problem, exit Android Studio and open the [ProjectName].iml file in an editor and delete the entire component element with the name “FacetManager”.

This changes the file from…

<?xml version="1.0" encoding="UTF-8"?>
<module external.system.id="GRADLE" type="JAVA_MODULE" version="4">
  <!-- *** Remove From here *** -->
  <component name="FacetManager">
    <facet type="android-gradle" name="Android-Gradle">
      <configuration>
        <option name="GRADLE_PROJECT_PATH" value=":" />
      </configuration>
    </facet>
  </component>
  <!-- ***  To Here   *** -->
  <component name="NewModuleRootManager" inherit-compiler-output="true">
    <exclude-output />
    <content url="file://$MODULE_DIR$">
      <excludeFolder url="file://$MODULE_DIR$/.gradle" />
      <excludeFolder url="file://$MODULE_DIR$/build" />
    </content>
    <orderEntry type="inheritedJdk" />
    <orderEntry type="sourceFolder" forTests="false" />
  </component>
</module>

to

<?xml version="1.0" encoding="UTF-8"?>
<module external.system.id="GRADLE" type="JAVA_MODULE" version="4">
  <component name="NewModuleRootManager" inherit-compiler-output="true">
    <exclude-output />
    <content url="file://$MODULE_DIR$">
      <excludeFolder url="file://$MODULE_DIR$/.gradle" />
      <excludeFolder url="file://$MODULE_DIR$/build" />
    </content>
    <orderEntry type="inheritedJdk" />
    <orderEntry type="sourceFolder" forTests="false" />
  </component>
</module>

And with that … SUCCESS!!  … I’m now able to build the project without difficulty.

Wrap Up

So the cleanup isn’t too difficult but does require some work. If you’re encountering issues other than those I’ve mentioned above the Android Studio folks have posted a couple of helpful pages addressing a variety of issues

To Learn more about Android programming, checkout Jim’s courses at Pluralsight.

PSAndroid_216x155

Programming Stuff

Android “Master Key” Security Patch Check Available

Odds are that you’ve heard about the security hole that was found to exist in virtually all Android devices that would allow someone to take control of the device.

The good news is that Google has created a patch for the issue and sent it to OEMs. The challenge always comes down to the OEMs getting the patch distributed to our phones and, as always, that is taking time.

It turns out that we can all check to see if we have the patch installed thanks to Bluebox (the folks who discovered the problem) releasing a free app that will check your phone to see if you have the patch.

Although the app is not able to apply the patch because that’s up to the OEM of your device you can at least know where you stand and if you are so inclined start complaining to your carrier that you’d like them to work with the OEM and hurry to get it distributed.

Programming Stuff

Android Studio 0.1.9 Brings the New Resource Directory Dialog Back

If you’ve been working with the last few builds of Android Studio you know that the ability to create new resource directories was broken. The only work-around was a hacky process of going into some of the settings dialogs and creating the folder from there.

Well the 0.1.9 patch just came out and the New Resource Directory dialog is back (actually it came back in the short-lived 0.1.7 release from a few days ago).

NewResourceFolderDlg

I love the way that this is implemented because it takes care of all of that subtle folder naming that goes into resource specialization.

Android’s support for resource specialization is one of the real powers of the platform in my opinion but manually building those names can be easy to mess up. With this dialog you simply select the resource type, the qualifiers and then enter or select (depending on the qualifier) the value to qualify by.

This is a great feature and goes a long way to making one’s life simpler.

For more information on working with Android Studio, check out Jim’s latest course:

Apps with Android Studio

Programming Stuff

Android Studio Power Save Mode

Have you noticed a shortening of your laptop’s battery life when working with Android Studio?

Android Studio is a great tool and some of the great things it does require fairly substantial processing to occur in the background. Much of this processing is constantly firing  performing what are called Inspections.

To get a sense of the kind of background work that’s going on, choose Project Settings from the Android Studio menu and then highlight Inspections in the Project Settings pane.

Android Studio Inspection Settings

To save power we could go through and turn off some of these inspections so that less background processing occurs. These inspections are good stuff, though. I prefer to have these checks available. Fortunately, Android Studio doesn’t require us to make this choice.

Android Studio gives us the option of stopping the automatic checks and instead running them on demand. You can prevent these inspections from automatically running by selecting Project Power Save Mode in the Android Studio menu.

You can then run the checks manually by choosing Analyze \ Inspect Code… from the Android Studio menu.

With this, we get the benefit of Android Studio code inspection while still maximizing our laptop battery life.

For information on getting started developing Android applications or working with Android Studio, checkout Jim’s Android programming courses on Pluralsight including his latest course.

Android for .Net Developers Series - Getting Started

Programming Stuff

Android Studio 0.1.2 Is WAY more stable

The stability of the  initial preview release of Android Studio (version 0.1) was pretty impressive. Being built on a long-standing product like JetBrains Intellij IDEA gave it a great start.

That said, it did at times feel like a version 0 product … unexpected message boxes popping up, strange behavior in the feature that displays the string value where string resources are used (sometimes didn’t work .. sometimes showed the string value on a different line than where the resource appeared), those sort’a things.

About a week or so after the initial release Android Studio automatically updated to Android Studio 0.1.1 and there was some improvement but not a huge amount.

Well then yesterday, I received another update, Android Studio 0.1.2 (Build #AI-130.692269) … I’ve only been using it for less than 24 hours but so far this build feels MUCH MUCH better. It’s feeling much more stable.

AndroidStudioAbout_0.1.2

If you haven’t already done so, I encourage you to download Android Studio and start checking it out. I’m sure there will still be some issues but it’s improving quickly and IMHO is already so much better than using Eclipse that any minor annoyances are a small price to pay to have such a superior dev tool.

For information on getting started developing Android applications or working with Android Studio, checkout Jim’s Android programming courses on Pluralsight including his latest course

AndroidDotNetSeries_GettingStarted_Logo

Programming Stuff

Android Studio Dark Theme (Darcula)

After seeing those cool demos of Android Studio showing the neat-looking dark theme, the default theme that Android Studio downloads with can be a little disappointing.

If you haven’t seen it, here’s Android Studio set to the Darcula theme.

Android Studio Darcula Theme

To get the Darcula theme, first open the Android Studio Settings dialog

  1. Select File on the Android Studio menu
  2. Then select Settings

Once on the Settings screen just…

  1. Highlight Appearence
  2. Click on the Theme dropdown and select Darcula
  3. Click OK

Setting Darcula Theme

You’ll be prompted to restart Android Studio. Allow the restart and there you have it. The great look of Android Studio in Darcula.

Adapted from Jim’s Pluralsight course Android for .NET Developers: Getting Started

AndroidDotNetSeries_GettingStarted_Logo