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 {
|
defaultConfig {
|
||||||
vectorDrawables.useSupportLibrary = true
|
vectorDrawables.useSupportLibrary = true
|
||||||
minSdkVersion 21
|
minSdkVersion {{ min_sdk_version }}
|
||||||
targetSdkVersion {{ target_sdk_version }}
|
targetSdkVersion {{ target_sdk_version }}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -511,12 +511,14 @@ def _GenerateGradleProperties():
|
|||||||
|
|
||||||
def _GenerateBaseVars(generator, build_vars):
|
def _GenerateBaseVars(generator, build_vars):
|
||||||
variables = {}
|
variables = {}
|
||||||
variables['compile_sdk_version'] = (
|
# Avoid pre-release SDKs since Studio might not know how to download them.
|
||||||
'android-%s' % build_vars['compile_sdk_version'])
|
variables['compile_sdk_version'] = ('android-%s' %
|
||||||
target_sdk_version = build_vars['android_sdk_version']
|
build_vars['public_android_sdk_version'])
|
||||||
|
target_sdk_version = build_vars['public_android_sdk_version']
|
||||||
if str(target_sdk_version).isalpha():
|
if str(target_sdk_version).isalpha():
|
||||||
target_sdk_version = '"{}"'.format(target_sdk_version)
|
target_sdk_version = '"{}"'.format(target_sdk_version)
|
||||||
variables['target_sdk_version'] = 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'] = (
|
variables['use_gradle_process_resources'] = (
|
||||||
generator.use_gradle_process_resources)
|
generator.use_gradle_process_resources)
|
||||||
variables['channel'] = generator.channel
|
variables['channel'] = generator.channel
|
||||||
@@ -757,12 +759,6 @@ def main():
|
|||||||
action='append',
|
action='append',
|
||||||
help='GN native targets to generate for. May be '
|
help='GN native targets to generate for. May be '
|
||||||
'repeated.')
|
'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(
|
parser.add_argument(
|
||||||
'--sdk-path',
|
'--sdk-path',
|
||||||
default=os.path.expanduser('~/Android/Sdk'),
|
default=os.path.expanduser('~/Android/Sdk'),
|
||||||
@@ -832,9 +828,6 @@ def main():
|
|||||||
channel = 'canary'
|
channel = 'canary'
|
||||||
else:
|
else:
|
||||||
channel = 'stable'
|
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,
|
generator = _ProjectContextGenerator(_gradle_output_dir, build_vars,
|
||||||
args.use_gradle_process_resources, jinja_processor, args.split_projects,
|
args.use_gradle_process_resources, jinja_processor, args.split_projects,
|
||||||
channel)
|
channel)
|
||||||
|
@@ -17,7 +17,9 @@ android_build_vars_json = {
|
|||||||
android_sdk_root = rebase_path(android_sdk_root, root_build_dir)
|
android_sdk_root = rebase_path(android_sdk_root, root_build_dir)
|
||||||
android_sdk_version = android_sdk_version
|
android_sdk_version = android_sdk_version
|
||||||
android_tool_prefix = rebase_path(android_tool_prefix, root_build_dir)
|
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
|
final_android_sdk = final_android_sdk
|
||||||
|
public_android_sdk_version = public_android_sdk_version
|
||||||
|
|
||||||
if (defined(android_secondary_abi_cpu)) {
|
if (defined(android_secondary_abi_cpu)) {
|
||||||
android_secondary_abi_toolchain =
|
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_root = "//third_party/android_sdk/public"
|
||||||
public_android_sdk_build_tools =
|
public_android_sdk_build_tools =
|
||||||
"${public_android_sdk_root}/build-tools/31.0.0"
|
"${public_android_sdk_root}/build-tools/31.0.0"
|
||||||
|
public_android_sdk_version = "31"
|
||||||
if (android_sdk_release == "s") {
|
if (android_sdk_release == "s") {
|
||||||
default_android_sdk_root = public_android_sdk_root
|
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"
|
default_android_sdk_build_tools_version = "31.0.0"
|
||||||
public_android_sdk = true
|
public_android_sdk = true
|
||||||
}
|
}
|
||||||
|
@@ -38,21 +38,6 @@ available" notification.
|
|||||||
* After `gn clean` you may need to restart Android Studio.
|
* After `gn clean` you may need to restart Android Studio.
|
||||||
* File -> "Invalidate Caches / Restart..."
|
* 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
|
## How It Works
|
||||||
|
|
||||||
By default, only an `_all` module containing all java apk targets is generated.
|
By default, only an `_all` module containing all java apk targets is generated.
|
||||||
|
Reference in New Issue
Block a user