I'm currently trying to modify Android 2.2 froyo Home app. To begin, I must get the original, compile it and deploy it.
I think that this app is called Launcher2.
I started by getting it:
git clone git://android.git.kernel.org/platform/packages/apps/Launcher2.git
The available tags:
$ git tag
android-2.0.1_r1
android-2.0_r1
android-2.1_r1
android-2.1_r2
android-2.1_r2.1p
android-2.1_r2.1p2
android-2.1_r2.1s
android-2.2.1_r1
android-2.2.1_r2
android-2.2.2_r1
android-2.2_r1
android-2.2_r1.1
android-2.2_r1.2
android-2.2_r1.3
android-2.3.1_r1
android-2.3.2_r1
android-2.3.3_r1
android-2.3.3_r1.1
android-2.3.3_r1a
android-2.3.4_r0.9
android-2.3.4_r1
android-2.3.5_r1
android-2.3_r1
android-adt-0.9.8
android-adt-0.9.9
android-cts-2.1_r2
android-cts-2.1_r3
android-cts-2.1_r4
android-cts-2.1_r5
android-cts-2.2_r1
android-cts-2.2_r2
android-cts-2.2_r3
android-cts-2.2_r4
android-cts-2.2_r5
android-cts-2.2_r6
android-cts-2.2_r7
android-cts-2.3_r1
android-cts-2.3_r2
android-cts-2.3_r3
android-cts-2.3_r4
android-cts-2.3_r5
android-sdk-2.0.1-docs_r1
android-sdk-2.0.1_r1
android-sdk-2.0_r1
android-sdk-2.1_r1
android-sdk-2.2_r1
android-sdk-2.2_r2
android-sdk-2.3.4_r1
android-sdk-adt_r12
android-sdk-tools_r12
android-sdk-tools_r3
android-sdk-tools_r4
android-sdk-tools_r5
android-sdk-tools_r6
android-sdk-tools_r7
I switched to android-2.2_r1:
$ git checkout android-2.2_r1
Note: checking out 'android-2.2_r1'.
You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by performing another checkout.
If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -b with the checkout command again. Example:
git checkout -b new_branch_name
HEAD is now at 279302e... Merge branch 'froyo' into froyo-release
Now, if I try to building the code using Eclipse I get lots of erros. One that got my attention was that this Launcher2 is using the "android.renderscript" that is only available since Api level 11 (renderscript reference) - Froyo is Api level 8.
$ grep -R renderscript *
src/com/android/launcher2/AllApps3D.java:import android.renderscript.Allocation;
src/com/android/launcher2/AllApps3D.java:import android.renderscript.Element;
src/com/android/launcher2/AllApps3D.java:import android.renderscript.ProgramFragment;
src/com/android/launcher2/AllApps3D.java:import android.renderscript.ProgramStore;
src/com/android/launcher2/AllApps3D.java:import android.renderscript.ProgramVertex;
src/com/android/launcher2/AllApps3D.java:import android.renderscript.RSSurfaceView;
src/com/android/launcher2/AllApps3D.java:import android.renderscript.RenderScriptGL;
src/com/android/launcher2/AllApps3D.java:import android.renderscript.RenderScript;
src/com/android/launcher2/AllApps3D.java:import android.renderscript.Sampler;
src/com/android/launcher2/AllApps3D.java:import android.renderscript.Script;
src/com/android/launcher2/AllApps3D.java:import android.renderscript.ScriptC;
src/com/android/launcher2/AllApps3D.java:import android.renderscript.SimpleMesh;
src/com/android/launcher2/AllApps3D.java:import android.renderscript.Type;
I guess that my checkout must have something wrong. From Api-Levels, I guess that the version I checkeout must be for Android 3.0!
Any help solving this would be great!
Actually, RenderScript is present in 2.2 (the Google live wallpapers use it, and apparently the home app as well), it's just not public (so it's not part of the SDK -- it can only be used by internal apps).
They do this with a lot of apps. For example, I once tried to build the Music app from the AOSP and failed with a similar issue (I was missing some package that was not in the SDK but was in the source). I didn't have the time to figure it out so I stopped there.
However, I have a couple of suggestions for you: