Вероятно, простой вопрос, но я разработал приложение, которое всегда использует цель сборки 1.5 без проблем.Однако теперь я добавляю TextToSpeech, который был представлен в 1.6.Я создал обертку TextToSpeech, которая инкапсулирует код TextToSpeech, и у меня есть проверки в действии, чтобы при его запуске он работал только на устройствах 1.6 и выше.Но хитрость заключается в том, чтобы заставить код работать в Eclipse с целью сборки 1,5.Конечно, когда я пытаюсь сделать это, я получаю следующие ошибки, связанные с моим классом-оберткой TextToSpeech:
«TextToSpeech не может быть разрешен».
Я поиграл с экспортом в виде jarсоздание проекта библиотеки и т. д., но я не могу заставить их работать.Для библиотечного проекта говорится, что зависимые проекты должны иметь одинаковый или более высокий уровень API, чтобы он не работал.Некоторые соответствующие выдержки из кода:
AndroidManifest.xml
<uses-sdk
android:minSdkVersion="3"
android:targetSdkVersion="8"
/>
класс активности
static {
try {
TextToSpeechWrapper.checkAvailable();
androidTextToSpeechAvailable = true;
} catch (Throwable t) {
androidTextToSpeechAvailable = false;
}
}
класс оболочки
import java.util.HashMap;
import java.util.Locale;
import android.content.Context;
import android.speech.tts.TextToSpeech;
/*
* A wrapper class for the newer Android text-to-speech library that is only found in
* Android OS 1.6 and above (Donut and above). This is useful so that the app can
* be loaded on pre-Donut devices without breaking the app.
*/
public class TextToSpeechWrapper {
private TextToSpeech mTextToSpeech;
// class initialization fails when this throws an exception
static {
try {
Class.forName("android.speech.tts.TextToSpeech");
} catch (Exception e) {
throw new RuntimeException(e);
}
}
// Some static vars from the text-to-speech class
public static int SUCCESS = TextToSpeech.SUCCESS;
public static int QUEUE_FLUSH = TextToSpeech.QUEUE_FLUSH; <--- Eclipse errors point here cause it does not exist in 1.5.
Так что мой вопрос: каксделать так, чтобы проект снова использовал цель сборки 1,5 с эмулятором, чтобы я мог тестировать и чувствовать себя уверенно, что мое приложение все еще работает для 1,5 и выше?