Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Importing project gave Unable to resolve target 'android-7'

This app I completed around a year ago (!) but never launched it on the market place. I am trying to open it up in eclipse now to make some small modifications and work on the code a little bit. So I imported it and then found this weird "unable to resolve target" error. It's highlighting every class red in all my 'src' files.

I've looked at a similar question which said to add the line to default.properties file. My project has a project.properties file which has the line:

target=android-7

Any advice how to get this to work? I could always start a new project and just copy all the src files but that would be pretty lame and time-wasting.

One more comment - I'm developing on a new computer and I don't think I have the API level 7. Could that be the problem? I've gone into Window --> Android SDK Manager and the oldest available API it shows is level 8. But level 7 will mean I can target more devices I think so I'd like to go with that.

Thank you for any help.

like image 614
JDS Avatar asked Jun 30 '12 23:06

JDS


2 Answers

Well, yes that is your problem. You don't have the API level 7 downloaded. You can right click the project and go properties->android and select another available API. As long as you don't change the min sdk version in your manifest you are still targeting as many devices as before.

<uses-sdk android:minSdkVersion="7"/>

Update

You don't have to do this, but you can get the older APIs on the SDK Archives page

I don't know if there is any official source for the next statement but that is what I found while working. If anybody can complete this with a better answer I would appreciate it very much.

You can compile the code with a newer SDK version as long as you don't use any code not compatible to the previous ones.

Example:

I want my app to be available for API level 7. But i only have API level 15 installed. As long as I keep the minSdkVersion="7" in my Manifest and don't use any resource not available in the previous APIs the app will work just fine on my targeted devices.

like image 136
caiocpricci2 Avatar answered Sep 19 '22 06:09

caiocpricci2


For anyone who wants to test their project against an API level that isn't the most recent one, you can just use the SDK Manager to install the old SDK:

In Eclipse (with adt installed):

enter image description here

SDK Manager:

enter image description here

Just check the box of the SDK you want to use to test against your project and click install. You can also remove API's that you aren't using.

like image 24
John Avatar answered Sep 21 '22 06:09

John