Skip to content
No description, website, or topics provided.
Java Kotlin Python ANTLR Shell HTML
Branch: androidx-maste…
Clone or download
Treehugger Robot Gerrit Code Review
Latest commit b9cd833 Jul 13, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.idea Update Project.xml for Studio 3.5 Beta 5 Jul 9, 2019
activity Make activity and fragment ktx mirror dependencies Jul 11, 2019
ads/ads-identifier Add a way to create snapshot repository directory May 29, 2019
animation Merge "Remove raw usage of Class and Constructor types" into androidx… Jun 14, 2019
annotation Merge changes from topic "exp_pkg_tests" into androidx-master-dev Jul 1, 2019
annotations Making restricted api txt files also include public apis Jul 9, 2019
api Update docs generation to exclude dependency R files Oct 18, 2017
appcompat Fix AppCompat test failures Jul 11, 2019
arch Making restricted api txt files also include public apis Jul 9, 2019
asynclayoutinflater Making restricted api txt files also include public apis Jul 9, 2019
autofill Making restricted api txt files also include public apis Jul 9, 2019
benchmark Making restricted api txt files also include public apis Jul 9, 2019
biometric Merge "Update BiometricPrompt documentation for surviving configurati… Jul 12, 2019
browser Add feature detection for color scheme customization Jul 12, 2019
buildSrc Merge "Migrate to Compile-Testing 0.18" into androidx-master-dev Jul 12, 2019
camera Merge "Added xizh@ to OWNERS, welcome!" into androidx-master-dev Jul 12, 2019
car Merge "Update button offsets for Car dialog minimum width buttons." i… Jul 12, 2019
cardview Making restricted api txt files also include public apis Jul 9, 2019
collection Making restricted api txt files also include public apis Jul 9, 2019
compose Merge "Improve initial composition performance" into androidx-master-dev Jul 12, 2019
concurrent Making restricted api txt files also include public apis Jul 9, 2019
content Making restricted api txt files also include public apis Jul 9, 2019
coordinatorlayout Making restricted api txt files also include public apis Jul 9, 2019
core Fix equality comparison in AccessibilityNodeInfoCompat Jul 12, 2019
cursoradapter Making restricted api txt files also include public apis Jul 9, 2019
customview Fix equality comparison in AccessibilityNodeInfoCompat Jul 12, 2019
development Support for the ui/ build in diagnose-build-failure.sh too Jul 9, 2019
docs-fake Change vectordrawable-animated package name. May 16, 2019
docs-runner Running Dokka for public docs too Feb 26, 2019
documentfile Making restricted api txt files also include public apis Jul 9, 2019
drawerlayout Remove use of deprecated AccessibilityNodeInfoCompat calls. Jul 12, 2019
dumb-tests Add a way to create snapshot repository directory May 29, 2019
dynamic-animation Remove api dependency on collection Jul 10, 2019
emoji Making restricted api txt files also include public apis Jul 9, 2019
enterprise Replace Log with Flogger in enterprise. Jul 11, 2019
exifinterface Making restricted api txt files also include public apis Jul 9, 2019
fakeannotations Add 2 fake annotations and updateApi for SDK drop in same topic. Apr 12, 2019
fragment Fix typo in comment Jul 12, 2019
frameworks/support Add offline docs target for support lib gradle build Jul 1, 2016
gradle/wrapper Move to Gradle 5.5.1 Jul 11, 2019
graphics Making restricted api txt files also include public apis Jul 9, 2019
gridlayout Merge changes I0c09501a,I5c87748b,Ie2311878,I4f6dce0a,I8d405815 into … Jul 11, 2019
heifwriter Making restricted api txt files also include public apis Jul 9, 2019
inspection Setup empty project for experimental AndroidX Inspection Jun 11, 2019
interpolator Making restricted api txt files also include public apis Jul 9, 2019
jetifier SwipeRefreshLayout - Add attributes for colors, so that they can be a… Jul 12, 2019
leanback-preference Making restricted api txt files also include public apis Jul 9, 2019
leanback Making restricted api txt files also include public apis Jul 9, 2019
legacy/core-utils Making restricted api txt files also include public apis Jul 9, 2019
lifecycle Migrate to Compile-Testing 0.18 Jul 12, 2019
loader Merge changes I0c09501a,I5c87748b,Ie2311878,I4f6dce0a,I8d405815 into … Jul 11, 2019
localbroadcastmanager Making restricted api txt files also include public apis Jul 9, 2019
media Making restricted api txt files also include public apis Jul 9, 2019
media2 Prevent findControlButton from throwing NPE Jul 11, 2019
mediarouter Making restricted api txt files also include public apis Jul 9, 2019
navigation Merge "Move Navigation to 2.1.0-beta01" into androidx-master-dev Jul 11, 2019
paging Add PagedSource constructors for PagedList. Jul 11, 2019
palette Merge changes I72fca0bd,If5f505d4 into androidx-master-dev Jul 10, 2019
percentlayout Merge changes I0c09501a,I5c87748b,Ie2311878,I4f6dce0a,I8d405815 into … Jul 11, 2019
preference Making restricted api txt files also include public apis Jul 9, 2019
print Making restricted api txt files also include public apis Jul 9, 2019
recommendation Making restricted api txt files also include public apis Jul 9, 2019
recyclerview Merge "Update to aosp/973584 that is less likely to break apps." into… Jul 12, 2019
remotecallback Use SimpleArrayMap in implementation Jul 10, 2019
room Migrate to Compile-Testing 0.18 Jul 12, 2019
samples Merge "Update BiometricPrompt documentation for surviving configurati… Jul 12, 2019
savedstate Merge "Revert "Fix maxDepVersions testing"" into androidx-master-dev Jul 11, 2019
scripts
security Merge changes I0c09501a,I5c87748b,Ie2311878,I4f6dce0a,I8d405815 into … Jul 11, 2019
sharetarget Making restricted api txt files also include public apis Jul 9, 2019
slices Making restricted api txt files also include public apis Jul 9, 2019
slidingpanelayout Fix equality comparison in AccessibilityNodeInfoCompat Jul 12, 2019
sqlite Making restricted api txt files also include public apis Jul 9, 2019
swiperefreshlayout SwipeRefreshLayout - Add attributes for colors, so that they can be a… Jul 12, 2019
test/screenshot Added annotation for screenshot test Jun 7, 2019
testutils-common Move TestExecutor into common testutils May 13, 2019
testutils-ktx Delete SupportKotlinLibraryPlugin. Apr 2, 2019
testutils Use ToT Lifecycle for activity and fragment, v2 Jun 27, 2019
textclassifier
transition Making restricted api txt files also include public apis Jul 9, 2019
tv-provider Making restricted api txt files also include public apis Jul 9, 2019
ui Merge "Add more benchmarks." into androidx-master-dev Jul 12, 2019
versionedparcelable Making restricted api txt files also include public apis Jul 9, 2019
viewpager Merge changes from topic "jg-vp2-pindep" into androidx-master-dev Jul 10, 2019
viewpager2 Merge "Changed default scrolling touch slop to PAGING" into androidx-… Jul 12, 2019
wear Making restricted api txt files also include public apis Jul 9, 2019
webkit Merge "[WebKit] Make AssetLoader API more generic" into androidx-mast… Jul 11, 2019
work WorkManager 2.2.0-beta01. Jul 12, 2019
.gitignore Stop IJ from marking @TaskAction methods as unused. May 16, 2019
LICENSE.txt Poke the build Apr 16, 2019
OWNERS Add jsproch to owners May 10, 2019
PREUPLOAD.cfg Add commit hook for checking IDEA-specific suppress comments that cau… Apr 3, 2019
README.md Fix code blocks rendering in setup instructions Jun 14, 2019
build.gradle Move dejetifying to Kotlin May 3, 2019
cleanBuild.sh Making cleanBuild.sh frun the ui/ build when invoked from the ./ui dir Jul 10, 2019
gradle.properties Merge "Change vectordrawable-animated package name." into androidx-ma… May 16, 2019
gradlew Always setting OUT_DIR to a default value if unset Apr 11, 2019
include-composite-deps.gradle Remove jdiff and legacy doclava api tracking. May 13, 2019
include-support-library.gradle Have Gradle permit SL to be an included build Jan 18, 2018
settings.gradle Modify settings.gradle to match moved files for Camera Jul 10, 2019
studiow Correctly pass $@ to parseOptions Jul 3, 2019

README.md

Android Jetpack

Jetpack is a suite of libraries, tools, and guidance to help developers write high-quality apps easier. These components help you follow best practices, free you from writing boilerplate code, and simplify complex tasks, so you can focus on the code you care about.

Jetpack comprises the androidx.* package libraries, unbundled from the platform APIs. This means that it offers backward compatibility and is updated more frequently than the Android platform, making sure you always have access to the latest and greatest versions of the Jetpack components.

Our official AARs and JARs binaries are distributed through Google Maven.

You can learn more about using it from Android Jetpack landing page.

Contribution Guide

Accepted Types of Contributions

  • Bug fixes - needs a corresponding bug report in the Android Issue Tracker
  • Each bug fix is expected to come with tests
  • Fixing spelling errors
  • Updating documentation
  • Adding new tests to the area that is not currently covered by tests
  • New features to existing libraries if the feature request bug has been approved by an AndroidX team member.

We are not currently accepting new modules.

Checking Out the Code

NOTE: You will need to use Linux or Mac OS. Building under Windows is not currently supported.

  1. Install repo (Repo is a tool that makes it easier to work with Git in the context of Android. For more information about Repo, see the Repo Command Reference)
    mkdir ~/bin
    PATH=~/bin:$PATH
    curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
    chmod a+x ~/bin/repo
  1. Configure Git with your real name and email address.
    git config --global user.name "Your Name"
    git config --global user.email "you@example.com"
  1. Create a directory for your checkout (it can be any name)
    mkdir androidx-master-dev
    cd androidx-master-dev
  1. Use repo command to initialize the repository.
    repo init -u https://android.googlesource.com/platform/manifest -b androidx-master-dev
  1. Now your repository is set to pull only what you need for building and running AndroidX libraries. Download the code (and grab a coffee while we pull down 6GB):
    repo sync -j8 -c

You will use this command to sync your checkout in the future - it’s similar to git fetch

Using Android Studio

To open the project with the specific version of Android Studio recommended for developing:

cd path/to/checkout/frameworks/support/
./studiow

and accept the license agreement when prompted. Now you're ready edit, run, and test!

If you get “Unregistered VCS root detected” click “Add root” to enable git integration for Android Studio.

If you see any warnings (red underlines) run Build > Clean Project.

Builds

Full Build (Optional)

You can do most of your work from Android Studio, however you can also build the full AndroidX library from command line:

cd path/to/checkout/frameworks/support/
./gradlew createArchive

Testing modified AndroidX Libraries to in your App

You can build maven artifacts locally, and test them directly in your app:

./gradlew createArchive

And put in your project build.gradle file:

handler.maven { url '/path/to/checkout/out/androidx/build/support_repo/' }

Continuous integration

Our continuous integration system builds all in progress (and potentially unstable) libraries as new changes are merged. You can manually download these AARs and JARs for your experimentation.

Running Tests

Single Test Class or Method

  1. Open the desired test file in Android Studio.
  2. Right-click on a test class or @Test method name and select Run FooBarTest

Full Test Package

  1. In the project side panel open the desired module.
  2. Find the directory with the tests
  3. Right-click on the directory and select Run androidx.foobar

Running Sample Apps

The AndroidX repository has a set of Android applications that exercise AndroidX code. These applications can be useful when you want to debug a real running application, or reproduce a problem interactively, before writing test code.

These applications are named either <libraryname>-integration-tests-testapp, or support-\*-demos (e.g. support-4v-demos or support-leanback-demos). You can run them by clicking Run > Run ... and choosing the desired application.

Password and Contributor Agreement before making a change

Before uploading your first contribution, you will need setup a password and agree to the contribution agreement:

Generate a HTTPS password: https://android-review.googlesource.com/new-password

Agree to the Google Contributor Licenses Agreement: https://android-review.googlesource.com/settings/new-agreement

Making a change

cd path/to/checkout/frameworks/support/
repo start my_branch_name .
(make needed modifications)
git commit -a
repo upload --current-branch .

If you see the following prompt, choose always:

Run hook scripts from https://android.googlesource.com/platform/manifest (yes/always/NO)?

If the upload succeeds, you'll see output like:

remote:
remote: New Changes:
remote:   https://android-review.googlesource.com/c/platform/frameworks/support/+/720062 Further README updates
remote:

To edit your change, use git commit --amend, and re-upload.

Getting reviewed

  • After you run repo upload, open r.android.com
  • Sign in into your account (or create one if you do not have one yet)
  • Add an appropriate reviewer (use git log to find who did most modifications on the file you are fixing or check the OWNERS file in the project's directory)

Handling binary dependencies

AndroidX uses git to store all the binary Gradle dependencies. They are stored in prebuilts/androidx/internal and prebuilts/androidx/external directories in your checkout. All the dependencies in these directories are also available from google(), jcenter(), or mavenCentral(). We store copies of these dependencies to have hermetic builds. You can pull in a new dependency using our importMaven tool.

You can’t perform that action at this time.