buildToolsVersion 23.0.1的一些问题

Nar*_*aki 3 sdk android build-tools gradle android-gradle-plugin

我的项目build.gradle是:

...
compileSdkVersion 21
buildToolsVersion "22.0.1"
...
Run Code Online (Sandbox Code Playgroud)

所有的事情都没关系,但是当我把它改成最新的compileSdkVersion 23buildToolsVersion "23.0.1"一些类如:

Browser.BookmarkColumns  cannot resolve "BookmarkColumns"
Run Code Online (Sandbox Code Playgroud)

要么

notification.setLatestEventInfo(..) cannot resolve "setLatestEventInfo"
Run Code Online (Sandbox Code Playgroud)

和...
这最后一个构建工具版本有什么问题,我该如何解决?

小智 11

已经在api 23中删除了Browser.BookmarkColumns,正如marcinj已经说过的那样
(请参阅http://developer.android.com/sdk/api_diff/23/changes/pkg_android.provider.html)
您可以定义自己的BookmarkColumns对象:

public static class BookmarkColumns implements BaseColumns {
    public static final String URL = "url";
    public static final String VISITS = "visits";
    public static final String DATE = "date";
    public static final String BOOKMARK = "bookmark";
    public static final String TITLE = "title";
    public static final String CREATED = "created";
    public static final String FAVICON = "favicon";

    public static final String THUMBNAIL = "thumbnail";

    public static final String TOUCH_ICON = "touch_icon";

    public static final String USER_ENTERED = "user_entered";
}
Run Code Online (Sandbox Code Playgroud)

您还可以定义BOOKMARKS_URI,它也缺失:

public static final Uri BOOKMARKS_URI =
        Uri.parse("content://browser/bookmarks");
Run Code Online (Sandbox Code Playgroud)

这将适用于较低级别的api,因为它们实际上是辅助对象.但是,在api 23上,你可能会有书签的其他问题,因为其他的东西也发生了变化(权限等).