Merge "Document how to build the master branch for devices."
diff --git a/src/community/index.md b/src/community/index.md
index db3d3e3..adc094c 100644
--- a/src/community/index.md
+++ b/src/community/index.md
@@ -30,7 +30,7 @@
Please note that if you're looking for information about building
applications for Android, you can find a separate set of groups for those at
-our sister site, developer.android.com: [http://developer.android.com/community/index.html]
+our sister site, developer.android.com: [https://developer.android.com/resources/community-groups.html]
## Getting the Most from Our Lists ##
@@ -49,42 +49,42 @@
- *android-platform*:
This list is for general discussion about the Android open-source project or the platform technologies.
- - Subscribe using Google Groups: [android-platform](http://groups.google.com/group/android-platform)
+ - Subscribe using Google Groups: [android-platform](https://groups.google.com/forum/?fromgroups#!forum/android-platform)
- Subscribe via email: [android-platform](mailto:android-platform+subscribe@googlegroups.com)
- *android-building*:
Subscribe to this list for discussion and help on building the Android source code, and on the build system. If you've just checked out the source code and have questions about how to turn it into binaries, start here.
- - Subscribe using Google Groups: [android-building](http://groups.google.com/group/android-building)
+ - Subscribe using Google Groups: [android-building](https://groups.google.com/forum/?fromgroups#!forum/android-building)
- Subscribe via email: [android-building](mailto:android-building+subscribe@googlegroups.com)
- *android-porting*:
This list is for developers who want to port Android to a new device. If you're wondering how to combine the Android source code with your hardware, this is the right group for you. Discuss here the specifics of porting Android to individual devices, from obtaining toolchains and merging kernel drivers all the way to configuring or modifying applications for your specific
configuration.
- - Subscribe using Google Groups: [android-porting](http://groups.google.com/group/android-porting)
+ - Subscribe using Google Groups: [android-porting](https://groups.google.com/forum/?fromgroups#!forum/android-porting)
- Subscribe via email: [android-porting](mailto:android-porting+subscribe@googlegroups.com)
- *android-contrib*:
This list is for developers who want to contribute code to Android. This is a working list, and is not appropriate for general discussion. We ask that general discussion go to android-platform. Note: contributors to the Android kernel should go to the android-kernel list, below.
- - Subscribe using Google Groups: [android-contrib](http://groups.google.com/group/android-contrib)
+ - Subscribe using Google Groups: [android-contrib](https://groups.google.com/forum/?fromgroups#!forum/android-contrib)
- Subscribe via email: [android-contrib](mailto:android-contrib+subscribe@googlegroups.com)
- *android-kernel*:
This list is for deveopers who want to contribute to the Linux kernel that Android devices use. If you've downloaded the kernel code, if you know how to compile it, if you want to write kernel code to specifically support Android,
this is your place. This group isn't for user-space topics (see android-platform for that), and people will shake their fingers at you and call you naughty if you ask user-space questions here.
- - Subscribe using Google Groups: [android-kernel](http://groups.google.com/group/android-kernel)
+ - Subscribe using Google Groups: [android-kernel](https://groups.google.com/forum/?fromgroups#!forum/android-kernel)
- Subscribe via email: [android-kernel](mailto:android-kernel+subscribe@googlegroups.com)
## Using email with Google Groups ##
-Instead of using the [Google groups](http://groups.google.com) site, you can use your email client of choice to participate in the mailing lists.
+Instead of using the [Google groups](https://groups.google.com/) site, you can use your email client of choice to participate in the mailing lists.
To subscribe to a group without using the Google Groups site, use the link under "subscribe via email" in the lists above.
To set up how you receive mailing list postings by email:
-1. Sign into the group via the Google Groups site. For example, for the android-platform group you would [http://groups.google.com/group/android-platform].
+1. Sign into the group via the Google Groups site. For example, for the android-platform group you would use [https://groups.google.com/forum/?fromgroups#!forum/android-platform].
-1. Click "Edit my membership" on the right side.
+1. Click "My membership" on the right side.
1. Under "How do you want to read this group?" select one of the email options.
diff --git a/src/community/sidebar.md b/src/community/sidebar.md
index fb79d19..5b72530 100644
--- a/src/community/sidebar.md
+++ b/src/community/sidebar.md
@@ -1,14 +1,14 @@
# Discussion Groups #
-- [android-building](http://groups.google.com/group/android-building) (off-site)
-- [android-contrib](http://groups.google.com/group/android-contrib) (off-site)
-- [android-kernel](http://groups.google.com/group/android-kernel) (off-site)
-- [android-platform](http://groups.google.com/group/android-platform) (off-site)
-- [android-porting](http://groups.google.com/group/android-porting) (off-site)
-- [repo-discuss](http://groups.google.com/group/repo-discuss) (off-site)
+- [android-building](https://groups.google.com/forum/?fromgroups#!forum/android-building) (off-site)
+- [android-contrib](https://groups.google.com/forum/?fromgroups#!forum/android-contrib) (off-site)
+- [android-kernel](https://groups.google.com/forum/?fromgroups#!forum/android-kernel) (off-site)
+- [android-platform](https://groups.google.com/forum/?fromgroups#!forum/android-platform) (off-site)
+- [android-porting](https://groups.google.com/forum/?fromgroups#!forum/android-porting) (off-site)
+- [repo-discuss](https://groups.google.com/forum/?fromgroups#!forum/repo-discuss) (off-site)
# Other Links #
- [Groups Charter](groups-charter.html)
-- [App Developer Groups](http://developer.android.com/community/index.html) (off-site)
+- [App Developer Groups](https://developer.android.com/resources/community-groups.html) (off-site)
diff --git a/src/compatibility/contact-us.md b/src/compatibility/contact-us.md
index b7fa837..285ddca 100644
--- a/src/compatibility/contact-us.md
+++ b/src/compatibility/contact-us.md
@@ -35,7 +35,7 @@
cases that require disclosure of confidential information only, so general
questions will be directed back to the public android-compatibility
list. Note also that this list is for specific technical questions; general
-inquiries will also be directed back to the [android-compatibility list.](http://groups.google.com/group/android-compatibility)
+inquiries will also be directed back to the [android-compatibility list.](https://groups.google.com/forum/?fromgroups#!forum/android-compatibility)
## For Business Inquiries ##
diff --git a/src/compatibility/cts-development.md b/src/compatibility/cts-development.md
index 04adb00..c1a6e24 100644
--- a/src/compatibility/cts-development.md
+++ b/src/compatibility/cts-development.md
@@ -53,7 +53,7 @@
## Writing CTS Tests ##
CTS tests use JUnit and the Android testing APIs. Review the
-[Testing and Instrumentation](http://d.android.com/guide/topics/testing/testing_android.html)
+[Testing and Instrumentation](https://developer.android.com/guide/topics/testing/testing_android.html)
tutorial while perusing the existing tests under the
`cts/tests/tests` directory. You will see that CTS tests mostly follow the same
conventions used in other Android tests.
diff --git a/src/compatibility/cts-intro.md b/src/compatibility/cts-intro.md
index 0f62b84..842a583 100644
--- a/src/compatibility/cts-intro.md
+++ b/src/compatibility/cts-intro.md
@@ -87,10 +87,10 @@
Area | Description
-----|-------------
Signature tests | For each Android release, there are XML files describing the signatures of all public APIs contained in the release. The CTS contains a utility to check those API signatures against the APIs available on the device. The results from signature checking are recorded in the test result XML file.
-Platform API Tests | Test the platform (core libraries and Android Application Framework) APIs as documented in the SDK [Class Index](http://code.google.com/android/reference/classes.html) to ensure API correctness, including correct class, attribute and method signatures, correct method behavior, and negative tests to ensure expected behavior for incorrect parameter handling.
+Platform API Tests | Test the platform (core libraries and Android Application Framework) APIs as documented in the SDK [Class Index](https://developer.android.com/reference/classes.html) to ensure API correctness, including correct class, attribute and method signatures, correct method behavior, and negative tests to ensure expected behavior for incorrect parameter handling.
Dalvik VM Tests | The tests focus on testing the Dalvik VM
-Platform Data Model | The CTS tests the core platform data model as exposed to application developers through content providers, as documented in the SDK [android.provider](http://code.google.com/android/reference/android/provider/package-summary.html) package: contacts, browser, settings, etc.
-Platform Intents | The CTS tests the core platform intents, as documented in the SDK [Available Intents](http://code.google.com/android/reference/available-intents.html).
-Platform Permissions | The CTS tests the core platform permissions, as documented in the SDK [Available Permissions](http://code.google.com/android/reference/android/Manifest.permission.html).
-Platform Resources | The CTS tests for correct handling of the core platform resource types, as documented in the SDK [Available Resource Types](http://code.google.com/android/reference/available-resources.html). This includes tests for: simple values, drawables, nine-patch, animations, layouts, styles and themes, and loading alternate resources.
+Platform Data Model | The CTS tests the core platform data model as exposed to application developers through content providers, as documented in the SDK [android.provider](https://developer.android.com/reference/android/provider/package-summary.html) package: contacts, browser, settings, etc.
+Platform Intents | The CTS tests the core platform intents, as documented in the SDK [Available Intents](https://developer.android.com/guide/appendix/g-app-intents.html).
+Platform Permissions | The CTS tests the core platform permissions, as documented in the SDK [Available Permissions](https://developer.android.com/reference/android/Manifest.permission.html).
+Platform Resources | The CTS tests for correct handling of the core platform resource types, as documented in the SDK [Available Resource Types](https://developer.android.com/guide/topics/resources/available-resources.html). This includes tests for: simple values, drawables, nine-patch, animations, layouts, styles and themes, and loading alternate resources.
diff --git a/src/compatibility/downloads.md b/src/compatibility/downloads.md
index 045dbcd..7072e65 100644
--- a/src/compatibility/downloads.md
+++ b/src/compatibility/downloads.md
@@ -26,8 +26,8 @@
Android 4.0.3 is found in the 'android-4.0.3_r1' branch in the open-source tree.
- [Android 4.0 Compatibility Definition Document (CDD)](4.0/android-4.0-cdd.pdf)
-- [Android 4.0.3 R2 Compatibility Test Suite (CTS)](http://dl.google.com/dl/android/cts/android-cts-4.0.3_r2-linux_x86-arm.zip)
-- [Android 4.0.3 R1 CTS Verifier](http://dl.google.com/dl/android/cts/android-cts-verifier-4.0.3_r1-linux_x86-arm.zip)
+- [Android 4.0.3 R2 Compatibility Test Suite (CTS)](https://dl.google.com/dl/android/cts/android-cts-4.0.3_r2-linux_x86-arm.zip)
+- [Android 4.0.3 R1 CTS Verifier](https://dl.google.com/dl/android/cts/android-cts-verifier-4.0.3_r1-linux_x86-arm.zip)
## Android 2.3 ##
@@ -36,8 +36,8 @@
the open-source tree.
- [Android 2.3 Compatibility Definition Document (CDD)](2.3/android-2.3.3-cdd.pdf)
-- [Android 2.3 R12 Compatibility Test Suite (CTS)](http://dl.google.com/dl/android/cts/android-cts-2.3_r12-linux_x86-arm.zip)
-- [Android 2.3 R2 CTS Verifier](http://dl.google.com/dl/android/cts/android-cts-verifier-2.3_r2-linux_x86-armv5.zip)
+- [Android 2.3 R12 Compatibility Test Suite (CTS)](https://dl.google.com/dl/android/cts/android-cts-2.3_r12-linux_x86-arm.zip)
+- [Android 2.3 R2 CTS Verifier](https://dl.google.com/dl/android/cts/android-cts-verifier-2.3_r2-linux_x86-armv5.zip)
## Android 2.2 ##
@@ -46,7 +46,7 @@
open-source tree.
- [Android 2.2 Compatibility Definition Document (CDD)](2.2/android-2.2-cdd.pdf)
-- [Android 2.2 R8 Compatibility Test Suite (CTS)](http://dl.google.com/dl/android/cts/android-cts-2.2_r8-linux_x86-arm.zip)
+- [Android 2.2 R8 Compatibility Test Suite (CTS)](https://dl.google.com/dl/android/cts/android-cts-2.2_r8-linux_x86-arm.zip)
## Android 2.1 ##
@@ -56,7 +56,7 @@
program for Android 2.0 or 2.0.1, and new devices must use Android 2.1.
- [Android 2.1 Compatibility Definition Document (CDD)](2.1/android-2.1-cdd.pdf)
-- [Android 2.1 R5 Compatibility Test Suite (CTS)](http://dl.google.com/dl/android/cts/android-cts-2.1_r5-x86.zip)
+- [Android 2.1 R5 Compatibility Test Suite (CTS)](https://dl.google.com/dl/android/cts/android-cts-2.1_r5-x86.zip)
## Android 1.6 ##
@@ -65,7 +65,7 @@
in the 'donut' branch in the open-source tree.
- [Android 1.6 Compatibility Definition Document (CDD)](1.6/android-1.6-cdd.pdf)
-- [Android 1.6 R1 Compatibility Test Suite (CTS)](http://dl.google.com/dl/android/cts/android-cts-1.6_r1-x86.zip)
+- [Android 1.6 R1 Compatibility Test Suite (CTS)](https://dl.google.com/dl/android/cts/android-cts-1.6_r1-x86.zip)
## Compatibility Test Suite Manual ##
@@ -77,7 +77,7 @@
## CTS Media Files ##
These media files are required for the CTS media stress tests.
-- [CTS Media 1.0](http://dl.google.com/dl/android/cts/android-cts-media-1.0.zip)
+- [CTS Media 1.0](https://dl.google.com/dl/android/cts/android-cts-media-1.0.zip)
## Older Android Versions ##
diff --git a/src/source/building-devices.md b/src/source/building-devices.md
index 405c81c..906d5bb 100644
--- a/src/source/building-devices.md
+++ b/src/source/building-devices.md
@@ -110,7 +110,7 @@
Official binaries for Nexus S, Galaxy Nexus, and PandaBoard can be
downloaded from
-[Google's Nexus driver page](http://code.google.com/android/nexus/drivers.html),
+[Google's Nexus driver page](https://code.google.com/android/nexus/drivers.html),
which add access to additional hardware capabilities with non-Open-Source code.
When a device is suppoted in the master branch, the binaries for the most
@@ -252,7 +252,7 @@
and
for Nexus S (all variants)
are available from
-[Google's factory image page](http://code.google.com/android/nexus/images.html).
+[Google's factory image page](https://code.google.com/android/nexus/images.html).
Factory images for the Motorola Xoom are distributed directly by Motorola.
diff --git a/src/source/building.md b/src/source/building.md
index 77e67fd..1cd13c9 100644
--- a/src/source/building.md
+++ b/src/source/building.md
@@ -128,7 +128,7 @@
The correct version is: RIGHT_VERSION.
Please follow the machine setup instructions at
- http://source.android.com/download
+ https://source.android.com/source/download.html
************************************************************
This may be caused by
diff --git a/src/source/downloading.md b/src/source/downloading.md
index 9f81cae..f039591 100644
--- a/src/source/downloading.md
+++ b/src/source/downloading.md
@@ -55,7 +55,7 @@
$ repo init -u https://android.googlesource.com/platform/manifest -b android-4.0.1_r1
- - When prompted, please configure Repo with your real name and email address. To use the Gerrit code-review tool, you will need an email address that is connected with a [registered Google account](http://www.google.com/accounts). Make sure this is a live address at which you can receive messages. The name that you provide here will show up in attributions for your code submissions.
+ - When prompted, please configure Repo with your real name and email address. To use the Gerrit code-review tool, you will need an email address that is connected with a [registered Google account](https://www.google.com/accounts). Make sure this is a live address at which you can receive messages. The name that you provide here will show up in attributions for your code submissions.
A successful initialization will end with a message stating that Repo is initialized in your working directory. Your client directory should now contain a `.repo` directory where files such as the manifest will be kept.
diff --git a/src/source/index.md b/src/source/index.md
index 2ea2562..5fdcd58 100644
--- a/src/source/index.md
+++ b/src/source/index.md
@@ -35,7 +35,7 @@
to users on an open platform. One of the best ways you can help Android is to
write cool apps that users love!
-To get started, visit [developer.android.com](http://developer.android.com). This site
+To get started, visit [developer.android.com](https://developer.android.com). This site
provides the information and tools you need to write applications for
compatible Android devices, using the SDK.
diff --git a/src/source/known-issues.md b/src/source/known-issues.md
index a9df5c3..4fa1bea 100644
--- a/src/source/known-issues.md
+++ b/src/source/known-issues.md
@@ -56,3 +56,141 @@
**Fix**: Use an emulator binary from the SDK, which is built on
MacOS 10.6 with XCode 3 and works on MacOS 10.7.
+
+## Difficulties syncing the source code (proxy issues). ##
+
+**Symptom**: `repo init` or `repo sync` fail with http errors,
+typically 403 or 500.
+
+**Cause**: There are quite a few possible causes, most often
+related to http proxies, which have difficulties handling the
+large amounts of data getting transfered.
+
+**Fix**: While there's no general solution, using python 2.7
+and explicitly using `repo sync -j1` have been reported to
+improve the situation for some users.
+
+## Difficulties syncing the source tree (VirtualBox Ethernet issues). ##
+
+**Symptom**: When running `repo sync` in some VirtualBox installations,
+the process hangs or fails with a variety of possible symptoms.
+One such symptom is
+`DownloadError: HTTP 500 (Internal Server Error: Server got itself in trouble)`.
+
+**Cause**: The default network behavior of VirtualBox is to use
+NAT (Network Addrss Translation) to connect the guest system to
+the network. The heavy network activity of repo sync triggers some
+corner cases in the NAT code.
+
+**Fix**: Configure VirtualBox to use bridged network instead of NAT.
+
+## Difficulties syncing the source tree (DNS issues). ##
+
+**Symptom**: When running `repo sync`, the process fails with
+various errors related to not recognizing the hostname. One such
+error is `<urlopen error [Errno -2] Name or service not known>`.
+
+**Cause**: Some DNS systems have a hard time coping with the
+high number of queries involved in syncing the source tree
+(there can be several hundred requests in a worst-case scenario).
+
+**Fix**: Manually resolve the relevant hostnames, and hard-code
+those results locally.
+
+You can resolve them with the `nslookup` command, which will give
+you one numerical IP address for each of those (typically in the
+"Address" part of the output).
+
+ $ nslookup googlesource.com
+ $ nslookup android.googlesource.com
+
+You can then hard-code them locally by editing `/etc/hosts`, and
+adding two lines in that file, of the form:
+
+ aaa.bbb.ccc.ddd googlesource.com
+ eee.fff.ggg.hhh android.googlesource.com
+
+Note that this will only work as long as the servers' addresses
+don't change, and if they do and you can't connect you'll have
+to resolve those hostnames again and edit `etc/hosts` accordingly.
+
+## Difficulties syncing the source tree (TCP issues). ##
+
+**Symptom**: `repo sync` hangs while syncing, often when it's
+completed 99% of the sync.
+
+**Cause**: Some settings in the TCP/IP stack cause difficulties
+in some network environments, such that `repo sync` neither completes
+nor fails.
+
+**Fix**: On linux, `sysctl -w net.ipv4.tcp_window_scaling=0`. On
+MacOS, disable the rfc1323 extension in the network settings.
+
+## `make snod` and emulator builds. ##
+
+**Symptom**: When using `make snod` (make system no dependencies)
+on emulator builds, the resulting build doesn't work.
+
+**Cause**: All emulator builds now run Dex optimization at build
+time by default, which requires to follow all dependencies to
+re-optimize the applications each time the framework changes.
+
+**Fix**: Locally disable Dex optimizations with
+`export WITH_DEXPREOPT=false`, delete the existing optimized
+versions with `make installclean` and run a full build to
+re-generate non-optimized versions. After that, `make snod`
+will work.
+
+## "Permission Denied" during builds. ##
+
+**Symptom**: All builds fail with "Permission Denied", possibly
+along with anti-virus warnings.
+
+**Cause**: Some anti-virus programs mistakenly recognize some
+source files in the Android source tree as if they contained
+viruses.
+
+**Fix**: After verifying that there are no actual viruses
+involved, disable anti-virus on the Android tree. This has
+the added benefit of reducing build times.
+
+## Camera, GPS and NFC don't work on Galaxy Nexus. ##
+
+**Symptom**: Camera, GPS and NFC don't work on Galaxy Nexus.
+As an example, the Camera application crashes as soon as it's
+launched.
+
+**Cause**: Those hardware peripherals require proprietary
+libraries that aren't available in the Android Open Source
+Project.
+
+**Fix**: None.
+
+## Build errors related to using the wrong compiler. ##
+
+**Symptom**: The build fails with various symptoms. One
+such symptom is `cc1: error: unrecognized command line option "-m32"`
+
+**Cause**: The Android build system uses the default compiler
+in the PATH, assuming it's a suitable compiler to generate
+binaries that run on the host. Other situations (e.g. using
+the Android NDK or building the kernel) cause the default
+compiler to not be a host compiler.
+
+**Fix**: Use a "clean" shell, in which no previous
+actions could have swapped the default compiler.
+
+## Build errors caused by non-default tool settings. ##
+
+**Symptom**: The build fails with various symptoms, possibly
+complinaing about missing files or files that have the
+wrong format. One such symptom is `member [...] in archive is not an object`.
+
+**Cause**: The Android build system tends to use many host tools
+and to rely on their default behaviors. Some settings change
+those tools' behaviors and make them behave in ways that
+confuse the build system. Variables known to cause such
+issues are `CDPATH` and `GREP_OPTIONS`.
+
+**Fix**: Build Android in an environment that has as few
+customizations as possible.
diff --git a/src/source/life-of-a-bug.md b/src/source/life-of-a-bug.md
index 4dd9384..f58cad8 100644
--- a/src/source/life-of-a-bug.md
+++ b/src/source/life-of-a-bug.md
@@ -165,7 +165,7 @@
Finally, you should be aware that for a variety of reasons, there are
actually multiple issue trackers for Android-related issues. The
-[Google Code Project Hosting Issue Tracker](http://code.google.com/p/android/issues/list)
+[Google Code Project Hosting Issue Tracker](https://code.google.com/p/android/issues/list)
is the *only* official public issue tracker; however,
Google also maintains a private issue tracker, own, as do most OEMs. We try to
keep the public issue tracker in sync with private issue trackers
diff --git a/src/source/overview.md b/src/source/overview.md
index 34ef955..804c1f0 100644
--- a/src/source/overview.md
+++ b/src/source/overview.md
@@ -16,27 +16,27 @@
# Android Platform Overview #
-Our sister site, [developer.android.com](http://developer.android.com/),
+Our sister site, [developer.android.com](https://developer.android.com/),
includes feature overviews of the various Android platform versions.
The links below will take you to developer.android.com where you can view this
information.
The links below will navigate you away from this site.
-## [Android 4.0](http://developer.android.com/sdk/android-4.0-highlights.html) ##
+## [Android 4.0](https://developer.android.com/sdk/android-4.0-highlights.html) ##
Android 4.0 corresponded to the "IceCreamSandwich" milestone branch, and has an API level of 14.
-## [Android 2.3](http://developer.android.com/sdk/android-2.3-highlights.html) ##
+## [Android 2.3](https://developer.android.com/sdk/android-2.3-highlights.html) ##
Android 2.3 corresponded to the "Gingerbread" milestone branch, and has an API level of 9.
In versions 2.3.3 and higher, the API level is 10.
-## [Android 2.2](http://developer.android.com/sdk/android-2.2-highlights.html) ##
+## [Android 2.2](https://developer.android.com/sdk/android-2.2-highlights.html) ##
Android 2.2 corresponded to the "FroYo" milestone branch, and has an API level of 8.
-## [Android 2.1](http://developer.android.com/sdk/android-2.0-highlights.html) ##
+## [Android 2.1](https://developer.android.com/sdk/android-2.0-highlights.html) ##
Android 2.1 corresponded to the "Eclair" milestone branch, and has an API level of 7.
@@ -48,16 +48,16 @@
2.1. (The linked document refers to Android 2.0, because there were
no new platform features added in 2.1.)
-## [Android 1.6](http://developer.android.com/sdk/android-1.6-highlights.html) ##
+## [Android 1.6](https://developer.android.com/sdk/android-1.6-highlights.html) ##
Android 1.6 corresponded to the "Donut" milestone branch, and has an API level of 4.
-## [Android 1.5](http://developer.android.com/sdk/android-1.5-highlights.html) ##
+## [Android 1.5](https://developer.android.com/sdk/android-1.5-highlights.html) ##
Android 1.5 corresponded to the "Cupcake" milestone branch, and has an API
level of 3.
-## [Android 1.1](http://developer.android.com/sdk/android-1.1.html) ##
+## [Android 1.1](https://developer.android.com/sdk/android-1.1.html) ##
Android 1.1 has an API level of 2. Android 1.1 was known as
"Petit Four" internally, though this name was not used officially.
diff --git a/src/source/report-bugs.md b/src/source/report-bugs.md
index 5433126..f4fd7e5 100644
--- a/src/source/report-bugs.md
+++ b/src/source/report-bugs.md
@@ -29,17 +29,17 @@
Here's how to report non-security bugs:
-- [Search for your bug](http://code.google.com/p/android/issues/advsearch) to see if anyone has already reported it.
+- [Search for your bug](https://code.google.com/p/android/issues/advsearch) to see if anyone has already reported it.
- If you find your issue and it's important to you, star it! That's how we know which bugs are most important to fix.
- If no one's reported your bug, file the bug. You can use one of these templates:
- - [Bug in your Device](http://code.google.com/p/android/issues/entry?template=User%20bug%20report) - use this if you are a user reporting a bug in a device you own
+ - [Bug in your Device](https://code.google.com/p/android/issues/entry?template=User%20bug%20report) - use this if you are a user reporting a bug in a device you own
- - [Bug in the Software](http://code.google.com/p/android/issues/entry?template=Developer%20bug%20report) - use this if you found a bug in the course of developing an app
+ - [Bug in the Software](https://code.google.com/p/android/issues/entry?template=Developer%20bug%20report) - use this if you found a bug in the course of developing an app
- - [Feature Request](http://code.google.com/p/android/issues/entry?template=Feature%20request) - use this for a feature you'd like to see in a future verison
+ - [Feature Request](https://code.google.com/p/android/issues/entry?template=Feature%20request) - use this for a feature you'd like to see in a future verison
Please note that we can't guarantee that any particular bug can be fixed in
any particular release. To see what happens to your bug once you report it,
diff --git a/src/source/submit-patches.md b/src/source/submit-patches.md
index b6e4657..72531c3 100644
--- a/src/source/submit-patches.md
+++ b/src/source/submit-patches.md
@@ -195,7 +195,7 @@
## V8 ##
All changes to the V8 project at `external/v8` should be submitted upstream at
-[code.google.com/p/v8](http://code.google.com/p/v8). See [Contributing to V8](http://code.google.com/p/v8/wiki/Contributing)
+[code.google.com/p/v8](https://code.google.com/p/v8). See [Contributing to V8](https://code.google.com/p/v8/wiki/Contributing)
for details.
## WebKit ##
diff --git a/src/source/using-eclipse.md b/src/source/using-eclipse.md
index 94e24cf..803b2cc 100644
--- a/src/source/using-eclipse.md
+++ b/src/source/using-eclipse.md
@@ -21,7 +21,7 @@
*Note: if you are looking for information on how to use
Eclipse to develop applications that run on Android, this is not the right
page for you. You probably would find [the Eclipse page on
-developer.android.com](http://developer.android.com/sdk/eclipse-adt.html) more useful.*
+developer.android.com](https://developer.android.com/sdk/eclipse-adt.html) more useful.*
## Basic setup ##
diff --git a/src/tech/security/index.md b/src/tech/security/index.md
index dc25907..4c598a9 100644
--- a/src/tech/security/index.md
+++ b/src/tech/security/index.md
@@ -84,7 +84,7 @@
device or the web. Google Play makes it easy for developers to reach Android
users and potential customers. Google Play also provides community review,
application [license
-verification](http://developer.android.com/guide/publishing/licensing.html),
+verification](https://developer.android.com/guide/publishing/licensing.html),
and other security services.
+ **Android Updates**: The Android update service delivers new capabilities and
@@ -93,9 +93,9 @@
+ **Application Services**: Frameworks that allow Android applications to use
cloud capabilities such as ([backing
-up](http://developer.android.com/guide/topics/data/backup.html)) application
+up](https://developer.android.com/guide/topics/data/backup.html)) application
data and settings and cloud-to-device messaging
-([C2DM](http://code.google.com/android/c2dm/index.html))
+([C2DM](https://code.google.com/android/c2dm/index.html))
for push messaging.
These services are not part of the Android Open Source Project and are out
@@ -284,7 +284,7 @@
requires the use of a user password, pattern-based screen lock is not supported.
More details on implementation of filesystem encryption are available at
-[http://source.android.com/tech/encryption/android_crypto_implementation.html](/
+[https://source.android.com/tech/encryption/android_crypto_implementation.html](/
tech/encryption/android_crypto_implementation.html)
##Password Protection
@@ -309,7 +309,7 @@
In addition to use in applications included with the Android system, these APIs
are available to third-party providers of Device Management solutions. Details
on the API are provided here:
-[http://developer.android.com/guide/topics/admin/device-admin.html](http://devel
+[https://developer.android.com/guide/topics/admin/device-admin.html](https://devel
oper.android.com/guide/topics/admin/device-admin.html).
@@ -385,21 +385,21 @@
The main Android application building blocks are:
+ **AndroidManifest.xml**: The
-[AndroidManifest.xml](http://developer.android.com/guide/topics/manifest/manifes
+[AndroidManifest.xml](https://developer.android.com/guide/topics/manifest/manifes
t-intro.html) file is the control file that tells the system what to do with
all the top-level components (specifically activities, services, broadcast
receivers, and content providers described below) in an application. This also
specifies which permissions are required.
+ **Activities**: An
-[Activity](http://developer.android.com/guide/topics/fundamentals/activities.htm
+[Activity](https://developer.android.com/guide/topics/fundamentals/activities.htm
l) is, generally, the code for a single, user-focused task. It usually
includes displaying a UI to the user, but it does not have to -- some
Activities never display UIs. Typically, one of the application's Activities
is the entry point to an application.
+ **Services**: A
-[Service](http://developer.android.com/guide/topics/fundamentals/services.html)
+[Service](https://developer.android.com/guide/topics/fundamentals/services.html)
is a body of code that runs in the background. It can run in its own process,
or in the context of another application's process. Other components "bind" to
a Service and invoke methods on it via remote procedure calls. An example of a
@@ -408,10 +408,10 @@
music going even when the UI has completed.
+ **Broadcast Receiver**: A
-[BroadcastReceiver](http://developer.android.com/reference/android/content/Broad
+[BroadcastReceiver](https://developer.android.com/reference/android/content/Broad
castReceiver.html) is an object that is instantiated when an IPC mechanism
known as an
-[Intent](http://code.google.com/android/reference/android/content/Intent.html)
+[Intent](https://developer.android.com/reference/android/content/Intent.html)
is issued by the operating system or another application. An application may
register a receiver for the low battery message, for example, and change its
behavior based on that information.
@@ -471,8 +471,7 @@
installed while requesting access to protected APIs is shown in *Figure 2*.
The system default permissions are described at
-[http://code.google.com/android/reference/android/Manifest.permission.html](http
-://code.google.com/android/reference/android/Manifest.permission.html).
+[https://developer.android.com/reference/android/Manifest.permission.html](https://developer.android.com/reference/android/Manifest.permission.html).
Applications may declare their own permissions for other applications to use.
Such permissions are not listed in the above location.
@@ -480,7 +479,7 @@
user is to be informed of applications requiring the permission, or who is
allowed to hold a permission. Details on creating and using application
specific permissions are described at
-[http://developer.android.com/guide/topics/security/security.html](http://develo
+[https://developer.android.com/guide/topics/security/security.html](https://develo
per.android.com/guide/topics/security/security.html).
There are some device capabilities, such as the ability to send SMS broadcast
@@ -558,7 +557,7 @@
+ **Binder**: A lightweight capability-based remote procedure call mechanism
designed for high performance when performing in-process and cross-process
calls. Binder is implemented using a custom Linux driver. See
-[http://developer.android.com/reference/android/os/Binder.html](http://developer
+[https://developer.android.com/reference/android/os/Binder.html](https://developer
.android.com/reference/android/os/Binder.html).
+ **Services**: Services (discussed above) can provide interfaces directly
@@ -571,16 +570,14 @@
of code (in this case, the Browser) that knows how to handle that Intent, and
runs it. Intents can also be used to broadcast interesting events (such as a
notification) system-wide. See
-[http://code.google.com/android/reference/android/content/Intent.html](http://co
-de.google.com/android/reference/android/content/Intent.html).
+[https://developer.android.com/reference/android/content/Intent.html](https://developer.android.com/reference/android/content/Intent.html.
+ **ContentProviders**: A ContentProvider is a data storehouse that provides
access to data on the device; the classic example is the ContentProvider that
is used to access the user's list of contacts. An application can access data
that other applications have exposed via a ContentProvider, and an application
can also define its own ContentProviders to expose data of its own. See
-[http://code.google.com/android/reference/android/content/ContentProvider.html](
-http://code.google.com/android/reference/android/content/ContentProvider.html).
+[https://developer.android.com/reference/android/content/ContentProvider.html](https://developer.android.com/reference/android/content/ContentProvider.html).
While it is possible to implement IPC using other mechanisms such as network
sockets or world-writable files, these are the recommended Android IPC
@@ -705,7 +702,7 @@
protection level, restricting access only to applications signed with the same
key while maintaining distinct UIDs and Application Sandboxes. A closer
relationship with a shared Application Sandbox is allowed via the [shared UID
-feature](http://developer.android.com/guide/topics/manifest/manifest-element.htm
+feature](https://developer.android.com/guide/topics/manifest/manifest-element.htm
l#uid) where two or more applications signed with same developer key can
declare a shared UID in their manifest.
@@ -718,7 +715,7 @@
manufacturer.
The [Android DRM
-framework](http://developer.android.com/reference/android/drm/package-summary.ht
+framework](https://developer.android.com/reference/android/drm/package-summary.ht
ml) is implemented in two architectural layers (see figure below):
+ A DRM framework API, which is exposed to applications through the Android
@@ -787,24 +784,23 @@
#Other Resources
Information about the Android Open Source Project is available at
-[http://source.android.com](http://source.android.com).
+[https://source.android.com](https://source.android.com).
Information for Android application developers is here:
-[http://developer.android.com](http://developer.android.com).
+[https://developer.android.com](https://developer.android.com).
The Android Security team can be reached at
[security@android.com](mailto:security@android.com).
Security information exists throughout the Android Open Source and Developer
Sites. A good place to start is here:
-[http://developer.android.com/guide/topics/security/security.html](http://develo
+[https://developer.android.com/guide/topics/security/security.html](https://develo
per.android.com/guide/topics/security/security.html).
A Security FAQ for developers is located here:
-[http://developer.android.com/resources/faq/security.html](http://developer.andr
+[https://developer.android.com/resources/faq/security.html](https://developer.andr
oid.com/resources/faq/security.html).
A community resource for discussion about Android security exists here:
-[http://groups.google.com/group/android-security-discuss](http://groups.google.c
-om/group/android-security-discuss).
+[https://groups.google.com/forum/?fromgroups#!forum/android-security-discuss](https://groups.google.com/forum/?fromgroups#!forum/android-security-discuss).