今天,似乎Android Nougat已经发布.因此,我比以往任何时候都更兴奋地为分屏等新功能优化我的应用程序.我想推送一个针对SDK版本的应用程序版本,24
这样就不会通知用户我的应用程序可能无法在分屏中运行.但是,这样做意味着我还应该更新到24
支持库的版本.与许多其他人一样,我在更新到23.2.0
支持库版本时遇到了问题.但是,我按照这个答案解决了我的问题.现在问题是从版本24.0.0
和支持库的版本开始返回.在我的所有测试中,我使用链接答案中描述的gradle标志:
vectorDrawables.useSupportLibrary = true
Run Code Online (Sandbox Code Playgroud)
同样重要的是要注意,这只发生在前Lolliop设备(Kitkat及以下)上.棒棒糖和向上工作完美.使用以下依赖项时,该标志正常工作:
compile 'com.android.support:support-v4:23.4.0'
compile 'com.android.support:appcompat-v7:23.4.0'
compile 'com.android.support:design:23.4.0'
compile 'com.android.support:cardview-v7:23.4.0'
Run Code Online (Sandbox Code Playgroud)
但是在使用这些依赖项时,我遇到的崩溃类似于使用该标志之前的崩溃:
compile 'com.android.support:support-v4:24.2.0'
compile 'com.android.support:appcompat-v7:24.2.0'
compile 'com.android.support:design:24.2.0'
compile 'com.android.support:cardview-v7:24.2.0'
Run Code Online (Sandbox Code Playgroud)
这是崩溃的堆栈跟踪:
FATAL EXCEPTION: main
Process: com.badon.brigham.time, PID: 2070
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.badon.brigham.time/com.badon.brigham.time.MainActivity}: android.content.res.Resources$NotFoundException: File res/drawable/abc_vector_test.xml from drawable resource ID #0x7f02004f
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2195)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2245)
at android.app.ActivityThread.access$800(ActivityThread.java:135)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1196)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:136)
at android.app.ActivityThread.main(ActivityThread.java:5017)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595) …
Run Code Online (Sandbox Code Playgroud) android android-support-library android-gradle-plugin android-support-design