Bug 1268944 - Remove GeckoView packaging. r?chmanchester draft
authorNick Alexander <nalexander@mozilla.com>
Mon, 25 Jul 2016 11:54:03 -0700
changeset 392509 5c6c386a67e09d285389eb5e9a78de6e81467ab1
parent 392445 251fccc1f62bf0eac569ef4f6717fea61ebadb27
child 526347 43fe32cf0ad3e11f8346dc03cc3ace2df6e8bf69
push id24044
push usernalexander@mozilla.com
push dateMon, 25 Jul 2016 18:56:15 +0000
reviewerschmanchester
bugs1268944
milestone50.0a1
Bug 1268944 - Remove GeckoView packaging. r?chmanchester The best kind of patch: bulk deletion. This removes two separate but similar build flags, and an unsupported integration piece. The first packaged Fennec's resources into an ill-defined GeckoView archive; the second built on the first to produce an Android ARchive for external consumption. Neither of these artifacts are supported or have consumers; in fact, they mislead potential consumers, since they're known to be broken. The Gradle build work under the --with-gradle flag, and significant follow-up, is the path forward if Mozilla wants to invest in packaging GeckoView on Android for external consumption. That is, rather than hacking together AAR files, we'll use the well-supported Gradle mechanisms for building and publishing such libraries. MozReview-Commit-ID: 4Z1jJ8z0cyJ
mobile/android/base/Makefile.in
mobile/android/config/mozconfigs/android-api-15-frontend/nightly
mobile/android/config/mozconfigs/android-api-15-gradle-dependencies/nightly
mobile/android/config/mozconfigs/android-api-15/l10n-nightly
mobile/android/config/mozconfigs/android-api-15/l10n-release
mobile/android/config/mozconfigs/android-api-15/nightly
mobile/android/config/mozconfigs/android-x86/l10n-nightly
mobile/android/config/mozconfigs/android-x86/l10n-release
mobile/android/config/mozconfigs/public-partner/distribution_sample/mozconfig1
mobile/android/geckoview_library/.classpath
mobile/android/geckoview_library/.project
mobile/android/geckoview_library/AndroidManifest.xml.in
mobile/android/geckoview_library/Makefile.in
mobile/android/geckoview_library/build.xml
mobile/android/geckoview_library/geckolibs/AndroidManifest.xml
mobile/android/geckoview_library/geckolibs/classes.jar
mobile/android/geckoview_library/geckoview/AndroidManifest.xml
mobile/android/geckoview_library/local.properties.in
mobile/android/geckoview_library/moz.build
mobile/android/geckoview_library/project.properties.in
mobile/android/moz.build
old-configure.in
python/mozbuild/mozbuild/action/package_geckolibs_aar.py
toolkit/mozapps/installer/upload-files-APK.mk
--- a/mobile/android/base/Makefile.in
+++ b/mobile/android/base/Makefile.in
@@ -387,43 +387,16 @@ res/raw/browsersearch.json: .locales.dep
 res/raw/suggestedsites.json: .locales.deps ;
 
 all_resources = \
   $(DEPTH)/mobile/android/base/AndroidManifest.xml \
   $(android_res_files) \
   $(ANDROID_GENERATED_RESFILES) \
   $(NULL)
 
-# For GeckoView, we want a zip of an Android res/ directory that
-# merges the contents of all the ANDROID_RES_DIRS.  The inner res/
-# directory must have the Android resource two-layer hierarchy.
-
-# The following helper zips files in a directory into a zip file while
-# maintaining the directory structure rooted below the directory.
-# (adding or creating said file as appropriate).  For example, if the
-# dir contains dir/subdir/file, calling with directory dir would
-# create a zip containing subdir/file.  Note: the trailing newline is
-# necessary.
-
-# $(1): zip file to add to (or create).
-# $(2): directory to zip contents of.
-define zip_directory_with_relative_paths
-cd $(2) && zip -q $(1) -r * -x $(subst *,\*,$(not_android_res_files))
-
-endef
-
-ifndef MOZ_DISABLE_GECKOVIEW
-# We delete the archive before updating so that resources removed from
-# the filesystem are removed from the archive.
-geckoview_resources.zip: $(all_resources) $(GLOBAL_DEPS)
-	$(REPORT_BUILD)
-	$(RM) -rf $@
-	$(foreach dir,$(ANDROID_RES_DIRS),$(call zip_directory_with_relative_paths,$(CURDIR)/$@,$(dir)))
-endif
-
 # All of generated/org/mozilla/gecko/R.java, gecko.ap_, and R.txt are
 # produced by aapt; this saves aapt invocations.  The trailing
 # semi-colon defines an empty recipe; defining no recipe at all causes
 # Make to treat the target differently, in a way that defeats our
 # dependencies.
 
 generated/org/mozilla/gecko/R.java: .aapt.deps ;
 
@@ -544,21 +517,16 @@ ifndef MOZILLA_OFFICIAL
 gradle-omnijar: $(abspath $(DIST)/fennec/$(OMNIJAR_NAME))
 else
 # In automation, omni.ja is built only during packaging.
 gradle-omnijar:
 endif
 
 .PHONY: gradle-targets gradle-omnijar
 
-ifndef MOZ_DISABLE_GECKOVIEW
-libs:: geckoview_resources.zip
-	$(INSTALL) geckoview_resources.zip $(FINAL_TARGET)
-endif
-
 # GeneratedJNIWrappers.cpp target also generates
 # GeneratedJNIWrappers.h and GeneratedJNINatives.h
 ifndef MOZ_BUILD_MOBILE_ANDROID_WITH_GRADLE
 libs:: jni-stubs.inc GeneratedJNIWrappers.cpp
 	@(diff jni-stubs.inc $(topsrcdir)/mozglue/android/jni-stubs.inc >/dev/null && \
 	  diff GeneratedJNIWrappers.cpp $(topsrcdir)/widget/android/GeneratedJNIWrappers.cpp >/dev/null && \
 	  diff GeneratedJNIWrappers.h $(topsrcdir)/widget/android/GeneratedJNIWrappers.h >/dev/null && \
 	  diff GeneratedJNINatives.h $(topsrcdir)/widget/android/GeneratedJNINatives.h >/dev/null) || \
--- a/mobile/android/config/mozconfigs/android-api-15-frontend/nightly
+++ b/mobile/android/config/mozconfigs/android-api-15-frontend/nightly
@@ -35,11 +35,9 @@ ac_add_options --with-branding=mobile/an
 
 # This will overwrite the default of stripping everything and keep the symbol table.
 # This is useful for profiling with eideticker. See bug 788680
 STRIP_FLAGS="--strip-debug"
 
 export MOZILLA_OFFICIAL=1
 export MOZ_TELEMETRY_REPORTING=1
 
-MOZ_ANDROID_GECKOLIBS_AAR=1
-
 . "$topsrcdir/mobile/android/config/mozconfigs/common.override"
--- a/mobile/android/config/mozconfigs/android-api-15-gradle-dependencies/nightly
+++ b/mobile/android/config/mozconfigs/android-api-15-gradle-dependencies/nightly
@@ -37,11 +37,9 @@ ac_add_options --with-branding=mobile/an
 
 # This will overwrite the default of stripping everything and keep the symbol table.
 # This is useful for profiling with eideticker. See bug 788680
 STRIP_FLAGS="--strip-debug"
 
 export MOZILLA_OFFICIAL=1
 export MOZ_TELEMETRY_REPORTING=1
 
-MOZ_ANDROID_GECKOLIBS_AAR=1
-
 . "$topsrcdir/mobile/android/config/mozconfigs/common.override"
--- a/mobile/android/config/mozconfigs/android-api-15/l10n-nightly
+++ b/mobile/android/config/mozconfigs/android-api-15/l10n-nightly
@@ -10,17 +10,16 @@ ac_add_options --disable-tests
 ac_add_options --with-android-min-sdk=15
 ac_add_options --target=arm-linux-androideabi
 
 ac_add_options --with-system-zlib
 ac_add_options --enable-updater
 ac_add_options --enable-update-channel=${MOZ_UPDATE_CHANNEL}
 
 export MOZILLA_OFFICIAL=1
-export MOZ_DISABLE_GECKOVIEW=1
 
 ac_add_options --with-branding=mobile/android/branding/nightly
 
 ac_add_options --disable-stdcxx-compat
 
 # Don't autoclobber l10n, as this can lead to missing binaries and broken builds
 # Bug 1283438
 mk_add_options AUTOCLOBBER=
--- a/mobile/android/config/mozconfigs/android-api-15/l10n-release
+++ b/mobile/android/config/mozconfigs/android-api-15/l10n-release
@@ -10,17 +10,16 @@ ac_add_options --disable-tests
 ac_add_options --with-android-min-sdk=15
 ac_add_options --target=arm-linux-androideabi
 
 ac_add_options --with-system-zlib
 ac_add_options --enable-updater
 ac_add_options --enable-update-channel=${MOZ_UPDATE_CHANNEL}
 
 export MOZILLA_OFFICIAL=1
-export MOZ_DISABLE_GECKOVIEW=1
 
 ac_add_options --enable-official-branding
 ac_add_options --with-branding=mobile/android/branding/beta
 
 ac_add_options --disable-stdcxx-compat
 
 # Don't autoclobber l10n, as this can lead to missing binaries and broken builds
 # Bug 1283438
--- a/mobile/android/config/mozconfigs/android-api-15/nightly
+++ b/mobile/android/config/mozconfigs/android-api-15/nightly
@@ -10,11 +10,9 @@ ac_add_options --with-branding=mobile/an
 
 # This will overwrite the default of stripping everything and keep the symbol table.
 # This is useful for profiling with eideticker. See bug 788680
 STRIP_FLAGS="--strip-debug"
 
 export MOZILLA_OFFICIAL=1
 export MOZ_TELEMETRY_REPORTING=1
 
-MOZ_ANDROID_GECKOLIBS_AAR=1
-
 . "$topsrcdir/mobile/android/config/mozconfigs/common.override"
--- a/mobile/android/config/mozconfigs/android-x86/l10n-nightly
+++ b/mobile/android/config/mozconfigs/android-x86/l10n-nightly
@@ -9,17 +9,16 @@ ac_add_options --disable-tests
 # Android
 ac_add_options --target=i386-linux-android
 ac_add_options --with-android-min-sdk=15
 
 ac_add_options --enable-updater
 ac_add_options --enable-update-channel=${MOZ_UPDATE_CHANNEL}
 
 export MOZILLA_OFFICIAL=1
-export MOZ_DISABLE_GECKOVIEW=1
 
 ac_add_options --with-branding=mobile/android/branding/nightly
 
 ac_add_options --disable-stdcxx-compat
 
 # Don't autoclobber l10n, as this can lead to missing binaries and broken builds
 # Bug 1283438
 mk_add_options AUTOCLOBBER=
--- a/mobile/android/config/mozconfigs/android-x86/l10n-release
+++ b/mobile/android/config/mozconfigs/android-x86/l10n-release
@@ -9,17 +9,16 @@ ac_add_options --disable-tests
 # Android
 ac_add_options --target=i386-linux-android
 ac_add_options --with-android-min-sdk=15
 
 ac_add_options --enable-updater
 ac_add_options --enable-update-channel=${MOZ_UPDATE_CHANNEL}
 
 export MOZILLA_OFFICIAL=1
-export MOZ_DISABLE_GECKOVIEW=1
 
 ac_add_options --enable-official-branding
 ac_add_options --with-branding=mobile/android/branding/beta
 
 ac_add_options --disable-stdcxx-compat
 
 # Don't autoclobber l10n, as this can lead to missing binaries and broken builds
 # Bug 1283438
--- a/mobile/android/config/mozconfigs/public-partner/distribution_sample/mozconfig1
+++ b/mobile/android/config/mozconfigs/public-partner/distribution_sample/mozconfig1
@@ -13,11 +13,9 @@ ac_add_options --with-android-distributi
 
 # This will overwrite the default of stripping everything and keep the symbol table.
 # This is useful for profiling with eideticker. See bug 788680
 STRIP_FLAGS="--strip-debug"
 
 export MOZILLA_OFFICIAL=1
 export MOZ_TELEMETRY_REPORTING=1
 
-MOZ_ANDROID_GECKOLIBS_AAR=1
-
 . "$topsrcdir/mobile/android/config/mozconfigs/common.override"
deleted file mode 100644
--- a/mobile/android/geckoview_library/.classpath
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="src" path="gen"/>
-	<classpathentry kind="con" path="com.android.ide.eclipse.adt.ANDROID_FRAMEWORK"/>
-	<classpathentry exported="true" kind="con" path="com.android.ide.eclipse.adt.LIBRARIES">
-		<attributes>
-			<attribute name="org.eclipse.jdt.launching.CLASSPATH_ATTR_LIBRARY_PATH_ENTRY" value="geckoview_library/libs/armeabi-v7a"/>
-		</attributes>
-	</classpathentry>
-	<classpathentry exported="true" kind="con" path="com.android.ide.eclipse.adt.DEPENDENCIES"/>
-	<classpathentry kind="output" path="bin/classes"/>
-</classpath>
deleted file mode 100644
--- a/mobile/android/geckoview_library/.project
+++ /dev/null
@@ -1,33 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>GeckoView</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>com.android.ide.eclipse.adt.ResourceManagerBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>com.android.ide.eclipse.adt.PreCompilerBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>com.android.ide.eclipse.adt.ApkBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>com.android.ide.eclipse.adt.AndroidNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-	</natures>
-</projectDescription>
deleted file mode 100644
--- a/mobile/android/geckoview_library/AndroidManifest.xml.in
+++ /dev/null
@@ -1,13 +0,0 @@
-#filter substitution
-<manifest xmlns:android="http://schemas.android.com/apk/res/android"
-    package="org.mozilla.gecko"
-    android:versionCode="1"
-    android:versionName="1.0" >
-
-    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
-    <uses-permission android:name="android.permission.INTERNET"/>
-    <uses-sdk
-        android:minSdkVersion="8"
-        android:targetSdkVersion="@ANDROID_TARGET_SDK@" />
-
-</manifest>
deleted file mode 100644
--- a/mobile/android/geckoview_library/Makefile.in
+++ /dev/null
@@ -1,44 +0,0 @@
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.0. If a copy of the MPL was not distributed with this
-# file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-GARBAGE_DIRS = \
-  bin \
-  libs \
-  src \
-  .deps \
-  gen  \
-  res \
-  $(NULL)
-
-include $(topsrcdir)/config/rules.mk
-
-dist_files = $(addprefix $(ABS_DIST)/bin/, libmozglue.so $(MOZ_CHILD_PROCESS_NAME) $(MOZ_CHILD_PROCESS_NAME_PIE))
-
-package: local.properties project.properties AndroidManifest.xml FORCE
-	# Make directory for the zips
-	$(MKDIR) -p $(ABS_DIST)/geckoview_library
-
-	# Zip the assets into $(DIST)/geckoview_library/geckoview_assets.zip
-	$(call py_action,zip,-C $(ABS_DIST)/$(MOZ_APP_NAME) $(ABS_DIST)/geckoview_library/geckoview_assets.zip assets)
-
-	# Make empty directories to fit an Android project structure
-	$(MKDIR) -p bin gen libs/$(ANDROID_CPU_ARCH) src
-
-	# Copy the JARs, except for the jar containing org.mozilla.gecko.R.
-	# org.mozilla.gecko.R will be provided by the embedding application.
-	cp $(DEPTH)/mobile/android/base/*.jar libs/
-	$(RM) libs/gecko-R.jar
-
-	# Copy the SOs.
-	cp $(dist_files) libs/$(ANDROID_CPU_ARCH)/
-
-	# Copy the resources
-	$(RM) -rf res
-	$(MKDIR) -p res
-	cd res && \
-	$(UNZIP) -q -u -o $(ABS_DIST)/bin/geckoview_resources.zip
-
-	# Zip the directory
-	cd $(DEPTH)/mobile/android && \
-	$(ZIP) -q -r $(ABS_DIST)/geckoview_library/geckoview_library.zip geckoview_library -x geckoview_library/backend.mk geckoview_library/Makefile
deleted file mode 100644
--- a/mobile/android/geckoview_library/build.xml
+++ /dev/null
@@ -1,92 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project name="GeckoView" default="help">
-
-    <!-- The local.properties file is created and updated by the 'android' tool.
-         It contains the path to the SDK. It should *NOT* be checked into
-         Version Control Systems. -->
-    <property file="local.properties" />
-
-    <!-- The ant.properties file can be created by you. It is only edited by the
-         'android' tool to add properties to it.
-         This is the place to change some Ant specific build properties.
-         Here are some properties you may want to change/update:
-
-         source.dir
-             The name of the source directory. Default is 'src'.
-         out.dir
-             The name of the output directory. Default is 'bin'.
-
-         For other overridable properties, look at the beginning of the rules
-         files in the SDK, at tools/ant/build.xml
-
-         Properties related to the SDK location or the project target should
-         be updated using the 'android' tool with the 'update' action.
-
-         This file is an integral part of the build system for your
-         application and should be checked into Version Control Systems.
-
-         -->
-    <!--<property file="ant.properties" />-->
-
-    <!-- if sdk.dir was not set from one of the property file, then
-         get it from the ANDROID_HOME env var.
-         This must be done before we load project.properties since
-         the proguard config can use sdk.dir -->
-    <property environment="env" />
-    <condition property="sdk.dir" value="${env.ANDROID_HOME}">
-        <isset property="env.ANDROID_HOME" />
-    </condition>
-
-    <!-- The project.properties file is created and updated by the 'android'
-         tool, as well as ADT.
-
-         This contains project specific properties such as project target, and library
-         dependencies. Lower level build properties are stored in ant.properties
-         (or in .classpath for Eclipse projects).
-
-         This file is an integral part of the build system for your
-         application and should be checked into Version Control Systems. -->
-    <loadproperties srcFile="project.properties" />
-
-    <!-- quick check on sdk.dir -->
-    <fail
-            message="sdk.dir is missing. Make sure to generate local.properties using 'android update project' or to inject it through the ANDROID_HOME environment variable."
-            unless="sdk.dir"
-    />
-
-    <!--
-        Import per project custom build rules if present at the root of the project.
-        This is the place to put custom intermediary targets such as:
-            -pre-build
-            -pre-compile
-            -post-compile (This is typically used for code obfuscation.
-                           Compiled code location: ${out.classes.absolute.dir}
-                           If this is not done in place, override ${out.dex.input.absolute.dir})
-            -post-package
-            -post-build
-            -pre-clean
-    -->
-    <import file="custom_rules.xml" optional="true" />
-
-    <!-- Import the actual build file.
-
-         To customize existing targets, there are two options:
-         - Customize only one target:
-             - copy/paste the target into this file, *before* the
-               <import> task.
-             - customize it to your needs.
-         - Customize the whole content of build.xml
-             - copy/paste the content of the rules files (minus the top node)
-               into this file, replacing the <import> task.
-             - customize to your needs.
-
-         ***********************
-         ****** IMPORTANT ******
-         ***********************
-         In all cases you must update the value of version-tag below to read 'custom' instead of an integer,
-         in order to avoid having your file be overridden by tools such as "android update project"
-    -->
-    <!-- version-tag: 1 -->
-    <import file="${sdk.dir}/tools/ant/build.xml" />
-
-</project>
deleted file mode 100644
--- a/mobile/android/geckoview_library/geckolibs/AndroidManifest.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<manifest xmlns:android="http://schemas.android.com/apk/res/android"
-    package="org.mozilla.gecko.libs">
-
-</manifest>
deleted file mode 100644
index 09af11bda0c895e33494d4aac83c1171c3267ab8..0000000000000000000000000000000000000000
GIT binary patch
literal 0
Hc$@<O00001
deleted file mode 100644
--- a/mobile/android/geckoview_library/geckoview/AndroidManifest.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<manifest xmlns:android="http://schemas.android.com/apk/res/android"
-    package="org.mozilla.gecko">
-
-    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
-    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
-    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
-    <uses-permission android:name="android.permission.INTERNET"/>
-
-</manifest>
deleted file mode 100644
--- a/mobile/android/geckoview_library/local.properties.in
+++ /dev/null
@@ -1,11 +0,0 @@
-#filter substitution
-# This file is automatically generated by Android Tools.
-# Do not modify this file -- YOUR CHANGES WILL BE ERASED!
-#
-# This file must *NOT* be checked into Version Control Systems,
-# as it contains information specific to your local configuration.
-
-# location of the SDK. This is only used by Ant
-# For customization when using a Version Control System, please read the
-# header note.
-sdk.dir=@ANDROID_SDK_ROOT@
deleted file mode 100644
--- a/mobile/android/geckoview_library/moz.build
+++ /dev/null
@@ -1,20 +0,0 @@
-# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
-# vim: set filetype=python:
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.0. If a copy of the MPL was not distributed with this
-# file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-DEFINES['ANDROID_SDK'] = CONFIG['ANDROID_SDK']
-DEFINES['ANDROID_SDK_ROOT'] = CONFIG['ANDROID_SDK_ROOT']
-
-OBJDIR_FILES.mobile.android.geckoview_library += [
-    '.classpath',
-    '.project',
-    'build.xml',
-]
-
-OBJDIR_PP_FILES.mobile.android.geckoview_library += [
-    'AndroidManifest.xml.in',
-    'local.properties.in',
-    'project.properties.in',
-]
deleted file mode 100644
--- a/mobile/android/geckoview_library/project.properties.in
+++ /dev/null
@@ -1,16 +0,0 @@
-#filter substitution
-# This file is automatically generated by Android Tools.
-# Do not modify this file -- YOUR CHANGES WILL BE ERASED!
-#
-# This file must be checked in Version Control Systems.
-#
-# To customize properties used by the Ant build system edit
-# "ant.properties", and override values to adapt the script to your
-# project structure.
-#
-# To enable ProGuard to shrink and obfuscate your code, uncomment this (available properties: sdk.dir, user.home):
-#proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt
-
-# Project target.
-target=android-@ANDROID_TARGET_SDK@
-android.library=true
--- a/mobile/android/moz.build
+++ b/mobile/android/moz.build
@@ -19,17 +19,16 @@ DIRS += [
     'base',
     'chrome',
     'components',
     'extensions',
     'modules',
     'themes/core',
     'app',
     'fonts',
-    'geckoview_library',
 ]
 
 if CONFIG['MOZ_ANDROID_PACKAGE_INSTALL_BOUNCER']:
     DIRS += ['bouncer'] # No ordering implied with respect to base.
 
 TEST_DIRS += [
     'tests',
 ]
--- a/old-configure.in
+++ b/old-configure.in
@@ -6180,18 +6180,16 @@ AC_SUBST(MOZ_D3D_CPU_SUFFIX)
 AC_SUBST(MOZ_HAS_WINSDK_WITH_D3D)
 AC_SUBST(MOZ_D3DCOMPILER_VISTA_DLL)
 AC_SUBST(MOZ_D3DCOMPILER_VISTA_DLL_PATH)
 AC_SUBST(MOZ_DIRECTX_SDK_PATH)
 AC_SUBST(MOZ_D3DCOMPILER_XP_DLL)
 AC_SUBST(MOZ_D3DCOMPILER_XP_CAB)
 
 AC_SUBST(MOZ_WEBSMS_BACKEND)
-AC_SUBST(MOZ_DISABLE_GECKOVIEW)
-AC_SUBST(MOZ_ANDROID_GECKOLIBS_AAR)
 AC_SUBST(MOZ_ANDROID_APPLICATION_CLASS)
 AC_SUBST(MOZ_ANDROID_BROWSER_INTENT_CLASS)
 AC_SUBST(MOZ_ANDROID_SEARCH_INTENT_CLASS)
 AC_SUBST(MOZ_EXCLUDE_HYPHENATION_DICTIONARIES)
 AC_SUBST(MOZ_INSTALL_TRACKING)
 AC_SUBST(ENABLE_STRIP)
 AC_SUBST(PKG_SKIP_STRIP)
 AC_SUBST(STRIP_FLAGS)
deleted file mode 100644
--- a/python/mozbuild/mozbuild/action/package_geckolibs_aar.py
+++ /dev/null
@@ -1,267 +0,0 @@
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.0. If a copy of the MPL was not distributed with this
-# file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-'''
-Script to produce an Android ARchive (.aar) containing the compiled
-Gecko library binaries.  The AAR file is intended for use by local
-developers using Gradle.
-'''
-
-from __future__ import absolute_import, print_function
-
-import argparse
-import hashlib
-import os
-import shutil
-import sys
-import zipfile
-
-from mozbuild import util
-from mozpack.copier import Jarrer
-from mozpack.files import (
-    File,
-    FileFinder,
-    JarFinder,
-)
-from mozpack.mozjar import JarReader
-
-MAVEN_POM_TEMPLATE = r'''
-<?xml version="1.0" encoding="UTF-8"?>
-<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
-    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-  <modelVersion>4.0.0</modelVersion>
-  <groupId>{groupId}</groupId>
-  <artifactId>{artifactId}</artifactId>
-  <version>{version}</version>
-  <packaging>{packaging}</packaging>
-  <dependencies>
-    {dependencies}
-  </dependencies>
-</project>
-'''.lstrip()
-
-MAVEN_POM_DEPENDENCY_TEMPLATE = r'''
-  <dependency>
-     <groupId>{groupId}</groupId>
-     <artifactId>{artifactId}</artifactId>
-     <version>{version}</version>
-     <type>{packaging}</type>
-  </dependency>
-'''.lstrip()
-
-IVY_XML_TEMPLATE = r'''
-<?xml version="1.0" encoding="UTF-8"?>
-<ivy-module version="2.0">
-  <info organisation="{organisation}" module="{module}" revision="{revision}" status="integration" publication="{publication}"/>
-  <configurations/>
-  <publications>
-    <artifact name="{name}" type="{type}" ext="{ext}"/>
-  </publications>
-  <dependencies>
-    {dependencies}
-  </dependencies>
-</ivy-module>
-'''.lstrip()
-
-IVY_XML_DEPENDENCY_TEMPLATE = r'''
-<dependency org="{organisation}" name="{name}" rev="{revision}" />
-'''.lstrip()
-
-def _zipdir(path, output_file):
-    zip = zipfile.ZipFile(output_file, "w")
-    for root, dirs, files in os.walk(path, topdown=True):
-        archive_root = root.replace(path, '')
-        for file in files:
-            zip.write(os.path.join(root, file), os.path.join(archive_root, file))
-
-def _generate_geckoview_classes_jar(distdir, base_path):
-    base_folder = FileFinder(base_path, ignore=['gecko-R.jar'])
-
-    # Unzip all jar files into $(DISTDIR)/geckoview_aar_classes.
-    geckoview_aar_classes_path = os.path.join(distdir, 'geckoview_aar_classes')
-    shutil.rmtree(geckoview_aar_classes_path, ignore_errors=True)
-    util.ensureParentDir(geckoview_aar_classes_path)
-
-    for p, f in base_folder.find('*.jar'):
-        with zipfile.ZipFile(f.path) as zf:
-            zf.extractall(geckoview_aar_classes_path)
-
-    # Rezip them into a single classes.jar file.
-    classes_jar_path =  os.path.join(distdir, 'classes.jar')
-    _zipdir(geckoview_aar_classes_path, classes_jar_path)
-    return File(classes_jar_path)
-
-def package_geckolibs_aar(topsrcdir, distdir, appname, output_file):
-    jarrer = Jarrer(optimize=False)
-
-    srcdir = os.path.join(topsrcdir, 'mobile', 'android', 'geckoview_library', 'geckolibs')
-    jarrer.add('AndroidManifest.xml', File(os.path.join(srcdir, 'AndroidManifest.xml')))
-    jarrer.add('classes.jar', File(os.path.join(srcdir, 'classes.jar')))
-
-    jni = FileFinder(os.path.join(distdir, appname, 'lib'))
-    for p, f in jni.find('**/*.so'):
-        jarrer.add(os.path.join('jni', p), f)
-
-    # Include the buildinfo JSON as an asset, to give future consumers at least
-    # a hope of determining where this AAR came from.
-    json = FileFinder(distdir, ignore=['*.mozinfo.json'])
-    for p, f in json.find('*.json'):
-        jarrer.add(os.path.join('assets', p), f)
-
-    # This neatly ignores omni.ja.
-    assets = FileFinder(os.path.join(distdir, appname, 'assets'))
-    for p, f in assets.find('**/*.so'):
-        jarrer.add(os.path.join('assets', p), f)
-
-    jarrer.copy(output_file)
-    return 0
-
-def package_geckoview_aar(topsrcdir, distdir, appname, output_file):
-    jarrer = Jarrer(optimize=False)
-    app_path = os.path.join(distdir, appname)
-    assets = FileFinder(os.path.join(app_path, 'assets'), ignore=['*.so'])
-    for p, f in assets.find('omni.ja'):
-        jarrer.add(os.path.join('assets', p), f)
-
-    # The folder that contains Fennec's JAR files and resources.
-    base_path = os.path.join(distdir, '..', 'mobile', 'android', 'base')
-
-    # The resource set is packaged during Fennec's build.
-    resjar = JarReader(os.path.join(base_path, 'geckoview_resources.zip'))
-    for p, f in JarFinder(base_path, resjar).find('*'):
-        jarrer.add(os.path.join('res', p), f)
-
-    # Package the contents of all Fennec JAR files into classes.jar.
-    classes_jar_file = _generate_geckoview_classes_jar(distdir, base_path)
-    jarrer.add('classes.jar', classes_jar_file)
-
-    # Add R.txt.
-    jarrer.add('R.txt', File(os.path.join(base_path, 'R.txt')))
-
-    # Finally add AndroidManifest.xml.
-    srcdir = os.path.join(topsrcdir, 'mobile', 'android', 'geckoview_library', 'geckoview')
-    jarrer.add('AndroidManifest.xml', File(os.path.join(srcdir, 'AndroidManifest.xml')))
-
-    jarrer.copy(output_file)
-    return 0
-
-def main(args):
-    parser = argparse.ArgumentParser()
-    parser.add_argument(dest='dir',
-                        metavar='DIR',
-                        help='Path to write Android ARchives and metadata to.')
-    parser.add_argument('--verbose', '-v', default=False, action='store_true',
-                        help='be verbose')
-    parser.add_argument('--revision',
-                        help='Revision identifier to write.')
-    parser.add_argument('--topsrcdir',
-                        help='Top source directory.')
-    parser.add_argument('--distdir',
-                        help='Distribution directory (usually $OBJDIR/dist).')
-    parser.add_argument('--appname',
-                        help='Application name (usually $MOZ_APP_NAME, like "fennec").')
-    parser.add_argument('--purge-old', default=False, action='store_true',
-                        help='Delete any existing output files in the output directory.')
-    args = parser.parse_args(args)
-
-    # An Ivy 'publication' date must be given in the form yyyyMMddHHmmss, and Mozilla buildids are in this format.
-    if len(args.revision) != 14:
-        raise ValueError('Revision must be in yyyyMMddHHmmss format: %s' % args.revision)
-
-    paths_to_hash = []
-
-    groupId='org.mozilla'
-    packaging_type='aar'
-    gecklibs_aar = os.path.join(args.dir, 'geckolibs-{revision}.aar').format(revision=args.revision)
-    paths_to_hash.append(gecklibs_aar)
-    geckoview_aar = os.path.join(args.dir, 'geckoview-{revision}.aar').format(revision=args.revision)
-    paths_to_hash.append(geckoview_aar)
-
-    if args.purge_old:
-        old_output_finder = FileFinder(args.dir, find_executables=False)
-        for p, f in old_output_finder.find('geckoview-*.*'):
-            os.remove(f.path)
-        for p, f in old_output_finder.find('geckolibs-*.*'):
-            os.remove(f.path)
-        for p, f in old_output_finder.find('ivy-*.*'):
-            os.remove(f.path)
-
-    package_geckolibs_aar(args.topsrcdir, args.distdir, args.appname, gecklibs_aar)
-    package_geckoview_aar(args.topsrcdir, args.distdir, args.appname, geckoview_aar)
-
-    geckolibs_pom_path = os.path.join(args.dir, 'geckolibs-{revision}.pom').format(revision=args.revision)
-    paths_to_hash.append(geckolibs_pom_path)
-    geckolibs_pom = MAVEN_POM_TEMPLATE.format(
-            groupId=groupId,
-            artifactId='geckolibs',
-            version=args.revision,
-            packaging=packaging_type,
-            dependencies=''
-        )
-
-    with open(geckolibs_pom_path, 'wt') as f:
-        f.write(geckolibs_pom)
-
-    geckoview_pom_path = os.path.join(args.dir, 'geckoview-{revision}.pom').format(revision=args.revision)
-    paths_to_hash.append(geckoview_pom_path)
-    geckoview_pom = MAVEN_POM_TEMPLATE.format(
-        groupId=groupId,
-        artifactId='geckoview',
-        version=args.revision,
-        packaging=packaging_type,
-        dependencies=MAVEN_POM_DEPENDENCY_TEMPLATE.format(
-            groupId=groupId,
-            artifactId='geckolibs',
-            version=args.revision,
-            packaging=packaging_type
-        )
-    )
-
-    with open(geckoview_pom_path, 'wt') as f:
-        f.write(geckoview_pom)
-
-    geckolibs_ivy_path = os.path.join(args.dir, 'ivy-geckolibs-{revision}.xml').format(revision=args.revision)
-    paths_to_hash.append(geckolibs_ivy_path)
-    with open(geckolibs_ivy_path, 'wt') as f:
-        f.write(IVY_XML_TEMPLATE.format(
-            organisation=groupId,
-            module='geckolibs',
-            revision=args.revision,
-            publication=args.revision, # A white lie.
-            name='geckolibs',
-            type=packaging_type,
-            ext=packaging_type,
-            dependencies=''
-        ))
-
-    geckoview_ivy_path = os.path.join(args.dir, 'ivy-geckoview-{revision}.xml').format(revision=args.revision)
-    paths_to_hash.append(geckoview_ivy_path)
-    with open(geckoview_ivy_path, 'wt') as f:
-        f.write(IVY_XML_TEMPLATE.format(
-            organisation=groupId,
-            module='geckoview',
-            revision=args.revision,
-            publication=args.revision, # A white lie.
-            name='geckoview',
-            type=packaging_type,
-            ext=packaging_type,
-            dependencies=IVY_XML_DEPENDENCY_TEMPLATE.format(
-                organisation=groupId,
-                name='geckolibs',
-                revision=args.revision)
-        ))
-
-    for p in paths_to_hash:
-        sha = "%s.sha1" % p
-        with open(sha, 'wt') as f:
-            f.write(util.hash_file(p, hasher=hashlib.sha1()))
-        if args.verbose:
-            print(p)
-            print(sha)
-
-    return 0
-
-
-if __name__ == '__main__':
-    sys.exit(main(sys.argv[1:]))
--- a/toolkit/mozapps/installer/upload-files-APK.mk
+++ b/toolkit/mozapps/installer/upload-files-APK.mk
@@ -20,18 +20,16 @@ ROOT_FILES := \
   $(NULL)
 
 GECKO_APP_AP_PATH = $(topobjdir)/mobile/android/base
 
 ifdef ENABLE_TESTS
 INNER_ROBOCOP_PACKAGE=true
 ifeq ($(MOZ_BUILD_APP),mobile/android)
 UPLOAD_EXTRA_FILES += robocop.apk
-UPLOAD_EXTRA_FILES += geckoview_library/geckoview_library.zip
-UPLOAD_EXTRA_FILES += geckoview_library/geckoview_assets.zip
 
 # Robocop/Robotium tests, Android Background tests, and Fennec need to
 # be signed with the same key, which means release signing them all.
 
 ifndef MOZ_BUILD_MOBILE_ANDROID_WITH_GRADLE
 robocop_apk := $(topobjdir)/mobile/android/tests/browser/robocop/robocop-debug-unsigned-unaligned.apk
 else
 robocop_apk := $(topobjdir)/gradle/build/mobile/android/app/outputs/apk/app-automation-debug-androidTest-unaligned.apk
@@ -65,65 +63,16 @@ INNER_INSTALL_BOUNCER_PACKAGE=\
    (echo "*** Error: The permissions of the bouncer package differ from the permissions of the main package.  Ensure the bouncer and main package Android manifests agree, rebuild mobile/android, and re-package." && exit 1))
 else
 INNER_INSTALL_BOUNCER_PACKAGE=echo 'Testing is disabled, so the install bouncer is disabled - No trampolines for you'
 endif # ENABLE_TESTS
 else
 INNER_INSTALL_BOUNCER_PACKAGE=echo 'Install bouncer is disabled - No trampolines for you'
 endif # MOZ_ANDROID_PACKAGE_INSTALL_BOUNCER
 
-# Create geckoview_library/geckoview_{assets,library}.zip for third-party GeckoView consumers.
-ifdef NIGHTLY_BUILD
-ifndef MOZ_DISABLE_GECKOVIEW
-INNER_MAKE_GECKOVIEW_LIBRARY= \
-  $(MAKE) -C ../mobile/android/geckoview_library package
-else
-INNER_MAKE_GECKOVIEW_LIBRARY=echo 'GeckoView library packaging is disabled'
-endif
-else
-INNER_MAKE_GECKOVIEW_LIBRARY=echo 'GeckoView library packaging is only enabled on Nightly'
-endif
-
-# Create Android ARchives and metadata for download by local
-# developers using Gradle.
-ifdef MOZ_ANDROID_GECKOLIBS_AAR
-ifndef MOZ_DISABLE_GECKOVIEW
-geckoaar-revision := $(BUILDID)
-
-UPLOAD_EXTRA_FILES += \
-  geckolibs-$(geckoaar-revision).aar \
-  geckolibs-$(geckoaar-revision).aar.sha1 \
-  geckolibs-$(geckoaar-revision).pom \
-  geckolibs-$(geckoaar-revision).pom.sha1 \
-  ivy-geckolibs-$(geckoaar-revision).xml \
-  ivy-geckolibs-$(geckoaar-revision).xml.sha1 \
-  geckoview-$(geckoaar-revision).aar \
-  geckoview-$(geckoaar-revision).aar.sha1 \
-  geckoview-$(geckoaar-revision).pom \
-  geckoview-$(geckoaar-revision).pom.sha1 \
-  ivy-geckoview-$(geckoaar-revision).xml \
-  ivy-geckoview-$(geckoaar-revision).xml.sha1 \
-  $(NULL)
-
-INNER_MAKE_GECKOLIBS_AAR= \
-  $(PYTHON) -m mozbuild.action.package_geckolibs_aar \
-    --verbose \
-    --revision $(geckoaar-revision) \
-    --topsrcdir '$(topsrcdir)' \
-    --distdir '$(ABS_DIST)' \
-    --appname '$(MOZ_APP_NAME)' \
-    --purge-old \
-    '$(ABS_DIST)'
-else
-INNER_MAKE_GECKOLIBS_AAR=echo 'Android geckolibs.aar packaging requires packaging geckoview'
-endif # MOZ_DISABLE_GECKOVIEW
-else
-INNER_MAKE_GECKOLIBS_AAR=echo 'Android geckolibs.aar packaging is disabled'
-endif # MOZ_ANDROID_GECKOLIBS_AAR
-
 # Fennec's OMNIJAR_NAME can include a directory; for example, it might
 # be "assets/omni.ja". This path specifies where the omni.ja file
 # lives in the APK, but should not root the resources it contains
 # under assets/ (i.e., resources should not live at chrome://assets/).
 # packager.py writes /omni.ja in order to be consistent with the
 # layout expected by language repacks. Therefore, we move it to the
 # correct path here, in INNER_MAKE_PACKAGE. See comment about
 # OMNIJAR_NAME in configure.in.
@@ -155,19 +104,17 @@ INNER_FENNEC_PACKAGE = \
     --root-files $(foreach f,$(ROOT_FILES),$(STAGEPATH)$(MOZ_PKG_DIR)/$(f)) \
     --output $(PACKAGE:.apk=-unsigned-unaligned.apk) && \
   $(call RELEASE_SIGN_ANDROID_APK,$(PACKAGE:.apk=-unsigned-unaligned.apk),$(PACKAGE))
 
 # Packaging produces many optional artifacts.
 package_fennec = \
   $(INNER_FENNEC_PACKAGE) && \
   $(INNER_ROBOCOP_PACKAGE) && \
-  $(INNER_INSTALL_BOUNCER_PACKAGE) && \
-  $(INNER_MAKE_GECKOLIBS_AAR) && \
-  $(INNER_MAKE_GECKOVIEW_LIBRARY)
+  $(INNER_INSTALL_BOUNCER_PACKAGE)
 
 # Re-packaging only replaces Android resources and the omnijar before
 # (re-)signing.
 repackage_fennec = \
   $(MAKE) -C $(GECKO_APP_AP_PATH) gecko-nodeps.ap_ && \
   $(PYTHON) -m mozbuild.action.package_fennec_apk \
     --verbose \
     --inputs \