Finally we're releasing our first app on Android Market. The app is actually a new type of game that is using the accelerometer in an exiting way. The game is really easy, all you have to do is to throw your phone up in the air as high as you dare. As mentioned we're using the accelerometer and also some secret algorithms to calculate how high a user can throw. We are also using an SQLLite database to store the highscores on the phone and a server with a SQL database to store global highscores.


During development we accidently crashed the sensors on one phone, but considering how many throws we've done, that's ok. Included in the game is four different highscores, Phone, National, Global and also a global hisghscore based on your phone model. 
Right now the Android Team record is 8.5m high! Do you dare try to beat us?!
The name of the game is SkyIsTheLimit and can be downloaded on android market. Search for "skyisthelimit". Or use the QR code with a barscanner:















Some screenshots:

globalHighscore  


































/Henrik and Tommy
 

Monday, June 21, 2010

Using the local_manifest.xml file in repo to customize your Android project setup

 
This post will discuss how to use repo and the local_manifest.xml file to keep track of projects that are not part of the default manifest for the Android open source project. This can be used to keep track of some projects that are maintained by the Android team but are not included in the default distribution. It can also be used to include other git-based projects within your android platform source tree. Adding a local manifest file is a good way to set up a personalized environment to work with Android for hacking or in a small team. Any additions to Android can be kept in separate git repositories and tracked using the local manifest. For commercial level projects it may be better to run your own repo server and edit the manifest directly to make sure that it is version controlled and that all developers see the same projects. We may get back to that topic in a separate blog post.

Now let's take a look at the practical details. The format of the local manifest file follows the standard manifest format described in the manifest-format.txt file under .repo/repo/docs in the Android Open Source project. To create a local manifest add a file with the name local_manifest.xml and place it directly in the .repo folder of your Android Open Source Project. It will be parsed by repo as part of a normal repo sync.

I keep a project on machine to track the latest development in the Android platform. It is setup to track the current master branch in the default configuration. Since I often work with hardware as well I am also interested in developments in the kernel. Currently there are a number of different kernel trees being run as part of android. None of them are part of the default manifest. In my setup I want to track the common kernel but also see what is going on with hardware support for Qualcomm (msm) and TI (omap) platforms. These are all maintained by the android team and I can use the default remote site to get them. I need however to inform repo about what branch I want to track by adding the revision tag. For each project add a tag like this:
<project path="kernel"
      name="kernel/common"
      remote="korg"
      revision="android-goldfish-2.6.29"/>

Another thing I also find myself using is Busybox and since I set it up the build config and do some adaptations when using it with Android I like to track the source for that as well within my Android tree. This can easily be achieved in the local manifest by adding a new remote site for Busybox and then adding the project itself like this:
<remote  name="busybox"
           fetch="git://git.busybox.net/"/>
<project path="busybox"
      name="busybox"
             remote="busybox"/>
To sum things up this means that each time I do a repo sync I will get the latest version of the Android Open source project and also updated repositories for the three different kernel trees that I track and an updated busybox source. All in all my local_manifest file looks like this:
<?xml version="1.0" encoding="UTF-8"?>
  <manifest>

    <remote  name="busybox"
           fetch="git://git.busybox.net/"/>

    <project path="kernel"
      name="kernel/common"
      remote="korg"
      revision="android-goldfish-2.6.29"/>
    <project path="kernel_msm"
      name="kernel/msm"
      remote="korg"
             revision="android-msm-2.6.32"/>
    <project path="kernel_omap"
      name="kernel/omap"
      remote="korg"
             revision="android-omap-2.6.32"/>
    <project path="busybox"
      name="busybox"
             remote="busybox"/>
  </manifest>
arrow
arrow
    全站熱搜

    戮克 發表在 痞客邦 留言(0) 人氣()