2013-07-22 2 views
0

Я использую простую условную проверку Build.Version.SDK_INT в методе onCreate моего приложения (код ниже), чтобы предотвратить включение строгого режима на любой ОС Android раньше, чем 2,3. До недавнего времени это было прекрасно работать, но после повторного джига моего проекта, я получаю следующее сообщение об ошибке:Проверка версии сборки не работает на Android 2.2 Froyo

Could not find class 'android.os.StrictMode$ThreadPolicy$Builder', referenced from method com.myPackage.MyApp.onCreate 

Я слышал, что зависимости класса пути были оценены и нагружать изменился по сравнению с статическим анализом класс для «ленивой загрузки» в Android 2.0, но поскольку я использую 2.2, я не думаю, что это игра. Я подозреваю, что в моей структуре проекта есть что-то другое, что вызывает эту ошибку, но я не понимаю, что это может быть.

Неужели кто-нибудь здесь имел подобный опыт и мог бы пролить свет на это? Любая помощь будет получена с благодарностью.

Заранее благодарим за вашу помощь!

Пожалуйста, смотрите мой код ниже для справки:

public class MyApp extends Application { 

    @Override 
    public void onCreate() { 
     // Set up strict mode 
     int buildInt = Build.VERSION.SDK_INT; 
     Log.d(LogTags.TRIGGER_CODE, String.format("Build is %d (%s)", buildInt, Build.VERSION.CODENAME)); 
     if (buildInt >= 9) { 
      StrictMode.setThreadPolicy(new ThreadPolicy.Builder() 
        .detectCustomSlowCalls() 
        .detectNetwork() 
        .build()); 
      StrictMode.setVmPolicy((new VmPolicy.Builder() 
        .detectAll() 
        .build())); 
     } 
     super.onCreate(); 
    } 
} 
+1

Это должно помочь вам: [StrictMode для более низких версий платформы] (http://stackoverflow.com/a/4623606/2558882) – Vikram

+0

Спасибо, это похоже на хорошее исправление, но поскольку я не поддерживаю pre 2.0, я бы предпочел выяснить, какие изменения вызвали эту ошибку, и устранить эту проблему. Я не хочу добавлять сложность для чего-то, что раньше работало, и, вероятно, имеет простое исправление. – sleeke

+0

Быстрое пояснение: Является ли это ошибкой во время компиляции или ошибкой на устройстве при попытке запустить приложение? Первоначально я думал о ошибке устройства, но это сообщение об ошибке больше похоже на ошибку компилятора. – JesusFreke

ответ

0

Это оказался лишь симптом другой проблемы в других местах в коде, слишком специфичны для проекта, стоит идти в здесь ...

Спасибо за мысли о первопричине здесь, и извините за «DOH» момент :)

 Смежные вопросы

  • Нет связанных вопросов^_^