mrucci
mrucci

Reputation: 4470

Compile Android camera application for sdk 1.6

I am trying to compile and run the Android Camera for sdk 1.6 (also called API level 4 or Donut release).

While there is no minSdkVersion in the AndroidManifest, it clearly does not run on a donut device. In fact, if compiled with sdk 2.2 the camera will crash with a NoSuchMethodError execption on an avd or a G1 with sdk 1.6.

I tried also checking out the [donut-release] tag, but, strangely, it won't even compile giving many errors like:

[javac] /home/mrucci/camtest2/src/com/android/camera/ImageManager.java:41: cannot find symbol
[javac] symbol  : class DrmStore
[javac] location: package android.provider
[javac] import android.provider.DrmStore;
[javac]                         ^
[javac] /home/mrucci/camtest2/src/com/android/camera/Util.java:32: cannot find symbol
[javac] symbol  : class MediaMetadataRetriever
[javac] location: package android.media
[javac] import android.media.MediaMetadataRetriever;
[javac]                      ^
[javac] /home/mrucci/camtest2/src/com/android/camera/MenuHelper.java:29: cannot find symbol
[javac] symbol  : class ExifInterface
[javac] location: package android.media
[javac] import android.media.ExifInterface;
....
[javac]                      ^
[javac] /home/mrucci/camtest2/src/com/android/camera/ActionMenuButton.java:81: cannot find symbol
[javac] symbol  : variable mScrollX
[javac] location: class com.android.camera.ActionMenuButton
[javac]                           mScrollX + mRight - mLeft),
[javac]                           ^
[javac] /home/mrucci/camtest2/src/com/android/camera/ActionMenuButton.java:81: cannot find symbol
[javac] symbol  : variable mRight
[javac] location: class com.android.camera.ActionMenuButton
[javac]                           mScrollX + mRight - mLeft),

In particular, I really do not understand why ExifInterface is used in the "donut" tag when it has been introduced since API level 5. Am I missing something?

Upvotes: 0

Views: 1040

Answers (2)

iamdumb
iamdumb

Reputation: 11

Some of these classes are hidden from the sdk with the @hide annotation. So you can only build if you pull down and build all of aosp.

https://github.com/android/platform_frameworks_base/blob/donut-release/media/java/android/media/MediaMetadataRetriever.java

Upvotes: 1

QRohlf
QRohlf

Reputation: 2853

Are you trying to use the latest revision? It takes advantage of a whole bunch of new APIs and would be very difficult to get working on an API 4 levels below its target. The revision at here, however, should compile just fine.

Upvotes: 0

Related Questions