69 lines
3 KiB
Markdown
69 lines
3 KiB
Markdown
# AOSP Support Library Contribution Guide
|
||
## Accepted Types of Contributions
|
||
* Bug fixes (needs a corresponding bug report in b.android.com)
|
||
* 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
|
||
|
||
We **are not** currently accepting new modules, features, or behavior changes.
|
||
|
||
## Checking Out the Code
|
||
**NOTE: You will need to use Linux or Mac OS. Building under Windows is not currently supported.**
|
||
|
||
Follow the [“Downloading the Source”](https://source.android.com/source/downloading.html) guide to install and set up `repo` tool, but instead of running the listed `repo` commands to initialize the repository, run the folowing:
|
||
|
||
repo init -u https://android.googlesource.com/platform/manifest -b ub-supportlib-master
|
||
|
||
Now your repository is set to pull only what you need for building and running support library. Download the code (and grab a coffee while we pull down 7GB):
|
||
|
||
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
|
||
Open `path/to/checkout/frameworks/support/` in Android Studio. 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`.
|
||
|
||
## Optional - Full Build
|
||
You can do most of your work from Android Studio, however you can also build the full support library from command line:
|
||
|
||
cd path/to/checkout/frameworks/support/
|
||
./gradlew createArchive
|
||
|
||
## 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 android.support.foobar`
|
||
|
||
## Running Sample Apps
|
||
Support library has a set of Android applications that exercise support library 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 support-\*-demos (e.g. support-4v-demos or support-leanback-demos. You can run them by clicking `Run > Run ...` and choosing the desired application.
|
||
|
||
## 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)?
|
||
|
||
## Getting reviewed
|
||
* After you run repo upload, open [r.android.com](http://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)
|
||
|