使用弃用的API时,Android Studio无法编译

dan*_*c05 13 android intellij-idea deprecated gradle android-studio

我在Android Studio上编译和运行应用程序时遇到问题.

问题:我不喜欢我使用已弃用的API.(来自gradlew compileDebug --stacktrace.完整的堆栈跟踪在这里

Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
Run Code Online (Sandbox Code Playgroud)

的背景:

  • 我使用它使用PreferenceActivity onPreferenceTreeClickaddPreferencesFromResource(int),都不赞成的方法.
  • 我正在使用ABS和ViewPager库,它们似乎也在其代码中使用了弃用的方法.

问题:

  • 可以将运行配置编辑到一个扩展,尽管已弃用的API ,它仍可以成功编译吗?
  • 可以更改/编辑/修改哪些内容以使构建成功编译?

鉴于我计划支持pre-ICS设备和使用已弃用的APIS,不应该提出问题.

编辑

因此,命令提示符下的编译器表明构建成功,问题直接从Android Studio运行,构建过程失败:

FAILURE: Build failed with an exception.
Run Code Online (Sandbox Code Playgroud)

问题似乎是我不知道如何解决的问题,流行的是:

UNEXPECTED TOP-LEVEL EXCEPTION:
java.lang.IllegalArgumentException: already added: 
Run Code Online (Sandbox Code Playgroud)

这发生在三个不同的地方:

Landroid/support/v4/accessibilityservice/AccessibilityServiceInfoCompat$AccessibilityServiceInfoStubImpl;
Landroid/support/v4/app/ActivityCompatHoneycomb;
Landroid/support/v4/app/LoaderManager;
Run Code Online (Sandbox Code Playgroud)

以下是一些更多信息:Android Studio中的完整编译器输出

* What went wrong:
Execution failed for task ':LaPrensa:dexDebug'.
> Running C:\Users\SkullKandy\AppData\Local\Android\android-studio\sdk\build-tools\android-4.2.2\dx.bat failed. 
Run Code Online (Sandbox Code Playgroud)

Sil*_*orm 0

您只需将此代码添加到build.gradle(在 android 部分)

lintOptions {
    abortOnError false
}
Run Code Online (Sandbox Code Playgroud)