<html devsite><head>
    <title>Бюллетени по безопасности Android за 2015 г.</title>
    <meta name="project_path" value="/_project.yaml"/>
    <meta name="book_path" value="/_book.yaml"/>
  </head>
  <body>
  <!--
      Copyright 2017 The Android Open Source Project

      Licensed under the Apache License, Version 2.0 (the "License");
      you may not use this file except in compliance with the License.
      You may obtain a copy of the License at

          http://www.apache.org/licenses/LICENSE-2.0

      Unless required by applicable law or agreed to in writing, software
      distributed under the License is distributed on an "AS IS" BASIS,
      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
      See the License for the specific language governing permissions and
      limitations under the License.
  -->

<p>Здесь собраны бюллетени по безопасности Android за 2015 год. Раньше они назывались "бюллетени по безопасности Nexus". Полный список бюллетеней вы найдете на <a href="index.html">главной странице</a>.</p>

<table>
  <colgroup><col width="15%" />
  <col width="49%" />
  <col width="17%" />
  <col width="19%" />
 </colgroup><tbody><tr>
    <th>Бюллетень</th>
    <th>Язык</th>
    <th>Дата публикации</th>
    <th>Обновление системы безопасности</th>
 </tr>
 <tr>
    <td><a href="/security/bulletin/2015-12-01.html">Декабрь 2015 г.</a></td>
    <td>
      <a href="/security/bulletin/2015-12-01.html">English</a> /
<a href="/security/bulletin/2015-12-01.html?hl=ja">日本語</a> /
<a href="/security/bulletin/2015-12-01.html?hl=ko">한국어</a> /
<a href="/security/bulletin/2015-12-01.html?hl=ru">русский</a> /
<a href="/security/bulletin/2015-12-01.html?hl=zh-cn">中文 (中国)</a> /
<a href="/security/bulletin/2015-12-01.html?hl=zh-tw">中文 (台灣)</a>
    </td>
    <td>7 декабря 2015 г.</td>
    <td>2015-12-01</td>
</tr>
<tr>
    <td><a href="/security/bulletin/2015-11-01.html">Ноябрь 2015 г.</a></td>
    <td>
      <a href="/security/bulletin/2015-11-01.html">English</a> /
<a href="/security/bulletin/2015-11-01.html?hl=ja">日本語</a> /
<a href="/security/bulletin/2015-11-01.html?hl=ko">한국어</a> /
<a href="/security/bulletin/2015-11-01.html?hl=ru">русский</a> /
<a href="/security/bulletin/2015-11-01.html?hl=zh-cn">中文 (中国)</a> /
<a href="/security/bulletin/2015-11-01.html?hl=zh-tw">中文 (台灣)</a>
    </td>
    <td>2 ноября 2015 г.</td>
    <td>2015-11-01</td>
 </tr>
 <tr>
    <td><a href="/security/bulletin/2015-10-01.html">Октябрь 2015 г.</a></td>
    <td>
      <a href="/security/bulletin/2015-10-01.html">English</a> /
<a href="/security/bulletin/2015-10-01.html?hl=ja">日本語</a> /
<a href="/security/bulletin/2015-10-01.html?hl=ko">한국어</a> /
<a href="/security/bulletin/2015-10-01.html?hl=ru">русский</a> /
<a href="/security/bulletin/2015-10-01.html?hl=zh-cn">中文 (中国)</a> /
<a href="/security/bulletin/2015-10-01.html?hl=zh-tw">中文 (台灣)</a>
    </td>
    <td>5 октября 2015 г.</td>
    <td>2015-10-01</td>
 </tr>
 <tr>
    <td><a href="/security/bulletin/2015-09-01.html">Сентябрь 2015 г.</a></td>
    <td>
      <a href="/security/bulletin/2015-09-01.html">English</a> /
<a href="/security/bulletin/2015-09-01.html?hl=ja">日本語</a> /
<a href="/security/bulletin/2015-09-01.html?hl=ko">한국어</a> /
<a href="/security/bulletin/2015-09-01.html?hl=ru">русский</a> /
<a href="/security/bulletin/2015-09-01.html?hl=zh-cn">中文 (中国)</a> /
<a href="/security/bulletin/2015-09-01.html?hl=zh-tw">中文 (台灣)</a>
    </td>
    <td>9 сентября 2015 г.</td>
    <td>Нет данных</td>
 </tr>
 <tr>
    <td><a href="/security/bulletin/2015-08-01.html">Август 2015 г.</a></td>
    <td>
      <a href="/security/bulletin/2015-08-01.html">English</a> /
<a href="/security/bulletin/2015-08-01.html?hl=ja">日本語</a> /
<a href="/security/bulletin/2015-08-01.html?hl=ko">한국어</a> /
<a href="/security/bulletin/2015-08-01.html?hl=ru">русский</a> /
<a href="/security/bulletin/2015-08-01.html?hl=zh-cn">中文 (中国)</a> /
<a href="/security/bulletin/2015-08-01.html?hl=zh-tw">中文 (台灣)</a>
    </td>
    <td>13 августа 2015 г.</td>
    <td>Нет данных</td>
 </tr>
</tbody></table>

</body></html>