构建版本检查不适用于Android 2.2 Froyo

时间:2013-07-22 21:21:00

标签: android dalvik android-2.2-froyo android-strictmode

我在我的应用程序的onCreate方法(下面的代码)中对Build.Version.SDK_INT使用简单的条件检查,以防止在早于2.3的任何Android操作系统上启用严格模式。直到最近,这一切都运行良好,但在重新开始我的项目后,我收到以下错误:

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 个答案:

答案 0 :(得分:0)

这只是代码中其他问题的一个症状,对于值得进入这个项目来说太具体了......

感谢关于根本原因的想法,并抱歉'doh'时刻:)