I came across this error and lost two days trying to get it figured out so I thought I'd share the resolution.
I recently built a new build server and as usual, just installed the latest version of the Java JDK (which is now 7). The build seemed to work OK and there are no errors reported, however when attempting to install the APK, it fails and the logcat reports an error containing "has invalid digest".
I'm not exactly sure of the cause but is related to the way the APK is signed when running the JDK7.
Once I uninstalled JDK7 and installed JDK6, all was well.
Hambonious
Sharing what I learn on the path to mobility...
Thursday, August 18, 2011
Monday, July 25, 2011
Spotify - What's great and what's missing
I finally sank my teeth into the now US enabled Spotify music streaming service. My initial impression is that Spotify will soon make all other music services irrelevant especially with a few small tweaks.
Let's start with what they got right:
1) Access to basically any music any time you want.
2) The ability to subscribe to your friends play lists and even collaborate on play lists
3) The ability to directly recommend a song or album to a friend
4) How easy it is to find new music and listen to the full album right away
5) Synchronize everything between your mobile device and your desktop
What it's missing:
1) The ability to choose a song or artist and generate a smart playlist that will contain a variety of music like what you have chosen
2) The ability to pick a genre and listen to it as if it where a radio station
3) The ability to browse genres to find music
Some nice to haves:
1) Multilevel grouping of play lists
2) Some sort of conversation element between friends
3) "Subscribing" to an artist to be alerted of upcoming album releases and concerts in your area
If the missing items come to be, it will instantly render all other music services useless and irrelevant.
Let's start with what they got right:
1) Access to basically any music any time you want.
2) The ability to subscribe to your friends play lists and even collaborate on play lists
3) The ability to directly recommend a song or album to a friend
4) How easy it is to find new music and listen to the full album right away
5) Synchronize everything between your mobile device and your desktop
What it's missing:
1) The ability to choose a song or artist and generate a smart playlist that will contain a variety of music like what you have chosen
2) The ability to pick a genre and listen to it as if it where a radio station
3) The ability to browse genres to find music
Some nice to haves:
1) Multilevel grouping of play lists
2) Some sort of conversation element between friends
3) "Subscribing" to an artist to be alerted of upcoming album releases and concerts in your area
If the missing items come to be, it will instantly render all other music services useless and irrelevant.
Sunday, May 8, 2011
Building Android LVL Project - Error: Cannot compute package for file
Since my search for this error yielded zero results I'm creating this post to hopefully help some of you going forward.
If you get this error while you are trying to build an Android project with the Licensing library (LVL), all you need to do is exclude the 'aidl' folder from being built.
If you get this error while you are trying to build an Android project with the Licensing library (LVL), all you need to do is exclude the 'aidl' folder from being built.
Friday, September 10, 2010
MonoDroid "aresgen.exe" Error
I just installed the MonoDroid build 1.0.7931 Visual Studio plugin today and went to build my first Hello World app when I encountered the following error:
At first I wasn't sure what was wrong but after some toiling, realized that I had installed my android sdk in a non-standard location. So, if you encounter this same issue just move your sdk to "C:\android-sdk-windows" and all will be well.
Happy MonodDroid-ing
"aresgen.exe" exited with code -1
At first I wasn't sure what was wrong but after some toiling, realized that I had installed my android sdk in a non-standard location. So, if you encounter this same issue just move your sdk to "C:\android-sdk-windows" and all will be well.
Happy MonodDroid-ing
Tuesday, June 8, 2010
Customizing Android ListView Colors
Since I struggled through getting a ListView to have custom colors, I am going to share exactly what is needed so others can avoid the struggle.
Below are the details for the resources required to accomplish this. These resources will give your list items a white background with a highlighted color of blue and a clicked of green.
I've highlighted the key attributes in bold. These are the attributes that differ from your default list.
File: res/layout/main.xml
File: res/values/colors.xml
Related Links:
Resource Types
Color State List
Color
Below are the details for the resources required to accomplish this. These resources will give your list items a white background with a highlighted color of blue and a clicked of green.
I've highlighted the key attributes in bold. These are the attributes that differ from your default list.
File: res/layout/main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<ListView
android:id="@android:id/list"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:listSelector="@android:color/transparent"
/>
<TextView
android:id="@android:id/empty"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/empty"
/>
</LinearLayout>
File: res/layout/item.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="horizontal"
android:padding="10sp"
android:background="@drawable/item_selector">
<CheckBox
android:id="@+id/checkbox"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:focusable="false"
/>
<TextView
android:id="@+id/title"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:ellipsize="end"
android:singleLine="true"
android:textStyle="bold"
android:padding="7dip"
android:textSize="18sp"
android:layout_toRightOf="@id/checkbox"
android:textColor="@color/black"
/>
</RelativeLayout>File: res/drawable/item_selector.xml
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:state_pressed="true"
android:drawable="@color/green" />
<item
android:state_selected="true"
android:drawable="@color/blue" />
<item
android:drawable="@color/white" />
</selector>
File: res/values/colors.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="red">#ff00</color>
<color name="green">#f0f0</color>
<color name="blue">#f00f</color>
<color name="white">#ffff</color>
<color name="black">#f000</color>
</resources>
Resource Types
Color State List
Color
Thursday, June 3, 2010
Android Task Killer Apps Are A Disgrace
Stop using task killer apps people!
Using a task killer destablizes your device and the apps running on it. If you randomly kill your running apps and wonder why you see weird behavior on your device you should be beaten.
With the current powerhouse devices on the market, there is no need to free memory or whatever reason you give to doing this.
If using a task killer has helped you in some way, it's only because you have one or more apps that aren't configured well (ie, sync data very often) and/or is just poorly designed and should be uninstalled. Fix the cause, not the symptom.
I currently run without a task killer on a Droid Incredible using the Seido 1750 extended battery and get equal or better battery life then I did on my iPhone. After heavy use which includes an hour of listening to music, regular to heavy web browsing, downloading at least 5 apps, refreshing Google reader and twitter feeds many times, streaming a 5 minute flash video, and other normal activities I made it the entire day with over 40% of my battery left at the end. (If your aren't seeing this type of battery performance, see my previous post on fixing your battery problem)
Bottom line, please stop using these task killer apps and let the Android system do what it was intended to do. Otherwise you just give the Android platform a bad name.
Using a task killer destablizes your device and the apps running on it. If you randomly kill your running apps and wonder why you see weird behavior on your device you should be beaten.
With the current powerhouse devices on the market, there is no need to free memory or whatever reason you give to doing this.
If using a task killer has helped you in some way, it's only because you have one or more apps that aren't configured well (ie, sync data very often) and/or is just poorly designed and should be uninstalled. Fix the cause, not the symptom.
I currently run without a task killer on a Droid Incredible using the Seido 1750 extended battery and get equal or better battery life then I did on my iPhone. After heavy use which includes an hour of listening to music, regular to heavy web browsing, downloading at least 5 apps, refreshing Google reader and twitter feeds many times, streaming a 5 minute flash video, and other normal activities I made it the entire day with over 40% of my battery left at the end. (If your aren't seeing this type of battery performance, see my previous post on fixing your battery problem)
Bottom line, please stop using these task killer apps and let the Android system do what it was intended to do. Otherwise you just give the Android platform a bad name.
Wednesday, June 2, 2010
Android Battery Life Fix
To all my Android brethren out there I would like to share a fix for the battery life woes I have been experiencing. I got my HTC Incredible a few weeks back and have been struggling to get the battery life the way I think it should be.
It appears there is a software glitch that is preventing the battery from reaching a full charge. If you turn the phone off to charge, it bypasses this and actually charges the phone fully. What I usually do is charge it with the phone on overnight then turn the phone off in the morning while I get ready to make sure it reaches full charge. (I usually do two or three cycles to make sure) Hopefully Verizon/Google will issue an OTA update to fix this very soon!!
In addition to that you may also be able to squeeze a little extra life by turning off the Always On Mobile Data setting. It's very simple and you should see an slight improvement. Just go to the following setting and unceck the option. This setting appears to tell your phone to maintain a data connection all the time instead of only when it needs it.
Menu -> Settings -> Wireless & networks -> Mobile networks -> Enable always-on mobile data (turn this off)
Regardless of the tricks you use, if you are concerned with your battery life, I would immediately download both JuicePlotter and SpareParts. These apps will help you identify the activities and apps that are draining your battery life so you can tune it to fit your lifestyle.
Happy Androiding.
It appears there is a software glitch that is preventing the battery from reaching a full charge. If you turn the phone off to charge, it bypasses this and actually charges the phone fully. What I usually do is charge it with the phone on overnight then turn the phone off in the morning while I get ready to make sure it reaches full charge. (I usually do two or three cycles to make sure) Hopefully Verizon/Google will issue an OTA update to fix this very soon!!
In addition to that you may also be able to squeeze a little extra life by turning off the Always On Mobile Data setting. It's very simple and you should see an slight improvement. Just go to the following setting and unceck the option. This setting appears to tell your phone to maintain a data connection all the time instead of only when it needs it.
Menu -> Settings -> Wireless & networks -> Mobile networks -> Enable always-on mobile data (turn this off)
Regardless of the tricks you use, if you are concerned with your battery life, I would immediately download both JuicePlotter and SpareParts. These apps will help you identify the activities and apps that are draining your battery life so you can tune it to fit your lifestyle.
Happy Androiding.
Tuesday, March 16, 2010
Setting up the ADT in Windows 7
When I set up the Android Development Toolkit in Eclipse running on Windows 7, I ran into an issue installing the platform packages. Luckily I knew why it didn't work but anyone new to the stricter Windows 7 security settings may be at a loss.
So, if you run into issues installing the platform packages it is because you are probably installing them to a folder with higher security settings and therefore need to run Eclipse as an administrator for this to work.
One way to do this permanently is to go to the properties of the eclipse shortcut you are running and in the compatibility tab check the box to always run as administrator. Unfortunately you will always be prompted by windows when starting up. (I believe there is a way to turn this off as well)
NOTE: If your Workspace folder is located in your user folder, you will have to set everything back up under the administrator user.
So, if you run into issues installing the platform packages it is because you are probably installing them to a folder with higher security settings and therefore need to run Eclipse as an administrator for this to work.
One way to do this permanently is to go to the properties of the eclipse shortcut you are running and in the compatibility tab check the box to always run as administrator. Unfortunately you will always be prompted by windows when starting up. (I believe there is a way to turn this off as well)
NOTE: If your Workspace folder is located in your user folder, you will have to set everything back up under the administrator user.
Thursday, February 18, 2010
Creating AVD's
As promised I am updating you on things I learned during my initial setup of the Android environment.
So the first time around I was following the Google documentation and created an AVD using the terminal and while I appreciate the power of command lines, I am a sucker for GUI's. Thankfully I have discovered that you can create and manage AVD's inside of Eclipse by going to: Window -> Android SDK and AVD Manager.
So the first time around I was following the Google documentation and created an AVD using the terminal and while I appreciate the power of command lines, I am a sucker for GUI's. Thankfully I have discovered that you can create and manage AVD's inside of Eclipse by going to: Window -> Android SDK and AVD Manager.
NOTE: When attempting to create a new AVD, if you are expecting to see available Targets but don't, it means you have not yet installed the SDK Platform Packages. To do this, select the Available Packages on the left and then check the top level node in the window on the right to get all the available packages and then select Install Selected.
To make sure I'm covered with testing, I went ahead and created AVD's for each target (ex: Android2.1, Android1.6, ...) with a 64MB SD Card on them.
Subscribe to:
Posts (Atom)