commit | 18ae15d28deb376c589f845c112f5634dd6776a3 | [log] [tgz] |
---|---|---|
author | Tor Norbye <tnorbye@google.com> | Fri Mar 02 09:52:34 2018 -0800 |
committer | Tor Norbye <tnorbye@google.com> | Fri Mar 02 09:56:09 2018 -0800 |
tree | 56b15c397d854ac6b7cdec47d3a92d9b33a60154 | |
parent | 4c6bdbdc81ab100ae1fd91de9aca081615120d81 [diff] |
Remove unused resource overrides AFAICT these resource overrides are not used, but (if accessed by library clients) can lead to crashes. R.dimen.abc_action_bar_progress_bar_size doesn't appear to be used anywhere. R.bool.abc_action_bar_embed_tabs is only accessed in appcompat, where it also has definitions both in values/ and values-port/. I'm removing the lone declaration in compat/values-port/. Perhaps this is an accidental leftover from the code moving? These were found by a new lint check in 3.2; a generalized version of the ExtraTranslations check which flags resources that appear only in resource overrides, but not in the base folder (with some special cases.) This is the issue explanation: Explanation for issues of type "MissingDefaultResource": If a resource is only defined in folders with qualifiers like -land or -en, and there is no default declaration in the base folder (values or layout etc), then the app will crash if that resource is accessed on a device where the device is in a configuration missing the given qualifier. As a special case, drawables do not have to be specified in the base folder; if there is a match in a density folder (such as drawable-mdpi) that image will be used and scaled. Note however that if you only specify a drawable in a folder like drawable-en-hdpi, the app will crash in non-English locales. There may be scenarios where you have a resource, such as a -fr drawable, which is only referenced from some other resource with the same qualifiers (such as a -fr style), which itself has safe fallbacks. However, this still makes it possible for somebody to accidentally reference the drawable and crash, so it is safer to create a default dummy fallback in the base folder. Alternatively, you can suppress the issue by adding tools:ignore="MissingDefaultResource" on the element. (This scenario frequently happens with string translations, where you might delete code and the corresponding resources, but forget to delete a translation. There is a dedicated issue id for that scenario, with the id ExtraTranslation.) Change-Id: I52b01819998671fec019b148d9536ec0b80c39a4
We are not currently accepting new modules, features, or behavior changes.
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
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
.
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
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
Run FooBarTest
Run android.support.foobar
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.
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)?