New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.
Starred by 28 users

Issue metadata

Status: Assigned
Owner:
Cc:
EstimatedDays: ----
NextAction: ----
OS: Android
Pri: 3
Type: Bug


Sign in to add a comment

Support editing in Android Studio

Project Member Reported by agrieve@chromium.org, Jun 14 2016

Issue description

Our team has been using Eclipse as the main Java IDE, but it's clear that we're starting to miss out on neat new features of Android Studio.

Eclipse instructions:
https://www.chromium.org/developers/android-eclipse-dev

We should write similar documentation for using Android Studio. If necessary, we should also write custom gn/ninja logic for generating .gradle files for Android Studio to slurp in.
 
Showing comments 49 - 148 of 148 Older

Comment 49 by wnwen@chromium.org, Nov 30 2016

Blockedon: 670044
Blockedon: 672239
Project Member

Comment 51 by bugdroid1@chromium.org, Dec 13 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/6248702a749585cf219e929e29f26efc207fc233

commit 6248702a749585cf219e929e29f26efc207fc233
Author: agrieve <agrieve@chromium.org>
Date: Tue Dec 13 21:45:19 2016

Bump gradle version to appease Android Studio.

I see a "we recommend you upgrade" message on every gradle file sync.
This gets rid of the nagging.

BUG=620034

Review-Url: https://codereview.chromium.org/2577493003
Cr-Commit-Position: refs/heads/master@{#438291}

[modify] https://crrev.com/6248702a749585cf219e929e29f26efc207fc233/build/android/gradle/build.gradle.jinja

Project Member

Comment 52 by bugdroid1@chromium.org, Dec 19 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/67b6497f888fd8f2a56e4c50a7b46e99af6bca75

commit 67b6497f888fd8f2a56e4c50a7b46e99af6bca75
Author: wnwen <wnwen@chromium.org>
Date: Mon Dec 19 19:53:15 2016

Android: Update android studio docs

BUG=620034

Review-Url: https://codereview.chromium.org/2583283002
Cr-Commit-Position: refs/heads/master@{#439528}

[modify] https://crrev.com/67b6497f888fd8f2a56e4c50a7b46e99af6bca75/docs/android_studio.md

Comment 53 by wnwen@chromium.org, Dec 20 2016

Blockedon: 676066

Comment 54 by wnwen@chromium.org, Jan 11 2017

Blockedon: 680217
Project Member

Comment 55 by bugdroid1@chromium.org, Jan 12 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/50e9d9c4ee8bd08fa12ed7e8715b42495a17e0b4

commit 50e9d9c4ee8bd08fa12ed7e8715b42495a17e0b4
Author: sakal <sakal@chromium.org>
Date: Thu Jan 12 09:41:08 2017

Add support for .so files in generate_gradle.py.

Only supports ARM for now.

BUG=620034

Review-Url: https://codereview.chromium.org/2622133004
Cr-Commit-Position: refs/heads/master@{#443191}

[modify] https://crrev.com/50e9d9c4ee8bd08fa12ed7e8715b42495a17e0b4/build/android/gradle/build.gradle.jinja
[modify] https://crrev.com/50e9d9c4ee8bd08fa12ed7e8715b42495a17e0b4/build/android/gradle/generate_gradle.py

I m facing below error when i run below cmd
$build/android/gradle/generate_gradle.py --output-directory out-gn/Debug --target //chrome/android:chrome_public_apk

Traceback (most recent call last):
  File "build/android/gradle/generate_gradle.py", line 445, in <module>
    main()
  File "build/android/gradle/generate_gradle.py", line 377, in main
    _RunNinja(output_dir, [e.NinjaBuildConfigTarget() for e in main_entries])
  File "build/android/gradle/generate_gradle.py", line 84, in _RunNinja
    subprocess.check_call(cmd)
  File "/usr/lib/python2.7/subprocess.py", line 540, in check_call
    raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['ninja', '-C', '/home/chromium/src/out-gn/Debug', '-j50', 'chrome/android:chrome_public_apk__build_config']' returned non-zero exit status 1

But i can build with below cmd
$ninja -C out/Default chrome_public_apk

Please let me know if i m missing anything
Your build directory is "out/Debug", try "--output-directory out/Debug" instead of "out-gn/Debug"
got same error with out/Debug aswell
Hello! Unfortunatelly, after executing command "gradle build" in "OUT_DIR/gradle/content/shell/android/content_shell_apk" I'm facing with next error 


:content>shell>android>content_shell_apk:packageDebug FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Some problems were found with the configuration of task ':content>shell>android>content_shell_apk:packageDebug'.
> Directory 'OUT_DIR/gradle/content/shell/android/content_shell_apk/build/intermediates/assets/debug' specified for property 'assets' does not exist.
> File 'OUT_DIR/gradle/content/shell/android/content_shell_apk/build/intermediates/res/resources-debug.ap_' specified for property 'resourceFile' does not exist.


Can you help me with this problem?
my error gone away, after gn gen '--args="target_os=\"android\""' out/out-gn/Debug

It would be nice to mention this in the docs/android_studio.md

Thanks
Owner: wnwen@chromium.org
Project Member

Comment 62 by bugdroid1@chromium.org, Jan 19 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/e397fec626a359c8b3d311243e322cd125f32a91

commit e397fec626a359c8b3d311243e322cd125f32a91
Author: wnwen <wnwen@chromium.org>
Date: Thu Jan 19 20:25:21 2017

Android: Update android studio docs

Ensure that users have already gone through android build instructions.

BUG=620034

Review-Url: https://codereview.chromium.org/2642833005
Cr-Commit-Position: refs/heads/master@{#444835}

[modify] https://crrev.com/e397fec626a359c8b3d311243e322cd125f32a91/docs/android_build_instructions.md
[modify] https://crrev.com/e397fec626a359c8b3d311243e322cd125f32a91/docs/android_studio.md

Comment 63 by wnwen@chromium.org, Jan 19 2017

Blockedon: -617657

Comment 64 by wnwen@chromium.org, Jan 19 2017

Blockedon: 682846
Cc: sakal@chromium.org
> Comment #59

For me, this is fixed by removing "|| it.name.endsWith('Resources')" and "|| it.name.endsWith('Assets')" lines from disabled tasks. However, this requires that resource and asset folders are correctly specified. Otherwise, I get errors about undefined resources.

agrieve, What do you think is required to upstream this fix? Just correctly defining resource and asset directories? Is there another reason these tasks are disabled?
The reason they are disabled is because we're currently passing the ninja-generated R.java files as java sources in the gradle files. So having these uncommented would result in duplicate R.java files (at least that's the theory).

wnwen's is almost done getting resources directories listed:
https://codereview.chromium.org/2667023002/

But that still doesn't enable the task.

Once the directories are specified, I think we should be fine to stop disabling the tasks and stop using ninja's R.java files.


Yes, I see you can already use "--use-gradle-process-resources" to disable that one. Should we add a similar flag for assets?
Sure!
@sakal - You aren't getting these errors? Perhaps you are not generating for chrome_public_apk?


FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':chrome>android>chrome_public_apk:mergeDebugResources'.
> /Work/clankium/src/chrome/android/java/res/values-sw600dp/values.xml: Error: Unsupported type 'floats'
  /Work/clankium/src/chrome/android/java/res/values/values.xml: Error: Unsupported type 'floats'
@wnwen

I am compiling AppRTCMobile in WebRTC so my results might differ a little.
Project Member

Comment 72 by bugdroid1@chromium.org, Feb 8 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/81022874e21cac29a6d57ac820ef26f479700fc6

commit 81022874e21cac29a6d57ac820ef26f479700fc6
Author: wnwen <wnwen@chromium.org>
Date: Wed Feb 08 13:45:33 2017

Physical Web: Remove extraneous file

PhysicalWebOptInActivity.java is not referenced in any gn files and is
blocking our generate_gradle.py script from using the full directory.

BUG=620034

Review-Url: https://codereview.chromium.org/2679073004
Cr-Commit-Position: refs/heads/master@{#448980}

[delete] https://crrev.com/f1493b26bda043e9e54467c5c1adf22e320a6673/chrome/android/java/src/org/chromium/chrome/browser/physicalweb/PhysicalWebOptInActivity.java

Blockedon: 690073
Project Member

Comment 74 by bugdroid1@chromium.org, Feb 8 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/4753da96bbda64aabd9870cf37290ece01160f66

commit 4753da96bbda64aabd9870cf37290ece01160f66
Author: wnwen <wnwen@chromium.org>
Date: Wed Feb 08 19:09:02 2017

Android: Fix values to use standard type

"float" is not a values type, and since we only use this in java code
through R.*, we can safely switch to dimen as an actual type. Creates an
error in Android Studio otherwise.

BUG=620034

Review-Url: https://codereview.chromium.org/2680723004
Cr-Commit-Position: refs/heads/master@{#449055}

[modify] https://crrev.com/4753da96bbda64aabd9870cf37290ece01160f66/chrome/android/java/res/values-sw600dp/values.xml
[modify] https://crrev.com/4753da96bbda64aabd9870cf37290ece01160f66/chrome/android/java/res/values/values.xml
[modify] https://crrev.com/4753da96bbda64aabd9870cf37290ece01160f66/chrome/android/java/src/org/chromium/chrome/browser/ApplicationInitialization.java

Project Member

Comment 76 by bugdroid1@chromium.org, Feb 16 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/41b7f2e4ce06ea76bb9dc23c752c6d1035ae6e27

commit 41b7f2e4ce06ea76bb9dc23c752c6d1035ae6e27
Author: sakal <sakal@chromium.org>
Date: Thu Feb 16 16:30:17 2017

Enable asset tasks when using gradle to process resources.

This is needed to correctly generate a project for AppRTCMobile.

BUG=620034, webrtc:6328 

Review-Url: https://codereview.chromium.org/2697293002
Cr-Commit-Position: refs/heads/master@{#450985}

[modify] https://crrev.com/41b7f2e4ce06ea76bb9dc23c752c6d1035ae6e27/build/android/gradle/android.jinja

Project Member

Comment 77 by bugdroid1@chromium.org, Feb 16 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/a0364169748053b807c4a4666a8bb5e4712fc1be

commit a0364169748053b807c4a4666a8bb5e4712fc1be
Author: wnwen <wnwen@chromium.org>
Date: Thu Feb 16 20:37:38 2017

Android: Add android studio group to watchlist

BUG=620034

Review-Url: https://codereview.chromium.org/2698043006
Cr-Commit-Position: refs/heads/master@{#451090}

[modify] https://crrev.com/a0364169748053b807c4a4666a8bb5e4712fc1be/WATCHLISTS

Project Member

Comment 78 by bugdroid1@chromium.org, Feb 17 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/a1c2f35132f2a07e14c64b633485195a705f848e

commit a1c2f35132f2a07e14c64b633485195a705f848e
Author: agrieve <agrieve@chromium.org>
Date: Fri Feb 17 04:44:48 2017

Plumb bootclasspath GN -> Android Studio

This fixes most compile issues with android_webview. There is still an
issue with a missing R.java though (updated comment in code about this).

BUG=620034

Review-Url: https://codereview.chromium.org/2699963002
Cr-Commit-Position: refs/heads/master@{#451217}

[modify] https://crrev.com/a1c2f35132f2a07e14c64b633485195a705f848e/build/android/gradle/android.jinja
[modify] https://crrev.com/a1c2f35132f2a07e14c64b633485195a705f848e/build/android/gradle/generate_gradle.py
[modify] https://crrev.com/a1c2f35132f2a07e14c64b633485195a705f848e/build/android/gyp/write_build_config.py
[modify] https://crrev.com/a1c2f35132f2a07e14c64b633485195a705f848e/build/config/android/internal_rules.gni

Project Member

Comment 79 by bugdroid1@chromium.org, Feb 17 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/8281f251376f2a21ad28737f5c7416f10c276d6f

commit 8281f251376f2a21ad28737f5c7416f10c276d6f
Author: wnwen <wnwen@chromium.org>
Date: Fri Feb 17 19:20:48 2017

Android: Cache android studio project entries

- Add entry.AllEntries() in preparation for iterating through deps.
- Caching _ProjectEntry objects to avoid duplicate computation.
- Dedup template variables between androidTest and main.
- Minor clean-up.

BUG=620034

Review-Url: https://codereview.chromium.org/2697313004
Cr-Commit-Position: refs/heads/master@{#451352}

[modify] https://crrev.com/8281f251376f2a21ad28737f5c7416f10c276d6f/build/android/gradle/android.jinja
[modify] https://crrev.com/8281f251376f2a21ad28737f5c7416f10c276d6f/build/android/gradle/generate_gradle.py

Blockedon: 694699
Project Member

Comment 81 by bugdroid1@chromium.org, Feb 27 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/543908d37bb29cad0925a6553cb6a7261b222133

commit 543908d37bb29cad0925a6553cb6a7261b222133
Author: wnwen <wnwen@chromium.org>
Date: Mon Feb 27 18:09:29 2017

Android: Android studio single module per target

Existing users can continue to split modules by gn targets by passing
--split-project to generate_gradle.py, although that flag will not
receive the same maintenance going forward, consider it deprecated.

This coalesces java and resource dependencies into the same build.gradle
file for each apk and junit target specified (test apks still get folded
into the apk_under_test target).

Speeds up sync/builds by 10x to 1-3 seconds. Paves the way for using
more of android studio's build steps, since they'll now take 1-3 seconds
rather than 10+ seconds each time.

BUG=620034

Review-Url: https://codereview.chromium.org/2708133002
Cr-Commit-Position: refs/heads/master@{#453257}

[modify] https://crrev.com/543908d37bb29cad0925a6553cb6a7261b222133/build/android/gradle/dependencies.jinja
[modify] https://crrev.com/543908d37bb29cad0925a6553cb6a7261b222133/build/android/gradle/generate_gradle.py

Project Member

Comment 82 by bugdroid1@chromium.org, Feb 28 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/1a04e1cf3d4912300d625a57318bc6f2ba53ba79

commit 1a04e1cf3d4912300d625a57318bc6f2ba53ba79
Author: agrieve <agrieve@chromium.org>
Date: Tue Feb 28 23:22:08 2017

Make generate_gradle.py work with preview SDKs.

This just tweaks the values of buildToolsVersion and compileSdkVersion,
which were not being set in a way compatible with preview SDKs.

BUG=620034

Review-Url: https://codereview.chromium.org/2724513003
Cr-Commit-Position: refs/heads/master@{#453737}

[modify] https://crrev.com/1a04e1cf3d4912300d625a57318bc6f2ba53ba79/build/android/gradle/android.jinja
[modify] https://crrev.com/1a04e1cf3d4912300d625a57318bc6f2ba53ba79/build/android/gradle/generate_gradle.py

Project Member

Comment 83 by bugdroid1@chromium.org, Mar 1 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/aa0d524b8614ab29c29b960ea87c7df647b99a03

commit aa0d524b8614ab29c29b960ea87c7df647b99a03
Author: agrieve <agrieve@chromium.org>
Date: Wed Mar 01 01:26:18 2017

Revert of Make generate_gradle.py work with preview SDKs. (patchset #1 id:1 of https://codereview.chromium.org/2724513003/ )

Reason for revert:
Breaks when CWD != output_dir

Original issue's description:
> Make generate_gradle.py work with preview SDKs.
>
> This just tweaks the values of buildToolsVersion and compileSdkVersion,
> which were not being set in a way compatible with preview SDKs.
>
> BUG=620034
>
> Review-Url: https://codereview.chromium.org/2724513003
> Cr-Commit-Position: refs/heads/master@{#453737}
> Committed: https://chromium.googlesource.com/chromium/src/+/1a04e1cf3d4912300d625a57318bc6f2ba53ba79

TBR=estevenson@chromium.org,nyquist@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=620034

Review-Url: https://codereview.chromium.org/2722973002
Cr-Commit-Position: refs/heads/master@{#453788}

[modify] https://crrev.com/aa0d524b8614ab29c29b960ea87c7df647b99a03/build/android/gradle/android.jinja
[modify] https://crrev.com/aa0d524b8614ab29c29b960ea87c7df647b99a03/build/android/gradle/generate_gradle.py

Project Member

Comment 84 by bugdroid1@chromium.org, Mar 1 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/46eff9b374a4635979acef9a292682504f25ff2c

commit 46eff9b374a4635979acef9a292682504f25ff2c
Author: agrieve <agrieve@chromium.org>
Date: Wed Mar 01 03:37:16 2017

Reland of Make generate_gradle.py work with preview SDKs

This just tweaks the values of buildToolsVersion and compileSdkVersion,
which were not being set in a way compatible with preview SDKs.

Reverted in:
https://codereview.chromium.org/2722973002/

Reason for reland:
Fixed up non-absolute path.

TBR=estevenson@chromium.org,nyquist@chromium.org
BUG=620034

Review-Url: https://codereview.chromium.org/2727523002
Cr-Commit-Position: refs/heads/master@{#453827}

[modify] https://crrev.com/46eff9b374a4635979acef9a292682504f25ff2c/build/android/gradle/android.jinja
[modify] https://crrev.com/46eff9b374a4635979acef9a292682504f25ff2c/build/android/gradle/generate_gradle.py

Blockedon: 700438
Project Member

Comment 86 by bugdroid1@chromium.org, Mar 10 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/8c9318ff000fb082c3e33eab2cb7758fcd868a27

commit 8c9318ff000fb082c3e33eab2cb7758fcd868a27
Author: estevenson <estevenson@chromium.org>
Date: Fri Mar 10 22:16:35 2017

Add basic debugging instructions for Android Studio.

The docs still need to be updated with more detailed instructions and
tips, but currently the docs don't even mention debugging in Android
Studio.

BUG=620034

Review-Url: https://codereview.chromium.org/2740353003
Cr-Commit-Position: refs/heads/master@{#456185}

[modify] https://crrev.com/8c9318ff000fb082c3e33eab2cb7758fcd868a27/docs/android_debugging_instructions.md
[modify] https://crrev.com/8c9318ff000fb082c3e33eab2cb7758fcd868a27/docs/android_studio.md

Project Member

Comment 87 by bugdroid1@chromium.org, Mar 13 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/8a4451c911ee05e56000474c58bfad89f744a35e

commit 8a4451c911ee05e56000474c58bfad89f744a35e
Author: sakal <sakal@chromium.org>
Date: Mon Mar 13 14:26:50 2017

Fix .so-file enumeration in generate_gradle.py.

BUG=620034,  webrtc:6328 
NOTRY=True

Review-Url: https://codereview.chromium.org/2747723002
Cr-Commit-Position: refs/heads/master@{#456373}

[modify] https://crrev.com/8a4451c911ee05e56000474c58bfad89f744a35e/build/android/gradle/generate_gradle.py

Project Member

Comment 88 by bugdroid1@chromium.org, Mar 30 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/f8d338ac684358b34a2cd77518d434fb6fa433a3

commit f8d338ac684358b34a2cd77518d434fb6fa433a3
Author: agrieve <agrieve@chromium.org>
Date: Thu Mar 30 21:14:36 2017

generate_gradle.py: Add --extra-target that appends to the default set

I find this is more often what I want (as opposed to replacing the
default list of targets).

BUG=620034

Review-Url: https://codereview.chromium.org/2784293002
Cr-Commit-Position: refs/heads/master@{#460878}

[modify] https://crrev.com/f8d338ac684358b34a2cd77518d434fb6fa433a3/build/android/gradle/generate_gradle.py

Project Member

Comment 89 by bugdroid1@chromium.org, Apr 3 2017

The following revision refers to this bug:
  https://chrome-internal.googlesource.com/clank/internal/apps/+/4fc280e26d69baf274be04e418a9890cf5001d28

commit 4fc280e26d69baf274be04e418a9890cf5001d28
Author: Tommy Nyquist <nyquist@chromium.org>
Date: Mon Apr 03 21:04:55 2017

Project Member

Comment 90 by bugdroid1@chromium.org, Apr 3 2017

The following revision refers to this bug:
  https://chrome-internal.googlesource.com/clank/internal/apps/+/4fc280e26d69baf274be04e418a9890cf5001d28

commit 4fc280e26d69baf274be04e418a9890cf5001d28
Author: Tommy Nyquist <nyquist@chromium.org>
Date: Mon Apr 03 21:04:55 2017

Blockedon: 709155

Comment 92 by wnwen@chromium.org, Apr 12 2017

Blockedon: 710865
Project Member

Comment 93 by bugdroid1@chromium.org, Apr 13 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/df07380a347b8a706bb28afb97f0295282bf683b

commit df07380a347b8a706bb28afb97f0295282bf683b
Author: wnwen <wnwen@chromium.org>
Date: Thu Apr 13 13:00:43 2017

Android: Fix net/test AndroidManifest

There is no android:action in intent-filter:
https://developer.android.com/guide/topics/manifest/intent-filter-element.html

This causes errors in Android Studio when including this
AndroidManifest.

BUG=620034

Review-Url: https://codereview.chromium.org/2815083002
Cr-Commit-Position: refs/heads/master@{#464387}

[modify] https://crrev.com/df07380a347b8a706bb28afb97f0295282bf683b/net/test/android/javatests/AndroidManifest.xml

Project Member

Comment 94 by bugdroid1@chromium.org, Apr 19 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/03427bcc41560b36b5c595eda92e35f563a6303e

commit 03427bcc41560b36b5c595eda92e35f563a6303e
Author: wnwen <wnwen@chromium.org>
Date: Wed Apr 19 19:22:24 2017

Android: Add module "_all" for Android Studio

Adding all sources to a "_all" pseudo module fixes Studio's code analysis
functions (imports, refactoring).

In order to have things build properly in gradle, the "_all" module has
all sources excluded (gradle applies the filters, studio does not).

Also fix "--all" targets to include tests. Make it easier to make sweeping
java refactors in Android Studio.

BUG=620034

Review-Url: https://codereview.chromium.org/2812133003
Cr-Commit-Position: refs/heads/master@{#465700}

[modify] https://crrev.com/03427bcc41560b36b5c595eda92e35f563a6303e/build/android/gradle/android.jinja
[modify] https://crrev.com/03427bcc41560b36b5c595eda92e35f563a6303e/build/android/gradle/generate_gradle.py
[modify] https://crrev.com/03427bcc41560b36b5c595eda92e35f563a6303e/docs/android_studio.md

Project Member

Comment 95 by bugdroid1@chromium.org, Apr 27 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/e851ad470036997a9a43b0ee2710442f1b5c2096

commit e851ad470036997a9a43b0ee2710442f1b5c2096
Author: wnwen <wnwen@chromium.org>
Date: Thu Apr 27 16:21:42 2017

Android: Remove apk modules for Android Studio

It is no longer necessary to list all the apk targets as separate
modules now that we have the _all pseudo module. Having the separate
modules resulted in bugs where Android Studio could not distinguish
between prod code and test code since some modules viewed dirs as prod
and some as test. The --split-projects flag can be used to see the
dependency graph, and when only a single module will be generated, the
_all pseudo module will not replace it.

For android studio's _all pseudo module, move all known test dirs to
androidTest instead of main so that they are properly displayed when
filtered.

BUG=620034

Review-Url: https://codereview.chromium.org/2837863002
Cr-Commit-Position: refs/heads/master@{#467704}

[modify] https://crrev.com/e851ad470036997a9a43b0ee2710442f1b5c2096/build/android/gradle/android.jinja
[modify] https://crrev.com/e851ad470036997a9a43b0ee2710442f1b5c2096/build/android/gradle/generate_gradle.py
[modify] https://crrev.com/e851ad470036997a9a43b0ee2710442f1b5c2096/docs/android_studio.md

Project Member

Comment 96 by bugdroid1@chromium.org, May 4 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/f011a78f3f93e0f52b89b29a4b40b2e2f879733c

commit f011a78f3f93e0f52b89b29a4b40b2e2f879733c
Author: wnwen <wnwen@chromium.org>
Date: Thu May 04 17:35:36 2017

Android: Fix generate_gradle.py

Bugs causing split-project and use-gradle-resources to not work
correctly. Also fix the jinja template.

BUG=620034

Review-Url: https://codereview.chromium.org/2858233002
Cr-Commit-Position: refs/heads/master@{#469372}

[modify] https://crrev.com/f011a78f3f93e0f52b89b29a4b40b2e2f879733c/build/android/gradle/android.jinja
[modify] https://crrev.com/f011a78f3f93e0f52b89b29a4b40b2e2f879733c/build/android/gradle/generate_gradle.py

Comment 97 by sakal@chromium.org, May 11 2017

I am happy to tell you that we now have a test running for the project generation in WebRTC. Maybe you want to copy and adapt it for Chromium as well?

https://bugs.chromium.org/p/webrtc/issues/detail?id=7608

Comment 98 by wnwen@chromium.org, May 11 2017

Yes, that's a great idea! In the meantime, is this an optional trybot we can add to our gradle CLs so we don't break WebRTC?

Comment 99 by sakal@chromium.org, May 11 2017

It is part of master.tryserver.webrtc.android_rel trybot.
@sakal @wnwen @bugdroid1
Hello! I have never compiled successfully. Has anyone compiled the chrome_public_apk successfully?

The following is the error now reported: 

:ui>android>ui_java:incrementalDebugJavaCompilationSafeguard
:ui>android>ui_java:compileDebugJavaWithJavac
/home/vincent/workingPlace/chromiumWorkingPlace/chromiumNew/chromium57/src/defalutGradle/ui/android/ui_java/build/generated/source/r/debug/dummy/package/R.java:8: error: <identifier> expected
package dummy.package;
              ^
1 error
:ui>android>ui_java:compileDebugJavaWithJavac FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':ui>android>ui_java:compileDebugJavaWithJavac'.
> Compilation failed; see the compiler error output for details.


Comment 101 by dgn@chromium.org, May 15 2017

Blockedon: 722302
Project Member

Comment 102 by bugdroid1@chromium.org, May 24 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/b4b2d1e1fb916471009d5b5393e0851f1a56bab1

commit b4b2d1e1fb916471009d5b5393e0851f1a56bab1
Author: wnwen <wnwen@chromium.org>
Date: Wed May 24 16:09:53 2017

Android: Update gradle version

BUG=620034

Review-Url: https://codereview.chromium.org/2902043003
Cr-Commit-Position: refs/heads/master@{#474313}

[modify] https://crrev.com/b4b2d1e1fb916471009d5b5393e0851f1a56bab1/build/android/gradle/root.jinja

I m getting following error for chrome_public_apk target.
Information:Gradle tasks [:chrome>android>chrome_public_apk:assembleDebug]
Error:The number of method references in a .dex file cannot exceed 64K.
Learn how to resolve this issue at https://developer.android.com/tools/building/multidex.html
Error:Execution failed for task ':chrome>android>chrome_public_apk:transformClassesWithDexForDebug'.

Any workarounds?
We support gradle sync and editing java files, but not actually building the apk in Android Studio. For that you'll still have to use ninja on the command line.

Maybe eventually, but it's not currently supported.
Project Member

Comment 105 by bugdroid1@chromium.org, Aug 17 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/fc00450f678e32724bb8ff027f133bbc24b0be90

commit fc00450f678e32724bb8ff027f133bbc24b0be90
Author: Peter Wen <wnwen@chromium.org>
Date: Thu Aug 17 14:34:54 2017

Android: Update android studio docs for canary

Remove upgrading 2.2 to 2.3 since it has been stable for a while in
preparation for stabilization of 3.0.

BUG=620034

Change-Id: I249dba940edf4b3d54ac35d3e5b7d612917d18e7
Reviewed-on: https://chromium-review.googlesource.com/617320
Commit-Queue: Andrew Grieve <agrieve@chromium.org>
Reviewed-by: Andrew Grieve <agrieve@chromium.org>
Cr-Commit-Position: refs/heads/master@{#495170}
[modify] https://crrev.com/fc00450f678e32724bb8ff027f133bbc24b0be90/docs/android_studio.md

Project Member

Comment 106 by bugdroid1@chromium.org, Sep 5 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/98704abddca163a090a8a582b0f5ebc62b8e01f6

commit 98704abddca163a090a8a582b0f5ebc62b8e01f6
Author: Peter Wen <wnwen@chromium.org>
Date: Tue Sep 05 22:42:51 2017

Android: Fix gradle files for latest AS canary

We try to match the defaults for the glinux package
android-studio-canary.

BUG=620034

Change-Id: Ia0397ba6e7c4d1f987cc632a31b38ecb42b2d7f6
Reviewed-on: https://chromium-review.googlesource.com/650309
Reviewed-by: Andrew Grieve <agrieve@chromium.org>
Commit-Queue: Peter Wen <wnwen@chromium.org>
Cr-Commit-Position: refs/heads/master@{#499773}
[modify] https://crrev.com/98704abddca163a090a8a582b0f5ebc62b8e01f6/build/android/gradle/android.jinja
[modify] https://crrev.com/98704abddca163a090a8a582b0f5ebc62b8e01f6/build/android/gradle/generate_gradle.py
[modify] https://crrev.com/98704abddca163a090a8a582b0f5ebc62b8e01f6/build/android/gradle/root.jinja

Summary: Support editing in Android Studio (was: Add support for Android Studio)
Project Member

Comment 108 by bugdroid1@chromium.org, Sep 14 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/a084e8f97972ee88f8e4dd5328b8733023a13e6c

commit a084e8f97972ee88f8e4dd5328b8733023a13e6c
Author: Boris Sazonov <bsazonov@chromium.org>
Date: Thu Sep 14 12:29:18 2017

[Android] Add inspections settings for AndroidStudio

1. Add ChromiumInspections.xml that specifies Chromium-specific inspection
  profiles for AndroidStudio.
2. Update docs for importing ChromiumStyle.xml and ChromiumInspections.xml.

Bug: 620034
Change-Id: Icd6821142bc87fc2dcd458910330e61173dc48aa
Reviewed-on: https://chromium-review.googlesource.com/662785
Reviewed-by: Peter Wen <wnwen@chromium.org>
Reviewed-by: Yaron Friedman <yfriedman@chromium.org>
Commit-Queue: Boris Sazonov <bsazonov@chromium.org>
Cr-Commit-Position: refs/heads/master@{#501931}
[modify] https://crrev.com/a084e8f97972ee88f8e4dd5328b8733023a13e6c/docs/android_studio.md
[add] https://crrev.com/a084e8f97972ee88f8e4dd5328b8733023a13e6c/tools/android/android_studio/ChromiumInspections.xml

Project Member

Comment 109 by bugdroid1@chromium.org, Sep 18 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/c182fd2bbdaedfe3caa046fcb849ae5c35745b0c

commit c182fd2bbdaedfe3caa046fcb849ae5c35745b0c
Author: Boris Sazonov <bsazonov@chromium.org>
Date: Mon Sep 18 16:54:00 2017

[Android] Add vectorDrawables.useSupportLibrary to build.gradle

This CL adds "vectorDrawables.useSupportLibrary = true" to build.gradle
that is used by Android Studio to fix warning issued for XML
app:srcCompat attribute. Chromium build already uses support library
for vector drawables.

Bug: 620034
Change-Id: I92fb56f83f854de42577a13c3fe8d51b5d1fe263
Reviewed-on: https://chromium-review.googlesource.com/668401
Reviewed-by: Peter Wen <wnwen@chromium.org>
Commit-Queue: Boris Sazonov <bsazonov@chromium.org>
Cr-Commit-Position: refs/heads/master@{#502590}
[modify] https://crrev.com/c182fd2bbdaedfe3caa046fcb849ae5c35745b0c/build/android/gradle/android.jinja

Project Member

Comment 110 by bugdroid1@chromium.org, Oct 26 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/412c03d14bc41c383228ad4b80a810c25488b4c7

commit 412c03d14bc41c383228ad4b80a810c25488b4c7
Author: Peter Wen <wnwen@chromium.org>
Date: Thu Oct 26 13:19:11 2017

Android: Update generate_gradle to AS 3.0

Now that Android Studio has stabilized version 3.0, our script should be
updated as well. Canary flag will be moved to stable once it is
available on our workstations.

BUG=620034

Change-Id: I154f405d8c4ba68f6b340216d08ae8331fb7de31
Reviewed-on: https://chromium-review.googlesource.com/738649
Reviewed-by: Eric Stevenson <estevenson@chromium.org>
Commit-Queue: Peter Wen <wnwen@chromium.org>
Cr-Commit-Position: refs/heads/master@{#511801}
[modify] https://crrev.com/412c03d14bc41c383228ad4b80a810c25488b4c7/build/android/gradle/generate_gradle.py
[modify] https://crrev.com/412c03d14bc41c383228ad4b80a810c25488b4c7/build/android/gradle/root.jinja

Project Member

Comment 111 by bugdroid1@chromium.org, Oct 30 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/5699d8ccd4f8abed4b1b7258b1e096fa0ce26328

commit 5699d8ccd4f8abed4b1b7258b1e096fa0ce26328
Author: Peter Wen <wnwen@chromium.org>
Date: Mon Oct 30 21:06:38 2017

Android: Actually include all projects for gradle

This allows editing all java targets in android studio when the --all
flag is passed to generate_gradle.py. When --split-projects is used then
it makes sense to restrict the number to a manageable amount, but when
the modules are all merged it does not make much of a difference.

Bug: 620034
Change-Id: Ie31e3d8c87338a27c5a3dd95b33a3876d25ff7a6
Reviewed-on: https://chromium-review.googlesource.com/744342
Reviewed-by: agrieve <agrieve@chromium.org>
Commit-Queue: Peter Wen <wnwen@chromium.org>
Cr-Commit-Position: refs/heads/master@{#512622}
[modify] https://crrev.com/5699d8ccd4f8abed4b1b7258b1e096fa0ce26328/build/android/gradle/generate_gradle.py

Project Member

Comment 112 by bugdroid1@chromium.org, Nov 6 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/a959a6cfe0b31ec739d5e5f88d96336c397b6abc

commit a959a6cfe0b31ec739d5e5f88d96336c397b6abc
Author: Peter Wen <wnwen@chromium.org>
Date: Mon Nov 06 18:24:36 2017

Android: Update for Android Studio 3.0

Now that Android Studio 3.0 is available as android-studio-stable, we
can reserve the canary flag for Android Studio 3.1 which is on the
android-studio-canary package.

BUG=620034

Change-Id: I3f4a5a6160fb033f0eca27a779a47cc4ffacc49f
Reviewed-on: https://chromium-review.googlesource.com/750021
Reviewed-by: Eric Stevenson <estevenson@chromium.org>
Commit-Queue: Peter Wen <wnwen@chromium.org>
Cr-Commit-Position: refs/heads/master@{#514185}
[modify] https://crrev.com/a959a6cfe0b31ec739d5e5f88d96336c397b6abc/build/android/gradle/android.jinja
[modify] https://crrev.com/a959a6cfe0b31ec739d5e5f88d96336c397b6abc/build/android/gradle/dependencies.jinja
[modify] https://crrev.com/a959a6cfe0b31ec739d5e5f88d96336c397b6abc/build/android/gradle/generate_gradle.py
[modify] https://crrev.com/a959a6cfe0b31ec739d5e5f88d96336c397b6abc/build/android/gradle/java.jinja
[modify] https://crrev.com/a959a6cfe0b31ec739d5e5f88d96336c397b6abc/build/android/gradle/root.jinja
[modify] https://crrev.com/a959a6cfe0b31ec739d5e5f88d96336c397b6abc/docs/android_studio.md

Project Member

Comment 113 by bugdroid1@chromium.org, Nov 15 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/2d59ecc793ec673f18364f229d0ebecac3a014c1

commit 2d59ecc793ec673f18364f229d0ebecac3a014c1
Author: Andrew Grieve <agrieve@chromium.org>
Date: Wed Nov 15 23:13:41 2017

generate_gradle.py: Enable --all by default

Seems to be fast enough now!

Bug: 620034
Change-Id: I8d47bb8dbd63bb60678bd55cb23696b7b2304f95
Reviewed-on: https://chromium-review.googlesource.com/772432
Commit-Queue: agrieve <agrieve@chromium.org>
Reviewed-by: Peter Wen <wnwen@chromium.org>
Cr-Commit-Position: refs/heads/master@{#516879}
[modify] https://crrev.com/2d59ecc793ec673f18364f229d0ebecac3a014c1/build/android/gradle/generate_gradle.py
[modify] https://crrev.com/2d59ecc793ec673f18364f229d0ebecac3a014c1/docs/android_studio.md

Project Member

Comment 114 by bugdroid1@chromium.org, Nov 17 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/a7503b36247c005e73b4e6be19751f08d6dc6609

commit a7503b36247c005e73b4e6be19751f08d6dc6609
Author: agrieve <agrieve@chromium.org>
Date: Fri Nov 17 21:30:18 2017

Revert "generate_gradle.py: Enable --all by default"

This reverts commit 2d59ecc793ec673f18364f229d0ebecac3a014c1.

Reason for revert: Broke --split-projects

Original change's description:
> generate_gradle.py: Enable --all by default
>
> Seems to be fast enough now!
>
> Bug: 620034
> Change-Id: I8d47bb8dbd63bb60678bd55cb23696b7b2304f95
> Reviewed-on: https://chromium-review.googlesource.com/772432
> Commit-Queue: agrieve <agrieve@chromium.org>
> Reviewed-by: Peter Wen <wnwen@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#516879}

NOTRY=true
TBR=wnwen@chromium.org,agrieve@chromium.org

Bug: 620034,  webrtc:8547 
Change-Id: Idb72a9d30bc038dcf20e5576bd9cb5615ac1a6de
Reviewed-on: https://chromium-review.googlesource.com/777404
Commit-Queue: agrieve <agrieve@chromium.org>
Reviewed-by: agrieve <agrieve@chromium.org>
Cr-Commit-Position: refs/heads/master@{#517560}
[modify] https://crrev.com/a7503b36247c005e73b4e6be19751f08d6dc6609/build/android/gradle/generate_gradle.py
[modify] https://crrev.com/a7503b36247c005e73b4e6be19751f08d6dc6609/docs/android_studio.md

Project Member

Comment 115 by bugdroid1@chromium.org, Nov 21 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/5b89b238294a56b0f0cd726aed3889425f957c46

commit 5b89b238294a56b0f0cd726aed3889425f957c46
Author: Andrew Grieve <agrieve@chromium.org>
Date: Tue Nov 21 18:41:10 2017

generate_gradle.py: Fix junit_binary(), enable --all by default

Also updates templates for gradle plugin 3.0 and makes
--split-project work again for Chromium codebase.

Bug: 620034,  webrtc:8547 ,  786676 
Change-Id: I89e937ff8a70cf30f890765b98efa0d331fba77e
Reviewed-on: https://chromium-review.googlesource.com/779499
Commit-Queue: agrieve <agrieve@chromium.org>
Reviewed-by: Peter Wen <wnwen@chromium.org>
Cr-Commit-Position: refs/heads/master@{#518312}
[modify] https://crrev.com/5b89b238294a56b0f0cd726aed3889425f957c46/build/android/gradle/android.jinja
[modify] https://crrev.com/5b89b238294a56b0f0cd726aed3889425f957c46/build/android/gradle/dependencies.jinja
[modify] https://crrev.com/5b89b238294a56b0f0cd726aed3889425f957c46/build/android/gradle/generate_gradle.py
[modify] https://crrev.com/5b89b238294a56b0f0cd726aed3889425f957c46/build/config/android/rules.gni
[modify] https://crrev.com/5b89b238294a56b0f0cd726aed3889425f957c46/docs/android_studio.md

Owner: ----
Status: Available (was: Started)
Marking available as I am not planning on more active work for Android Studio in the near future.
Project Member

Comment 117 by bugdroid1@chromium.org, Nov 30 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/dd9fd67cf57c0adb71c627dc501e305816a561c4

commit dd9fd67cf57c0adb71c627dc501e305816a561c4
Author: Sami Kalliomäki <sakal@chromium.org>
Date: Thu Nov 30 17:27:39 2017

Support targets at the root level in generate_gradle.py.

Previously targets like //:foo wouldn't work because an extra slash would
be inserted in front of the GradleSubdir.

Bug: 620034
Change-Id: I93abfb36ccb683b7c6308a8cbe14e870ea699e00
Reviewed-on: https://chromium-review.googlesource.com/800617
Reviewed-by: agrieve <agrieve@chromium.org>
Commit-Queue: Sami Kalliomäki <sakal@chromium.org>
Cr-Commit-Position: refs/heads/master@{#520585}
[modify] https://crrev.com/dd9fd67cf57c0adb71c627dc501e305816a561c4/build/android/gradle/generate_gradle.py

Project Member

Comment 118 by bugdroid1@chromium.org, Dec 21 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/8e41152b385bfc68d0d44f1f1403992840822653

commit 8e41152b385bfc68d0d44f1f1403992840822653
Author: Eric Stevenson <estevenson@chromium.org>
Date: Thu Dec 21 22:33:29 2017

generate_gradle.py: Allow for multiple test entries.

It is possible for multiple test entries to correspond to a single
non-test entry.

Bug: 620034
Change-Id: I21bf4c5ff4dbe374f6ced0876222e745a30eaf27
Reviewed-on: https://chromium-review.googlesource.com/839888
Reviewed-by: Peter Wen <wnwen@chromium.org>
Commit-Queue: Eric Stevenson <estevenson@chromium.org>
Cr-Commit-Position: refs/heads/master@{#525831}
[modify] https://crrev.com/8e41152b385bfc68d0d44f1f1403992840822653/build/android/gradle/android.jinja
[modify] https://crrev.com/8e41152b385bfc68d0d44f1f1403992840822653/build/android/gradle/generate_gradle.py

Project Member

Comment 119 by bugdroid1@chromium.org, Jan 4 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/0a10760233525e36d2a5916c39442c3d14898ed5

commit 0a10760233525e36d2a5916c39442c3d14898ed5
Author: Peter Wen <wnwen@chromium.org>
Date: Thu Jan 04 13:59:58 2018

Android: Update Android Studio canary version

Canary has updated to alpha 4.

BUG=620034

Change-Id: Ic8ded85e9a06dd7a4a610145ade1df2a027a60e9
Reviewed-on: https://chromium-review.googlesource.com/847938
Reviewed-by: agrieve <agrieve@chromium.org>
Commit-Queue: Peter Wen <wnwen@chromium.org>
Cr-Commit-Position: refs/heads/master@{#526979}
[modify] https://crrev.com/0a10760233525e36d2a5916c39442c3d14898ed5/build/android/gradle/root.jinja

Comment 120 by dgn@chromium.org, Jan 15 2018

Linking a relevant internal CL: http://crrev.com/i/535609
Project Member

Comment 121 by bugdroid1@chromium.org, Jan 24 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/3d141bc3a16e56504e3e59ef531a9b312e877481

commit 3d141bc3a16e56504e3e59ef531a9b312e877481
Author: Peter Wen <wnwen@chromium.org>
Date: Wed Jan 24 16:32:28 2018

Android: Update Android Studio canary version

Canary has updated to alpha 8.

BUG=620034
TBR=agrieve@chromium.org

Change-Id: I98367aedd86322e7077fe4f0e977bc4c40f1a63c
Reviewed-on: https://chromium-review.googlesource.com/883771
Reviewed-by: Peter Wen <wnwen@chromium.org>
Commit-Queue: Peter Wen <wnwen@chromium.org>
Cr-Commit-Position: refs/heads/master@{#531554}
[modify] https://crrev.com/3d141bc3a16e56504e3e59ef531a9b312e877481/build/android/gradle/root.jinja

Project Member

Comment 122 by bugdroid1@chromium.org, Feb 1

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/30f70a486ae07ed4bb1af8b2c4cc663e5d18403d

commit 30f70a486ae07ed4bb1af8b2c4cc663e5d18403d
Author: Peter Wen <wnwen@chromium.org>
Date: Thu Feb 01 19:45:04 2018

Android: Update Android Studio stable version

Stable's gradle plugin has updated to 3.0.1.

TBR=agrieve@chromium.org

Bug: 620034
Change-Id: I91dc19b1ef2dc3215b7219b4cfdc58274ca21050
Reviewed-on: https://chromium-review.googlesource.com/897054
Reviewed-by: Peter Wen <wnwen@chromium.org>
Reviewed-by: agrieve <agrieve@chromium.org>
Commit-Queue: Peter Wen <wnwen@chromium.org>
Cr-Commit-Position: refs/heads/master@{#533780}
[modify] https://crrev.com/30f70a486ae07ed4bb1af8b2c4cc663e5d18403d/build/android/gradle/root.jinja

Project Member

Comment 123 by bugdroid1@chromium.org, Feb 8

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/d668af89c4feb39d8f20196d5d1d6eef1f1dbf1d

commit d668af89c4feb39d8f20196d5d1d6eef1f1dbf1d
Author: Peter Wen <wnwen@chromium.org>
Date: Thu Feb 08 18:59:29 2018

Android: Update Android Studio canary version

Canary has updated to 3.1 beta 1.

TBR=agrieve@chromium.org

Bug: 620034
Change-Id: Ib64c3b26c7d37a035b35caadd8b30836336e4e6b
Reviewed-on: https://chromium-review.googlesource.com/897704
Reviewed-by: Peter Wen <wnwen@chromium.org>
Reviewed-by: agrieve <agrieve@chromium.org>
Commit-Queue: Peter Wen <wnwen@chromium.org>
Cr-Commit-Position: refs/heads/master@{#535464}
[modify] https://crrev.com/d668af89c4feb39d8f20196d5d1d6eef1f1dbf1d/build/android/gradle/root.jinja

Cc: -wnwen@chromium.org
Owner: wnwen@chromium.org
Status: Assigned (was: Available)
Project Member

Comment 126 by bugdroid1@chromium.org, Mar 22

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/908de022e7ad70891d8ff4e5c6214098f2660e48

commit 908de022e7ad70891d8ff4e5c6214098f2660e48
Author: Peter Wen <wnwen@chromium.org>
Date: Thu Mar 22 14:12:39 2018

Android: Add Android Studio beta support

Android Studio has split into channels, stable (3.0), beta (3.1) and
canary (3.2) with corresponding packages. We should support all three.

Bug: 620034
Change-Id: If8ebc37c137d53c5811aa8ce9258ac0dcef3d470
Reviewed-on: https://chromium-review.googlesource.com/974101
Reviewed-by: agrieve <agrieve@chromium.org>
Commit-Queue: Peter Wen <wnwen@chromium.org>
Cr-Commit-Position: refs/heads/master@{#545062}
[modify] https://crrev.com/908de022e7ad70891d8ff4e5c6214098f2660e48/build/android/gradle/generate_gradle.py
[modify] https://crrev.com/908de022e7ad70891d8ff4e5c6214098f2660e48/build/android/gradle/root.jinja

Blockedon: 827294
Project Member

Comment 128 by bugdroid1@chromium.org, Apr 30

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/ccbb2419379c8eb34bfc2bf262c5d29b995116c0

commit ccbb2419379c8eb34bfc2bf262c5d29b995116c0
Author: Peter Wen <wnwen@chromium.org>
Date: Mon Apr 30 19:13:55 2018

Android: Default no longer builds generated files

* Switch Android Studio's generate_gradle.py script to no longer build
  all the generated files by default. This reduces runtime for a clean
  build from 10 minutes to 20 seconds. Add a `--full` flag to explicitly
  build these generated files, which should not be necessary on a
  regular basis.

* Most of the benefit from generated files being present is fewer red
  underlines in Android Studio. Many red underlines are from lacking a
  R.java file, which takes a long time to generate.

* Fix bug so generate_gradle.py works even right after `gn clean`.

* Allow users to specify `-j` so generate_gradle.py works without goma.

* Speed up generating the `all` module (which is the default) by not
  creating each sub-project's build.gradle file when generating the
  information that it needs.

Bug:  799954 ,620034
Change-Id: Ie3c6ea0cdba198aede001332d64bec2eccffbe13
Reviewed-on: https://chromium-review.googlesource.com/1031052
Reviewed-by: Eric Stevenson <estevenson@chromium.org>
Commit-Queue: Peter Wen <wnwen@chromium.org>
Cr-Commit-Position: refs/heads/master@{#554838}
[modify] https://crrev.com/ccbb2419379c8eb34bfc2bf262c5d29b995116c0/build/android/gradle/generate_gradle.py

Blockedon: 840368
Project Member

Comment 130 by bugdroid1@chromium.org, May 8

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/86b1e8b59c08effaa1e120c6c0cc15b8df2d9ffd

commit 86b1e8b59c08effaa1e120c6c0cc15b8df2d9ffd
Author: Peter Wen <wnwen@chromium.org>
Date: Tue May 08 14:47:52 2018

Android Studio: Fix module generation for all

Accidentally reversed logic in last CL so that by default every
build.gradle file was generated. Consolidated logic in args.all.

Bug: 620034
Change-Id: I5efe128150f688296abb1f835b3cbe7eba58f3ae
Reviewed-on: https://chromium-review.googlesource.com/1048398
Commit-Queue: Eric Stevenson <estevenson@chromium.org>
Reviewed-by: Eric Stevenson <estevenson@chromium.org>
Cr-Commit-Position: refs/heads/master@{#556797}
[modify] https://crrev.com/86b1e8b59c08effaa1e120c6c0cc15b8df2d9ffd/build/android/gradle/generate_gradle.py

Blockedon: 841529
Project Member

Comment 132 by bugdroid1@chromium.org, May 10

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/a2d96117f13464472557ed8c50ca430354dc469b

commit a2d96117f13464472557ed8c50ca430354dc469b
Author: Peter Wen <wnwen@chromium.org>
Date: Thu May 10 20:29:43 2018

Android: Update Android Studio docs

Includes documentation for recent changes for native editing, fast by
default, and channel support.

Bug: 620034
Change-Id: Ie6570a4c032853a4bfdfd3443091ea7f698e8e99
Reviewed-on: https://chromium-review.googlesource.com/1054333
Commit-Queue: Peter Wen <wnwen@chromium.org>
Reviewed-by: Eric Stevenson <estevenson@chromium.org>
Reviewed-by: agrieve <agrieve@chromium.org>
Cr-Commit-Position: refs/heads/master@{#557653}
[modify] https://crrev.com/a2d96117f13464472557ed8c50ca430354dc469b/docs/android_studio.md

Project Member

Comment 133 by bugdroid1@chromium.org, May 16

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/cb5195733a446c14b1c55670c73509fe8b9f9346

commit cb5195733a446c14b1c55670c73509fe8b9f9346
Author: Peter Wen <wnwen@chromium.org>
Date: Wed May 16 17:39:18 2018

Android: Use default sdk dir for Android Studio

Rather than use `third_party/android_tools/sdk` and
`third_party/android_ndk`, create and use the default `~/Android/Sdk`
directory instead for Android Studio. This allows a consistent dev
environment that does not change per-repository and also allows frequent
updates without affecting each checkout.

Necessary for native support and emulators. This will become the default
in the near future. For now, use:

build/android/gradle/generate_gradle.py --sdk AndroidStudioDefault

Bug:  840542 ,620034
Change-Id: Ia482cb2982472410fe9c515c5f5f9856f3eadfaf
Reviewed-on: https://chromium-review.googlesource.com/1058308
Commit-Queue: Peter Wen <wnwen@chromium.org>
Reviewed-by: agrieve <agrieve@chromium.org>
Reviewed-by: Eric Stevenson <estevenson@chromium.org>
Cr-Commit-Position: refs/heads/master@{#559166}
[modify] https://crrev.com/cb5195733a446c14b1c55670c73509fe8b9f9346/build/android/gradle/generate_gradle.py
[modify] https://crrev.com/cb5195733a446c14b1c55670c73509fe8b9f9346/docs/android_studio.md

Project Member

Comment 134 by bugdroid1@chromium.org, May 17

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/8393de89df09cc7883fba09891b4e6969023efa9

commit 8393de89df09cc7883fba09891b4e6969023efa9
Author: Peter Wen <wnwen@chromium.org>
Date: Thu May 17 20:58:54 2018

Android: Update script and docs for Android Studio

Add conditional check to run `gn gen` if build.ninja does not exist.
This can happen if the out directory is deleted. This way devs won't
have to run `gn gen` manually when `generate_gradle.py` fails.

Update docs for native code editing to start with a lighter target than
`//chrome/browser:browser` and add instructions to manually make
temporary edits to CMakeLists.txt.

Reorder jinja templates to make it easier to see shorter sections.

Bug: 827294,620034
Change-Id: I25be0a67b5f19dc4d1b15e675f0bf1a5beac761c
Reviewed-on: https://chromium-review.googlesource.com/1064696
Commit-Queue: Peter Wen <wnwen@chromium.org>
Reviewed-by: agrieve <agrieve@chromium.org>
Cr-Commit-Position: refs/heads/master@{#559671}
[modify] https://crrev.com/8393de89df09cc7883fba09891b4e6969023efa9/build/android/gradle/android.jinja
[modify] https://crrev.com/8393de89df09cc7883fba09891b4e6969023efa9/build/android/gradle/cmake.jinja
[modify] https://crrev.com/8393de89df09cc7883fba09891b4e6969023efa9/build/android/gradle/generate_gradle.py
[modify] https://crrev.com/8393de89df09cc7883fba09891b4e6969023efa9/docs/android_studio.md

Project Member

Comment 135 by bugdroid1@chromium.org, May 23

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/efd172781a38cceaa26adb602fc632efe0d78e42

commit efd172781a38cceaa26adb602fc632efe0d78e42
Author: Peter Wen <wnwen@chromium.org>
Date: Wed May 23 18:51:40 2018

Android: Default to Android Studio's SDK

Enabling the default as per: https://crrev.com/c/1058308

Obviates the need to pass in `--sdk AndroidStudioDefault` and making
local edits to //third_party/android_tools/sdk when updating the sdk.

Update docs so that using the `gradle` folder when importing is more
prominent.

Bug: 620034, 843264 
Change-Id: I3c3c56a7d15b57ce0aaa9d4029493dc574045ceb
Reviewed-on: https://chromium-review.googlesource.com/1070453
Reviewed-by: agrieve <agrieve@chromium.org>
Commit-Queue: Peter Wen <wnwen@chromium.org>
Cr-Commit-Position: refs/heads/master@{#561184}
[modify] https://crrev.com/efd172781a38cceaa26adb602fc632efe0d78e42/build/android/gradle/generate_gradle.py
[modify] https://crrev.com/efd172781a38cceaa26adb602fc632efe0d78e42/docs/android_studio.md

Project Member

Comment 136 by bugdroid1@chromium.org, May 23

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/cf4236de1fad5752b1af87da7d5a79ccdc0ec45e

commit cf4236de1fad5752b1af87da7d5a79ccdc0ec45e
Author: Peter Wen <wnwen@chromium.org>
Date: Wed May 23 19:26:36 2018

Android: Update Android Studio docs

With debian testing the GTK+ theme can cause menus to become invisible.

Bug: 620034
Change-Id: I47b632a240fbc070946ed751fdc09a1f88f5a7b6
Reviewed-on: https://chromium-review.googlesource.com/1070475
Reviewed-by: Eric Stevenson <estevenson@chromium.org>
Commit-Queue: Peter Wen <wnwen@chromium.org>
Cr-Commit-Position: refs/heads/master@{#561200}
[modify] https://crrev.com/cf4236de1fad5752b1af87da7d5a79ccdc0ec45e/docs/android_studio.md

Project Member

Comment 137 by bugdroid1@chromium.org, May 31

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/cf7c8f2d1f647e179ff49d6a799db8f34ecf5068

commit cf7c8f2d1f647e179ff49d6a799db8f34ecf5068
Author: Peter Wen <wnwen@chromium.org>
Date: Thu May 31 16:17:42 2018

Android Studio: Update canary plugin version

TBR=estevenson@chromium.org

Bug: 620034
Change-Id: I20134fd1696820b78e40590a0f3e0822b69c89a9
Reviewed-on: https://chromium-review.googlesource.com/1080869
Reviewed-by: Peter Wen <wnwen@chromium.org>
Reviewed-by: Eric Stevenson <estevenson@chromium.org>
Commit-Queue: Peter Wen <wnwen@chromium.org>
Cr-Commit-Position: refs/heads/master@{#563265}
[modify] https://crrev.com/cf7c8f2d1f647e179ff49d6a799db8f34ecf5068/build/android/gradle/root.jinja

Project Member

Comment 138 by bugdroid1@chromium.org, Jun 6

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/4fb8fc25cd13c34667446935cc8c80c10d978898

commit 4fb8fc25cd13c34667446935cc8c80c10d978898
Author: Peter Wen <wnwen@chromium.org>
Date: Wed Jun 06 18:41:11 2018

Android Studio: Run `gn gen` if necessary

Specifically when passing in targets manually. The `--all` flag (on by
default) already takes care of this case.

Bug: 620034
Change-Id: Ie5c679c6cf9b75e36415d2868f7fff46e9e81ad1
Reviewed-on: https://chromium-review.googlesource.com/1089121
Commit-Queue: Peter Wen <wnwen@chromium.org>
Commit-Queue: Eric Stevenson <estevenson@chromium.org>
Reviewed-by: Eric Stevenson <estevenson@chromium.org>
Cr-Commit-Position: refs/heads/master@{#564979}
[modify] https://crrev.com/4fb8fc25cd13c34667446935cc8c80c10d978898/build/android/gradle/generate_gradle.py

Project Member

Comment 139 by bugdroid1@chromium.org, Jun 13

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/9222aa2f48c1e08e75888853570dcb49fd9f2dcf

commit 9222aa2f48c1e08e75888853570dcb49fd9f2dcf
Author: Peter Wen <wnwen@chromium.org>
Date: Wed Jun 13 17:50:06 2018

Android Studio: Update docs

Instrumentation code is only available for editing purposes.

TBR=estevenson@chromium.org

Bug: 620034
Change-Id: I32d2b3b29bd61a2b206f6ccca80cfb9cde71a292
Reviewed-on: https://chromium-review.googlesource.com/1099177
Commit-Queue: Peter Wen <wnwen@chromium.org>
Reviewed-by: Eric Stevenson <estevenson@chromium.org>
Reviewed-by: Peter Wen <wnwen@chromium.org>
Cr-Commit-Position: refs/heads/master@{#566898}
[modify] https://crrev.com/9222aa2f48c1e08e75888853570dcb49fd9f2dcf/docs/android_studio.md

Project Member

Comment 140 by bugdroid1@chromium.org, Jul 12

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/5c98d04f201c356e8c4e811f3a43afa5c264750c

commit 5c98d04f201c356e8c4e811f3a43afa5c264750c
Author: Peter Wen <wnwen@chromium.org>
Date: Thu Jul 12 16:04:01 2018

Android: Default to full instead of fast

Switch from --full being optional to --fast being optional. Quite a few
users of generate_gradle.py have found it unintuitive to have red
underlines by default.

Bug: 620034
Change-Id: I24a19e16ed21baa19bde97bb2f3077430a73d148
Reviewed-on: https://chromium-review.googlesource.com/1134882
Commit-Queue: Peter Wen <wnwen@chromium.org>
Reviewed-by: Eric Stevenson <estevenson@chromium.org>
Reviewed-by: agrieve <agrieve@chromium.org>
Cr-Commit-Position: refs/heads/master@{#574580}
[modify] https://crrev.com/5c98d04f201c356e8c4e811f3a43afa5c264750c/build/android/gradle/generate_gradle.py

Project Member

Comment 141 by bugdroid1@chromium.org, Jul 13

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/9b5ef21fcffa08e403642a7f9a0854efe9044fa0

commit 9b5ef21fcffa08e403642a7f9a0854efe9044fa0
Author: Peter Wen <wnwen@chromium.org>
Date: Fri Jul 13 03:55:31 2018

Android: Update android studio docs.

Reflects the change from --full to --fast.

Bug: 620034
Change-Id: Id88f4f3e00cc1f6fcdc4878786cc342d8717537d
Reviewed-on: https://chromium-review.googlesource.com/1135530
Commit-Queue: agrieve <agrieve@chromium.org>
Reviewed-by: agrieve <agrieve@chromium.org>
Cr-Commit-Position: refs/heads/master@{#574828}
[modify] https://crrev.com/9b5ef21fcffa08e403642a7f9a0854efe9044fa0/docs/android_studio.md

I successfully imported content_shell_apk project in Android Studio. But while trying to run the project cannot find symbol errors are thrown.
Error screens are attached here.

I have followed the steps as mentioned in the https://chromium.googlesource.com/chromium/src/+/lkcr/docs/android_build_instructions.md
Chromium error message.png
239 KB View Download
chromium error screen2.png
222 KB View Download
@arun - Try resyncing to tip of tree and rerunning generate gradle. What is your command line when you run generate_gradle.py?
Project Member

Comment 144 by bugdroid1@chromium.org, Jul 16

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/5426c1198499990aaacb4140182f2b017a08e5c1

commit 5426c1198499990aaacb4140182f2b017a08e5c1
Author: Peter Wen <wnwen@chromium.org>
Date: Mon Jul 16 15:01:20 2018

Android: Update docs to be more explicit

Explicitly call out what flag needs to be changed if a new SDK location
is desired for Android Studio. This way the change is explicit and we do
not fall into the trap of recommending the default location Android
Studio suggests, which unfortunately happens to just be the last-used
sdk location.

We now recommend emulators so no need for the emulator warning section.

~/Android/Sdk is now the default, so removing blurb.

Bug: 620034
Change-Id: I371f8576cdcb190e31cbf8ce537800db71cf04de
Reviewed-on: https://chromium-review.googlesource.com/1138175
Reviewed-by: agrieve <agrieve@chromium.org>
Commit-Queue: Peter Wen <wnwen@chromium.org>
Cr-Commit-Position: refs/heads/master@{#575266}
[modify] https://crrev.com/5426c1198499990aaacb4140182f2b017a08e5c1/docs/android_studio.md

Project Member

Comment 145 by bugdroid1@chromium.org, Jul 30

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/0b9b402f9e02bc2c4e347adddc1f2ea73e813108

commit 0b9b402f9e02bc2c4e347adddc1f2ea73e813108
Author: Peter Wen <wnwen@chromium.org>
Date: Mon Jul 30 22:10:45 2018

Android: Update Android SDK canary gradle version

Bug: 620034
Change-Id: I4f128cfea59bb38615adc71cd8081a74c60cc39c
Reviewed-on: https://chromium-review.googlesource.com/1155731
Commit-Queue: Mohamed Heikal <mheikal@chromium.org>
Reviewed-by: Mohamed Heikal <mheikal@chromium.org>
Cr-Commit-Position: refs/heads/master@{#579190}
[modify] https://crrev.com/0b9b402f9e02bc2c4e347adddc1f2ea73e813108/build/android/gradle/root.jinja

Project Member

Comment 146 by bugdroid1@chromium.org, Jul 30

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/86f879bc128c4ae570a3d5c5c22ce94b4e4f1acf

commit 86f879bc128c4ae570a3d5c5c22ce94b4e4f1acf
Author: Peter Wen <wnwen@chromium.org>
Date: Mon Jul 30 22:21:45 2018

Android: Allow specifying gradle compile sdk

Add `--compile-sdk-version` flag to `generate_gradle.py` in order to
allow Android Studio to find the right SDK source files.

This is useful when our targetSdkVersion is on a new android version
while the publicly available source code for that version is not yet
available. Passing this flag with an older version number allows Android
Studio to use that older version's SDK source code during editing.

Bug: 620034
Change-Id: I85d3c2bb9db6d7a1f39182cc6a66d65009072c00
Reviewed-on: https://chromium-review.googlesource.com/1155482
Commit-Queue: Peter Wen <wnwen@chromium.org>
Reviewed-by: Mohamed Heikal <mheikal@chromium.org>
Cr-Commit-Position: refs/heads/master@{#579198}
[modify] https://crrev.com/86f879bc128c4ae570a3d5c5c22ce94b4e4f1acf/build/android/gradle/generate_gradle.py

Project Member

Comment 147 by bugdroid1@chromium.org, Aug 10 (5 days ago)

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/31634c4f1eae7d2fbac13a7542a0c939417d62f4

commit 31634c4f1eae7d2fbac13a7542a0c939417d62f4
Author: Peter Wen <wnwen@chromium.org>
Date: Fri Aug 10 22:45:02 2018

Android: Update Android Studio canary version

Bug: 620034
Change-Id: I33a4437e3fe54f9b7d7ce234a823d4bb05c2046b
Reviewed-on: https://chromium-review.googlesource.com/1169425
Commit-Queue: Mohamed Heikal <mheikal@chromium.org>
Reviewed-by: Mohamed Heikal <mheikal@chromium.org>
Cr-Commit-Position: refs/heads/master@{#582368}
[modify] https://crrev.com/31634c4f1eae7d2fbac13a7542a0c939417d62f4/build/android/gradle/root.jinja

Project Member

Comment 148 by bugdroid1@chromium.org, Aug 13 (2 days ago)

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/7c1077d1911e7fc1a00140952c1c1d1054978875

commit 7c1077d1911e7fc1a00140952c1c1d1054978875
Author: Peter Wen <wnwen@chromium.org>
Date: Mon Aug 13 20:26:32 2018

Android: Fix generate_gradle.py handling tests

- Correctly handle generated files in test entries.
- Fix fast to still output prebuilt jars.
  - Moving towards making `--fast` only generate what is necessary.
  - Still room to improve in avoiding tons of copies of the same mojom
    generated java files in many gn targets.

Bug: 620034
Change-Id: I651cd0684c4388b90181638023e25a027c2d8949
Reviewed-on: https://chromium-review.googlesource.com/1169694
Reviewed-by: agrieve <agrieve@chromium.org>
Commit-Queue: Peter Wen <wnwen@chromium.org>
Cr-Commit-Position: refs/heads/master@{#582690}
[modify] https://crrev.com/7c1077d1911e7fc1a00140952c1c1d1054978875/build/android/gradle/generate_gradle.py

Showing comments 49 - 148 of 148 Older

Sign in to add a comment