aboutsummaryrefslogtreecommitdiff
path: root/en
diff options
context:
space:
mode:
authorAndroid Partner Docs <noreply@android.com>2018-07-30 13:18:19 -0700
committerClay Murphy <claym@google.com>2018-07-31 00:32:50 -0700
commit7076e3d268f60260cd12f0891e0817b6e51b2ede (patch)
tree11e608aaeb60bb5ee3737cab704fbd239a31856f /en
parent575c9332cbd2b943cd287e81970d533a42a53cb4 (diff)
downloadsource.android.com-7076e3d268f60260cd12f0891e0817b6e51b2ede.tar.gz
Docs: Changes to source.android.com
- 206634774 Fix the the typo by Danielle Roberts <daroberts@google.com> - 206631277 Cloned from CL 206063702 by 'g4 patch'. by Android Partner Docs <noreply@android.com> - 206601799 Devsite localized content from translation request 959539. by Android Partner Docs <noreply@android.com> - 206372799 Removing link to Amazon search results for Hikey 960 board by Heidi von Markham <hvm@google.com> - 206195220 Add descriptions for the userdebug and eng build, and add... by Christina Nguyen <cqn@google.com> - 206182120 Updating link for Amazon Hikey960 board by Heidi von Markham <hvm@google.com> - 206055823 Update list view image by Kenneth Lau <kennethlau@google.com> - 206043905 Devsite localized content from translation request 953120. by Android Partner Docs <noreply@android.com> - 206017492 Devsite localized content from translation request 956349. by Android Partner Docs <noreply@android.com> - 205941731 Devsite localized content from translation request 956391. by Android Partner Docs <noreply@android.com> PiperOrigin-RevId: 206634774 Change-Id: I2960075d48d06acb2accb3663399f02f0706b734
Diffstat (limited to 'en')
-rw-r--r--en/devices/_toc-tech.yaml10
-rw-r--r--en/devices/architecture/vintf/index.html2
-rw-r--r--en/devices/tech/config/update.html227
-rw-r--r--en/devices/tech/settings/images/settings-guidelines06.pngbin88777 -> 88179 bytes
-rw-r--r--en/setup/build/building.html56
-rw-r--r--en/setup/build/devices.html5
-rw-r--r--en/setup/develop/new-device.html24
7 files changed, 296 insertions, 28 deletions
diff --git a/en/devices/_toc-tech.yaml b/en/devices/_toc-tech.yaml
index 632c6778..211a990e 100644
--- a/en/devices/_toc-tech.yaml
+++ b/en/devices/_toc-tech.yaml
@@ -28,7 +28,13 @@ toc:
- title: Ambient Capabilities
path: /devices/tech/config/ambient
- title: Carrier Customization
- path: /devices/tech/config/carrier
+ section:
+ - title: Carrier Configuration
+ path: /devices/tech/config/carrier
+ - title: APN and CarrierConfig
+ path: /devices/tech/config/update
+ - title: UICC
+ path: /devices/tech/config/uicc
- title: File DAC Configuration
path: /devices/tech/config/filesystem
- title: Namespaces for Libraries
@@ -39,8 +45,6 @@ toc:
path: /devices/tech/config/runtime_perms
- title: Time Zone Rules
path: /devices/tech/config/timezone-rules
- - title: UICC
- path: /devices/tech/config/uicc
- title: USB HAL
path: /devices/tech/config/usb-hal
- title: Visual Voicemail
diff --git a/en/devices/architecture/vintf/index.html b/en/devices/architecture/vintf/index.html
index b0517a32..fe1fc07d 100644
--- a/en/devices/architecture/vintf/index.html
+++ b/en/devices/architecture/vintf/index.html
@@ -84,7 +84,7 @@ it is statically-defined.</p>
<ul>
<li>The <strong>device manifest</strong> describes the static component of what
-the device can provide to the the framework.</li>
+the device can provide to the framework.</li>
<li>The <strong>framework compatibility matrix</strong> describes what the
Android framework expects from a given device. The matrix is a static entity
whose composition is determined manually during development of the next release
diff --git a/en/devices/tech/config/update.html b/en/devices/tech/config/update.html
new file mode 100644
index 00000000..db1a9cd9
--- /dev/null
+++ b/en/devices/tech/config/update.html
@@ -0,0 +1,227 @@
+<html devsite>
+ <head>
+ <title>APN and CarrierConfig</title>
+ <meta name="project_path" value="/_project.yaml" />
+ <meta name="book_path" value="/_book.yaml" />
+ </head>
+ <body>
+ <!--
+ Copyright 2018 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>Carriers can update their Access Point Name (APN) information and their
+carrier-specific configuration settings
+(<a href="/devices/tech/config/carrier">CarrierConfig</a>)
+in the Android Open Source Project (AOSP).</p>
+
+<h2 id="create-account">Google Account with your corporate email address</h2>
+
+<p>To update APN information or your CarrierConfig, you need
+to submit the request using a Google Account with an active corporate email
+address (e.g., An APN update request from Acme Company should come from an
+email address such as <em>foobar@acme.com</em>).</p>
+<p>If you do not have a Google Account that links to your corporate email
+address, sign out of all Gmail accounts from your browser (we recommend you use
+a private browsing feature such as an incognito window to avoid confusion with
+your other accounts) and then
+<a href="https://accounts.google.com/SignUpWithoutGmail?hl=en"> create a Google
+account with your corporate email address</a>.</p>
+<!--<ol>-->
+ <!--<li>Sign out of all gmail accounts from your browser. (We recommend you use a private browsing
+ feature such as an incognito window to avoid confusion with your other accounts.)</li>-->
+ <!--<li>Create a Google account with your corporate email address using:
+ <a href="https://accounts.google.com/SignUpWithoutGmail?hl=en">
+ https://accounts.google.com/SignUpWithoutGmail?hl=en</a></li>-->
+<!--</ol>-->
+<aside class="note"><strong>Note:</strong> Do NOT associate any Gmail accounts with this
+newly created account.</aside>
+
+<h2 id="local-environment">Prepare a local development environment</h2>
+
+<p>If you've never submitted code to AOSP before, you will
+need to initialize your build environment, become familiar with the tools, and
+understand how to submit patches:</p>
+<ul>
+ <li><a href="/setup/build/initializing">Establishing a build environment</a></li>
+ <li><a href="/setup/develop/">Getting familiar with Git and Repo</a></li>
+ <li><a href="/setup/build/downloading">Downloading the source</a></li>
+ <li><a href="/setup/contribute/submit-patches">Submitting patches</a></li>
+</ul>
+
+<p>In addition, we strongly recommend that you use the
+<a class="external" href="https://developers.google.com/issue-tracker/">Google Issue Tracker</a>
+to track changes.</p>
+
+<h2 id="file-a-bug">File a bug</h2>
+
+<ol>
+ <li>Go to <a class="external" href="https://issuetracker.google.com">issuetracker.google.com</a>
+ and sign in using your corporate email address (see <a href="#create-account">
+ Google Account with your corporate email address</a>).</li>
+ <aside class="note"><strong>Note:</strong> If this is your first time logging in, you
+ need to accept a license.</aside>
+ <li>After logging in, click <strong>Create issue</strong> on the left side of the
+ screen.</li>
+ <li>In <strong>Component</strong>, select <a class="external"
+ href="https://issuetracker.google.com/issues/new?component=192705&template=845803"
+ class="external"><strong>Android Public Tracker > Framework</strong></a></li>
+ <li>Continue to <a href="#apn-update1">APN update</a> or
+ <a href="#carrierconfig-update1">CarrierConfig update</a>, as appropriate,
+ to enter the Title and Description.</li>
+</ol>
+
+<h3 id="apn-update1">APN bug</h3>
+
+<p>Set the bug attributes as follows:</p>
+<p><strong>Title:</strong> <em>Add</em>/<em>Modify</em>/<em>Remove</em> APNs for CarrierXYZ</p>
+<p><strong>Description:</strong> Add a detailed description of the changes you're
+requesting, including the APN settings themselves.</p>
+
+<h3 id="carrierconfig-update1">CarrierConfig bug</h3>
+
+<p>Set the bug attributes as follows:</p>
+<p><strong>Title:</strong> Config changes for CarrierXYZ</p>
+<p><strong>Description:</strong> Add a detailed description of the changes you're
+requesting.</p>
+
+<h2 id="submit-changes">Submit changes</h2>
+
+<p>When you're ready to make changes, follow these steps:</p>
+<ol>
+ <li>Identify which file to change.</li>
+ <li>Make changes to the file.</li>
+ <li>Commit the changes to your local repository by following the instructions
+ for <a href="/setup/contribute/submit-patches#make-your-change">
+ submitting patches</a>, paying attention to the commit message guidelines,
+ including recommended format.</li>
+ <li>After you commit your change to your personal history, upload it to Gerrit
+ using the <code>repo upload</code> command.</li>
+ <li>Following a successful upload, repo provides the URL of a new page on
+ Gerrit. Use this URL to:
+ <ul>
+ <li>View your patch on the review server</li>
+ <li>Add comments</li>
+ <li>Request specific reviewers for your patch</li>
+ </ul>
+ </li>
+</ol>
+
+<aside class="note"><b>Note:</b> Submission of APN and CarrierConfig changes
+to AOSP doesn't guarantee that OEMs will pick up the change. Carriers should
+work with OEMs so that the required changes are made on their devices.</aside>
+
+<h3 id="apn-update2">APN syntax</h3>
+
+<p><strong>Android project name</strong> - device/sample</p>
+<p><strong>File name(s)</strong> - etc/apns-full-conf.xml
+(<a class="external"
+href="https://android.googlesource.com/device/sample/+/master/etc/apns-full-conf.xml">Google
+Git master link</a>)</p>
+<p>The file contains APN settings in XML format and serves as a sample file
+so there is no change in the behavior of Android devices.</p>
+<p>A typical APN config looks like this:</p>
+
+<pre class="prettyprint">&lt;apn carrier="CarrierXYZ"
+ mcc="123"
+ mnc="123"
+ apn="carrierxyz"
+ type="default,supl,mms,ims,cbs"
+ mmsc="http://mms.carrierxyz.com"
+ mmsproxy="0.0.0.0"
+ mmsport="80"
+ bearer_bitmask="4|5|6|7|8|12"
+/&gt;
+</pre>
+
+<h4 id="testing">Testing</h4>
+<ol>
+ <li>Connect any Android device for which you have root access.</li>
+ <li>Add settings to /etc/apns-conf.xml.</li>
+ <li>Reset APN settings.</li>
+ <li>In APN settings, confirm that profiles are loaded correctly.</li>
+ <li>For each profile, test data connectivity, Wi-Fi hotspot, and MMS
+ to make sure they work correctly.</li>
+</ol>
+
+<h4 id="commit-message">Commit message</h4>
+
+<pre class="devsite-click-to-copy">[Example - "Add CarrierXYZ apns to sample apns"]
+Bug: [Issue ID from Google Issue Tracker]
+Test: No change to behavior as this is only a sample file
+</pre>
+
+<h4 id="sample">Sample CL</h4>
+<p> See <a class="external" href="https://android-review.googlesource.com/c/device/sample/+/532609">
+Sample BICS APNs</a> for an example CL.</p>
+
+<h3 id="carrierconfig-update2">CarrierConfig syntax</h3>
+
+<p><b>Project name</b> - platform/packages/apps/CarrierConfig</p>
+<p><b>File name(s)</b> - assets/carrier_config_<mccmnc>.xml
+(<a class="external"
+href="https://android.googlesource.com/platform/packages/apps/CarrierConfig/+/master/assets">Google
+Git master link</a>)</p>
+<p>Identify the relevant XML file(s) in the assets folder by the relevant MCC/MNC
+tuple(s). The file contains the carrier config object in XML format. The
+attribute names are defined as keys under the
+<a class="external" href="https://developer.android.com/reference/android/telephony/CarrierConfigManager.html">
+CarrierConfigManager</a>, and the type of value (int/string/bool) is indicated
+by the suffixes.</p>
+<p>Typical int/string/bool attributes look like this:</p>
+
+<pre class="prettyprint">&lt;int name="vvm_port_number_int" value="5499" /&gt;
+&lt;string name="vvm_type_string">vvm_type_omtp&lt;/string &gt;
+&lt;boolean name="vvm_cellular_data_required_bool" value="true" /&gt;
+</pre>
+
+<h4 id="commit-message">Commit message</h4>
+
+<pre class="devsite-click-to-copy">[Example - "Add VVM settings for CarrierXYZ"]
+
+[Example - "Updated &lt;mccmnc&gt; carrier config file to include VVM settings
+as defined by CarrierXYZ."]
+
+Bug: [Issue ID from Google Issue Tracker]
+Test: [Testing notes]
+</pre>
+
+<h4 id="sample">Sample CL</h4>
+<p> See an <a class="external"
+href="https://android-review.googlesource.com/c/platform/packages/apps/CarrierConfig/+/625835">
+updated carrier config file</a> for an example CL. </p>
+
+<h2 id="request-a-review">Request a review</h2>
+
+<p>To request a review:</p>
+<ul>
+ <li>Go to the Gerrit URL of your change and add
+ <em>android-carrier-config-review@google.com</em> as a reviewer.</li>
+ <li>You can also add your Google contact to the CC list on Gerrit.</li>
+ <li>For tracking purposes, you can change the assignee of the issue to
+ <em>android-carrier-config-review@google.com</em>.</li>
+</ul>
+
+<p>After a submission makes it through the review and verification process,
+Gerrit automatically merges the change into the public repository. Other users
+can run <code> repo sync </code> to pull the update into their local client.</p>
+<aside class="note"><strong>Note:</strong> Changes to the APN file don't automatically
+take effect because the changes are in device/sample folder. If you are working
+with key OEMs, make sure they take the latest information from AOSP. Typically
+OEMs have a regular schedule where they pick the latest information, but if you
+are in a hurry, reach out to OEMs to encourage them to update their list sooner
+rather than later.</aside>
+
+ </body>
+</html>
diff --git a/en/devices/tech/settings/images/settings-guidelines06.png b/en/devices/tech/settings/images/settings-guidelines06.png
index ab48475a..369c9380 100644
--- a/en/devices/tech/settings/images/settings-guidelines06.png
+++ b/en/devices/tech/settings/images/settings-guidelines06.png
Binary files differ
diff --git a/en/setup/build/building.html b/en/setup/build/building.html
index 43054987..0cc83c3a 100644
--- a/en/setup/build/building.html
+++ b/en/setup/build/building.html
@@ -91,28 +91,42 @@ target from the menu.</p>
<code>BUILD</code> is a codename referring to the particular feature
combination. The <code>BUILDTYPE</code> is one of the following:</p>
<table>
-<thead>
-<tr>
-<th>Buildtype</th>
-<th>Use</th>
-</tr>
-</thead>
-<tbody>
-<tr>
-<td>user</td>
-<td>limited access; suited for production</td>
-</tr>
-<tr>
-<td>userdebug</td>
-<td>like user but with root access and debuggability; preferred for
-debugging</td>
-</tr>
-<tr>
-<td>eng</td>
-<td>development configuration with additional debugging tools</td>
-</tr>
-</tbody>
+ <thead>
+ <tr>
+ <th>Buildtype</th>
+ <th>Use</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td>user</td>
+ <td>limited access; suited for production</td>
+ </tr>
+ <tr>
+ <td>userdebug</td>
+ <td>like user but with root access and debuggability; preferred for
+ debugging</td>
+ </tr>
+ <tr>
+ <td>eng</td>
+ <td>development configuration with additional debugging tools</td>
+ </tr>
+ </tbody>
</table>
+
+<p>The userdebug build should behave the same as the user build, with the
+ability to enable additional debugging that normally violates the security
+model of the platform. This makes the userdebug build good for user testing
+with greater diagnosis capabilities. When developing
+with the userdebug build, you should follow the
+<a href="../develop/new-device.html#userdebug-guidelines">userdebug guidelines</a>.</p>
+
+<p>The eng build prioritizes engineering productivity for engineers who work on
+the platform. The eng build turns off various optimizations used to provide a
+good user experience. Otherwise, the eng build behaves similar to the user and
+userdebug builds so that device developers can see how the code behaves in
+those environments.</p>
+
<p>For more information about building for and running on actual hardware, see
<a href="running.html">Running Builds</a>.</p>
diff --git a/en/setup/build/devices.html b/en/setup/build/devices.html
index 20aa2a80..ad24391b 100644
--- a/en/setup/build/devices.html
+++ b/en/setup/build/devices.html
@@ -48,9 +48,8 @@ or HiKey960 development board.</p>
<h2 id="960hikey">HiKey960 boards</h2>
-<p>The HiKey960 board is available in a 3GB RAM configuration from LeMaker (via
-<a href="https://www.amazon.com/dp/B071RD3V34" class="external">Amazon.com</a>)
-and from <a href="http://www.lenovator.com/product/80.html" class="external">Lenovator<a/>.
+<p>The HiKey960 board is available from Amazon.com and
+ <a href="http://www.lenovator.com/product/80.html" class="external">Lenovator<a/>.
</p>
<img src="../images/hikey960.png" alt="HiKey960 board image" />
diff --git a/en/setup/develop/new-device.html b/en/setup/develop/new-device.html
index 6f7b3e72..35aa1936 100644
--- a/en/setup/develop/new-device.html
+++ b/en/setup/develop/new-device.html
@@ -143,6 +143,30 @@ addition to tagged modules.</li>
</tr>
</table>
+<h3 id="userdebug-guidelines">userdebug guidelines</h3>
+
+<p>Running userdebug builds in testing helps device developers understand
+performance and power of in-development releases. To maintain consistency
+between user and userdebug builds, and to achieve reliable metrics in builds
+used for debugging, device developers should follow these guidelines:</p>
+
+<ul>
+ <li>userdebug is defined as a user build with root access enabled, except:
+ <ul>
+ <li>userdebug-only apps that are run only on-demand by the user</li>
+ <li>Operations that run only during idle maintenance (on charger / fully
+ charged), such as using <code>dex2oatd</code> versus
+ <code>dex2oat</code> for background compiles</li>
+ </ul>
+ </li>
+ <li>Do not have any features that depend on the build type in order to be
+ enabled by default or not. Developers are discouraged from using any form of logging that affects battery life, such as debug logging or heap dumping.</li>
+ <li>Any debugging features that are enabled by default in userdebug should be
+ clearly defined and shared with all developers working on the project. Only
+ enable those debugging features on a limited-time basis until the issue is
+ resolved.</li>
+</ul>
+
<h2 id="use-resource-overlays">Customize the Build with Resource Overlays</h2>
<p>The Android build system uses resource overlays to customize