• This repository has been archived on 08/Nov/2023
  • Stars
    star
    1,658
  • Rank 28,199 (Top 0.6 %)
  • Language
    Java
  • License
    Apache License 2.0
  • Created over 12 years ago
  • Updated about 3 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

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” 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.

Builds

Full Build (Optional)

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

Building Support Library as part of your App build

If you intend to repeatedly make changes to Support Library and to wish to see the results in your app, and you don't want to have to repeatedly build them as separate Gradle projects, you can configure your app build to build Support Library too

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
  • 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)

More Repositories

1

platform_frameworks_base

Java
10,545
star
2

platform_development

Python
2,699
star
3

platform_system_core

C++
1,179
star
4

platform_bionic

Objective-C
583
star
5

platform_packages_apps_settings

Java
489
star
6

kernel_common

C
473
star
7

platform_dalvik

Java
445
star
8

platform_build

Makefile
418
star
9

platform_packages_apps_music

Java
291
star
10

platform_packages_apps_contacts

Java
279
star
11

platform_packages_apps_calendar

Java
268
star
12

platform_manifest

233
star
13

platform_packages_apps_mms

Java
212
star
14

tools_repo

Python
193
star
15

platform_packages_apps_browser

Java
192
star
16

platform_packages_apps_camera

Java
182
star
17

platform_packages_apps_calculator

Java
167
star
18

platform_packages_apps_email

Java
134
star
19

platform_packages_apps_alarmclock

Java
127
star
20

platform_packages_apps_launcher

Java
126
star
21

kernel_msm

125
star
22

platform_packages_apps_packageinstaller

Java
120
star
23

platform_external_qemu

C
107
star
24

platform_external_protobuf

C++
103
star
25

platform_packages_apps_phone

97
star
26

platform_hardware_libhardware

C++
91
star
27

platform_external_webkit

C++
78
star
28

platform_packages_providers_downloadprovider

Java
71
star
29

platform_packages_providers_contactsprovider

Java
69
star
30

platform_external_opencore

C++
67
star
31

platform_external_openssl

57
star
32

platform_external_skia

C++
56
star
33

platform_hardware_ril

C++
56
star
34

platform_packages_apps_soundrecorder

Java
56
star
35

platform_packages_providers_telephonyprovider

Java
50
star
36

platform_frameworks_policies_base

Java
50
star
37

platform_prebuilt

C
49
star
38

platform_packages_providers_mediaprovider

Java
48
star
39

platform_packages_apps_stk

Java
44
star
40

platform_system_bluetooth

C
40
star
41

platform_external_wpa_supplicant

C
39
star
42

platform_external_apache-http

Java
39
star
43

platform_packages_apps_htmlviewer

Java
38
star
44

platform_external_libpcap

C
38
star
45

platform_external_sqlite

C++
36
star
46

platform_packages_providers_calendarprovider

Java
36
star
47

platform_external_freetype

C
35
star
48

platform_external_libxml2

C
34
star
49

platform_external_iptables

C
31
star
50

platform_external_sonivox

C
28
star
51

platform_packages_apps_googlesearch

Java
27
star
52

platform_external_icu4c

C++
26
star
53

platform_packages_apps_im

Java
26
star
54

platform_external_zlib

C
24
star
55

platform_packages_apps_voicedialer

Java
24
star
56

platform_external_giflib

C
23
star
57

platform_external_netcat

C
22
star
58

platform_external_bluez

C
22
star
59

platform_frameworks_opt_com.google.android

Makefile
22
star
60

platform_external_strace

C
22
star
61

platform_external_dhcpcd

C
21
star
62

platform_external_expat

C
21
star
63

platform_external_libpng

C
20
star
64

platform_external_ppp

C
19
star
65

platform_external_tcpdump

C
19
star
66

platform_external_dbus

C
19
star
67

platform_packages_apps_sync

18
star
68

platform_external_jpeg

C
17
star
69

platform_external_elfutils

C
17
star
70

platform_external_jdiff

Java
16
star
71

platform_external_srec

Roff
16
star
72

platform_external_emma

Java
16
star
73

platform_external_oprofile

C
14
star
74

platform_external_netperf

C
14
star
75

platform_external_aes

C
14
star
76

platform_packages_apps_updater

14
star
77

platform_external_jhead

C
14
star
78

platform_external_fdlibm

C
13
star
79

platform_packages_providers_googlecontactsprovider

Makefile
13
star
80

platform_external_gdata

Java
13
star
81

platform_packages_providers_drmprovider

Java
13
star
82

platform_external_tagsoup

Java
13
star
83

platform_external_dropbear

C
13
star
84

platform_packages_providers_improvider

Java
12
star
85

platform_system_wlan_ti

C
12
star
86

aosp-mirror.github.io

HTML
12
star
87

platform_external_ping

12
star
88

platform_external_googleclient

Makefile
12
star
89

platform_external_clearsilver

C
12
star
90

platform_external_esd

C
11
star
91

platform_external_neven

C
11
star
92

platform_external_tinyxml

C++
11
star
93

platform_external_yaffs2

C
11
star
94

platform_external_libffi

C
10
star
95

platform_external_tremor

C
9
star
96

platform_external_elfcopy

C
9
star
97

platform_external_safe-iop

C
9
star
98

.github

A repository for GitHub-specific configurations.
8
star
99

.allstar

2
star