generate_gradle.py: Take compile_sdk_version and min_sdk_version from GN
* Always use public compileSdkVersion to avoid issues with pre-release SDKs. * Use default minSdkVersion since we don't currently care about per-target minSdkVersion Bug: 1335494 Change-Id: I951dd64d156cc9d1729b749fddf5a192b56f8e98 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3715252 Auto-Submit: Andrew Grieve <agrieve@chromium.org> Reviewed-by: Peter Wen <wnwen@chromium.org> Commit-Queue: Peter Wen <wnwen@chromium.org> Cr-Commit-Position: refs/heads/main@{#1015989}
This commit is contained in:

committed by
Chromium LUCI CQ

parent
a3158e2ee5
commit
bf0d07ff49
build
docs
@ -51,7 +51,7 @@ android {
|
||||
|
||||
defaultConfig {
|
||||
vectorDrawables.useSupportLibrary = true
|
||||
minSdkVersion 21
|
||||
minSdkVersion {{ min_sdk_version }}
|
||||
targetSdkVersion {{ target_sdk_version }}
|
||||
}
|
||||
|
||||
|
@ -511,12 +511,14 @@ def _GenerateGradleProperties():
|
||||
|
||||
def _GenerateBaseVars(generator, build_vars):
|
||||
variables = {}
|
||||
variables['compile_sdk_version'] = (
|
||||
'android-%s' % build_vars['compile_sdk_version'])
|
||||
target_sdk_version = build_vars['android_sdk_version']
|
||||
# Avoid pre-release SDKs since Studio might not know how to download them.
|
||||
variables['compile_sdk_version'] = ('android-%s' %
|
||||
build_vars['public_android_sdk_version'])
|
||||
target_sdk_version = build_vars['public_android_sdk_version']
|
||||
if str(target_sdk_version).isalpha():
|
||||
target_sdk_version = '"{}"'.format(target_sdk_version)
|
||||
variables['target_sdk_version'] = target_sdk_version
|
||||
variables['min_sdk_version'] = build_vars['default_min_sdk_version']
|
||||
variables['use_gradle_process_resources'] = (
|
||||
generator.use_gradle_process_resources)
|
||||
variables['channel'] = generator.channel
|
||||
@ -757,12 +759,6 @@ def main():
|
||||
action='append',
|
||||
help='GN native targets to generate for. May be '
|
||||
'repeated.')
|
||||
parser.add_argument('--compile-sdk-version',
|
||||
type=int,
|
||||
default=32,
|
||||
help='Override compileSdkVersion for android sdk docs. '
|
||||
'Useful when sources for android_sdk_version is '
|
||||
'not available in Android Studio.')
|
||||
parser.add_argument(
|
||||
'--sdk-path',
|
||||
default=os.path.expanduser('~/Android/Sdk'),
|
||||
@ -832,9 +828,6 @@ def main():
|
||||
channel = 'canary'
|
||||
else:
|
||||
channel = 'stable'
|
||||
# Don't take compile_sdk_version from build_vars since pre-release SDKs can
|
||||
# cause Android Studio to have issues.
|
||||
build_vars['compile_sdk_version'] = args.compile_sdk_version
|
||||
generator = _ProjectContextGenerator(_gradle_output_dir, build_vars,
|
||||
args.use_gradle_process_resources, jinja_processor, args.split_projects,
|
||||
channel)
|
||||
|
@ -17,7 +17,9 @@ android_build_vars_json = {
|
||||
android_sdk_root = rebase_path(android_sdk_root, root_build_dir)
|
||||
android_sdk_version = android_sdk_version
|
||||
android_tool_prefix = rebase_path(android_tool_prefix, root_build_dir)
|
||||
default_min_sdk_version = default_min_sdk_version
|
||||
final_android_sdk = final_android_sdk
|
||||
public_android_sdk_version = public_android_sdk_version
|
||||
|
||||
if (defined(android_secondary_abi_cpu)) {
|
||||
android_secondary_abi_toolchain =
|
||||
|
@ -107,9 +107,10 @@ if (is_android || is_chromeos) {
|
||||
public_android_sdk_root = "//third_party/android_sdk/public"
|
||||
public_android_sdk_build_tools =
|
||||
"${public_android_sdk_root}/build-tools/31.0.0"
|
||||
public_android_sdk_version = "31"
|
||||
if (android_sdk_release == "s") {
|
||||
default_android_sdk_root = public_android_sdk_root
|
||||
default_android_sdk_version = "31"
|
||||
default_android_sdk_version = public_android_sdk_version
|
||||
default_android_sdk_build_tools_version = "31.0.0"
|
||||
public_android_sdk = true
|
||||
}
|
||||
|
@ -38,21 +38,6 @@ available" notification.
|
||||
* After `gn clean` you may need to restart Android Studio.
|
||||
* File -> "Invalidate Caches / Restart..."
|
||||
|
||||
## Troubleshooting
|
||||
|
||||
If building the Gradle files in Android Studio prints an error like this:
|
||||
|
||||
```
|
||||
Failed to find Platform SDK with path: platforms;android-31
|
||||
```
|
||||
|
||||
Then it means the SDK is being updated to the new release. A workaround is to
|
||||
ask for an older SDK version in `args.gn`:
|
||||
|
||||
```
|
||||
android_sdk_version = 30
|
||||
```
|
||||
|
||||
## How It Works
|
||||
|
||||
By default, only an `_all` module containing all java apk targets is generated.
|
||||
|
Reference in New Issue
Block a user