crosswalk-project/crosswalk — pull request #922 by wang16 (2013-10-21 02:15:09+00:00)
Title: [Android] Fix incorrect res ids for apps using cordova xwalk

Cordova xwalk container is using xwalk core library as an
Android library project.
For Android library project, it will generate the R.java for
it when building the project depends on it (Let's call it app
project). But the R.class will be excluded when generating
classes.jar. Then the resources within both app and library will
be put together to generate R.java for both app and library
package, it is to make sure the ids for them will not be conflicted.

Meanwhile, the dependencies for android java target in gyp system
is not the same. It breaks down the ant tasks and customized them
in very complicated way, each project contains resources will
produce a R.txt which already has allocated ids in it. The project
depends on it will generate R.java based on that to avoid conflicts.

The two things can't work together, but the command line interface
cordova container provides to developer should not be changed.

The solution is here,
Take all resources within xwalk core library as resrouces for library.
An R.java will generated at code-gen step for them. This patch will
overwrite the pre-compile step between code-gen and compile.
The step will copy R.java for core library to package
org.chromium.content and org.chromium.ui, as well as replace the id
values in it with the references to org.xwalk.core.R.

BUG=https://github.com/crosswalk-project/crosswalk/issues/862