1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
|
page.title=Support
page.tags="preview", "developer preview"
page.image=images/cards/card-support_16-9_2x.png
@jd:body
<div class="cols" style=
"background-color:#ffebc3; padding: 5px 0;margin-bottom:1em; text-align:center;">
<h3>
Developer Preview 2 is now available
</h3>
<ul class="dac-section-links">
<li class="dac-section-link">
<a href="#preview2-notes">
<span class="dac-sprite dac-auto-chevron"></span>
Release notes</a>
</li>
<li class="dac-section-link">
<a href="#preview2-get">
<span class="dac-sprite dac-auto-chevron"></span>
Get the Update</a>
</li>
<li class="dac-section-link">
<a href="https://code.google.com/p/android-developer-preview/">
<span class="dac-sprite dac-auto-chevron"></span>
Report Issues</a>
</li>
</ul>
</div>
<p>
Two primary support channels are available to you when developing and testing
with the Android M Developer Preview. If you've encountered bugs or have
feedback about the M Developer Preview, you can <a href=
"https://code.google.com/p/android-developer-preview/">create an issue</a> on
our issue tracker. We'll triage the issue for further review and provide
updates as needed.
</p>
<p>
To discuss issues or ideas with other developers working with Android M, join
the <a href="http://g.co/dev/AndroidMDevPreview">M Developer Preview Google+
community</a>.
</p>
<h2 id="preview2-notes">
Developer Preview 2
</h2>
<div class="wrap">
<div class="cols">
<div class="col-5of12">
<p>
<em>Date: July 2015<br>
Build: MPZ79M<br>
Hardware support: Nexus 5,6,9, Player<br>
Emulator support: x86 & ARM 32/64-bit<br>
Google Play services: 7.6</em>
</p>
</div>
</div>
</div>
<p>
Android M Developer Preview 2 is an <strong>incremental update</strong> to
the Android M preview platform that was originally released in May 2015. The
update includes a variety of enhancements and bug fixes made across the
system, including those related to issues reported by developers through the
external issue tracker.
</p>
<p>
If you are currently developing or testing on Android M, you should
<strong>update your environment</strong> to Developer Preview 2 as soon as
possible. This ensures that you are building with the latest platform APIs
and testing against the latest behaviors. If you are just getting started
with the Android M Developer Preview SDK, follow the instructions in <a href=
"/preview/setup-sdk.html">Set up the Preview SDK</a>, then update your
environment for Developer Preview 2.
</p>
<h3>
What's included
</h3>
<p>
Developer Preview 2 includes an updated SDK with system images,
documentation, and samples for developing against the latest Android M
platform.
</p>
<ul>
<li>
<strong>SDK platform</strong> and <strong>system images</strong> (Nexus and
emulator) for building and testing. You can download the updated tools from
the SDK Manager, and the system images are available by over-the-air (OTA)
update or download (see below).
</li>
<li>
<strong>Updated documentation</strong>. The <a href=
"/preview/behavior-changes.html">Behavior Changes</a>, <a href=
"/preview/api-overview.html">API Overview</a>, and <a href=
"/preview/features/runtime-permissions.html">Permissions</a> documents have
been updated to reflect the latest changes in the platform. An updated
<a href="/preview/download.html">Developer Documentation download
package</a> is available, including full reference docs and API diff
reports.
</li>
<li>
<strong>Translations</strong> of the documentation are now available. Use
the language selector at the bottom right corner of any page to switch
languages. Note that some of the translated docs are not yet updated for
Developer Preview 2 (coming soon).
</li>
<li>The <a href="/preview/samples.html">Android M code samples</a> are also
updated to account for API and behavior changes:
<ul>
<li>
<a href=
"https://github.com/googlesamples/android-RuntimePermissions">RuntimePermissions</a>
/ <a href=
"https://github.com/googlesamples/android-RuntimePermissionsBasic">RuntimePermissionsBasic</a>
are updated to reflect latest permissions API changes, including
<code>shouldShowRequestPermissionRationale()</code>.
</li>
<li>
<a href=
"https://github.com/googlesamples/android-FingerprintDialog">FingerprintDialog</a>
adds a flow to ask for passwords when new fingerprints are added as
well as a preference if the app will use fingerprints as a method of
authentication.
</li>
</ul>
</li>
</ul>
<h3 id="changes">
Key changes
</h3>
<ul>
<li>Permissions changes
<ul>
<li>The <code>android.permission.USE_FINGERPRINT</code> permission now
has "normal" protection level, so it is no longer necessary to request
this permission directly from the user. The <code>USE_FINGERPRINT</code>
permission enables fingerprints to be enabled for authentication, but
does not give the requesting app access to the enrollment/fingerprint
administration flow.
</li>
<li>The <code>android.permission.WRITE_EXTERNAL_STORAGE</code> permission
has protection level "dangerous", meaning that apps wanting to write to
external storage will need to request permission from the user at
runtime. Both <code>WRITE_EXTERNAL_STORAGE</code> and
<code>WRITE_EXTERNAL_STORAGE</code> are members of the
<code>STORAGE</code> permission group.
</li>
<li>Remote Bluetooth/Wi-Fi MAC's now require either the
<code>android.permission.LOCATION_FINE</code> or
<code>android.permission.LOCATION_COURSE</code> permission.
</li>
<li>Some accounts and identity permissions are moved to
<code>CONTACTS</code> permissions group and others are removed or granted
based on account type. In particular,
<code>android.permission.USE_CREDENTIALS</code>,
<code>android.permission.MANAGE_ACCOUNTS</code>, and
<code>android.permission.AUTHENTICATE_ACCOUNTS</code> are ungrouped
pending further changes in a later release.
</li>
<li>The Wi-Fi permissions
<code>android.permission.CHANGE_WIFI_STATE</code>,
<code>android.permission.CHANGE_WIMAX_STATE</code>, and
<code>android.permission.CHANGE_WIFI_MULTICAST_STATE</code> now have
protection level "normal".
</li>
<li>The Bluetooth permissions <code>android.permission.BLUETOOTH</code>
and <code>android.permission.BLUETOOTH_ADMIN</code> now have protection
level "normal".
</li>
<li>Bookmarks and subscribed feeds permissions are removed.
</li>
<li>Apps included in the system image are no longer granted dangerous
permissions automatically. All apps should check for and request
permissions at runtime.
</li>
<li>Introduces the utility method
<code>Activity.shouldShowRequestPermissionRationale(String)</code>, which
lets your app see whether users have previously rejected a permission
request. This lets you know that your app should explain the the user why
it needs that permission. For more information see the <a href=
"/preview/features/runtime-permissions.html#explain-need">Permissions</a>
developer guide.
</li>
</ul>
</li>
<li>Other changes
<ul>
<li>The <code>android.app.AssistContent</code> and
<code>android.app.AssistStructure</code> classes are moved into a new
package, <code>android.app.assist</code>.
</li>
<li>Bluetooth Stylus APIs are updated and include new callback events.
The <code>View.OnStylusButtonPressListener</code> class is renamed to
<code>View.OnContextClickListener</code> and
<code>GestureDetector.OnStylusButtonPressListener</code> class to <code>
GestureDetector.OnContextClickListener</code>.
</li>
</ul>
</li>
</ul>
<p>
For a complete list of changes, including renamed and removed APIs, please
refer to the API Diff Reports included in the <a href=
"/preview/download.html#docs">Developer Documentation download package</a>.
</p>
<h3 id="ki">
Known issues
</h3>
<ul>
<li>General issues:
<ul>
<li>The system Messenger app crashes on the 64-bit emulator.</li>
<li>After updating to Developer Preview 2, Contacts sync experiences
intermittent issues. The workaround is to clear and re-sync Contact Storage
data after update. To clear data, go to <strong>Settings > Apps > Show
system > Contacts Storage</strong>. Select "Storage" and then
<strong>Clear data</strong>.</li>
<li>In YouTube app, it's not possible to share a video. The share window is
blank.</li>
<li>Android For Work Profile setup is not working properly, so you won't be
able to create a new Work Profile after you update. As a workaround, make
sure to create the Work Profiles you need in Developer Preview 1 before
updating to Developer Preview 2.
</li>
</ul>
</li>
<li>Issues specific to MPZ79N on Nexus Player:
<ul>
<li>Bluetooth share crashes after clearing data. Please <strong>do not
clear Bluetooth share data</strong>, otherwise you will need to Factory
Reset your device</li>
<li>There are issues with remote control connectivity. Remote can drop
from Bluetooth pairing when left idle. </li>
<li>Movies show black screen with some ANRs on exiting the video.</li>
<li>In YouTube app, lower-resolution videos have a green bar at the top
and some color-ghosting</li>
</li>
</ul>
</li>
</ul>
<p>
For a complete list of reported issues, please refer to the <a href=
"https://code.google.com/p/android/issues/list">open issues list</a> on the
Developer Preview <a href=
"https://code.google.com/p/android-developer-preview/">issue tracker</a>.
</p>
<h3 id="preview2-get">
Get Developer Preview 2
</h3>
<p>
You can download the Developer Preview 2 platform and emulator images from
the SDK Manager.
</p>
<p>
Developer Preview 2 system images for supported Nexus devices are available
by download and by over-the-air (OTA) update. The OTA update is available
only to supported devices that are currently running Developer Preview 1. If
your devices is running Developer Preview 1, you should automatically receive
the OTA update within a few days of availability.
</p>
<p>
If you are just getting started with Android M Developer Preview you want to
receive Developer Preview 2 by OTA, first download Developer Preview 1 and
flash it to your device. Leave the device powered on for several hours until
the device is registered and receives the update.
</p>
<p>
For instructions on how to download and flash your device to the Developer
Preview, see the links and instructions on the <a href=
"/preview/download.html">Downloads</a> page.
</p>
<p>
For instructions on how to start developing and testing with Android M, read
<a href="/preview/setup-sdk.html">Setting up the SDK</a>
</p>
<h2 id="preview1-notes">
Developer Preview 1
</h2>
<div class="wrap">
<div class="cols">
<div class="col-5of12">
<p>
<em>Date: May 2015<br>
Build: MPZ44Q<br>
Hardware support: Nexus 5,6,9, Player<br>
Emulator support: x86 & ARM (32/64-bit)<br>
Google Play services: 7.5</em>
</p>
</div>
</div>
</div>
<p>
Initial release.
</p>
|