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 542b8e3..b0ee88c 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.
 
 There are no official binaries for Nexus One, ADP2 or ADP1.
@@ -248,7 +248,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/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).
 
