Skip to content

Commit f476672

Browse files
committed
Made gradle use correct build tools and target sdk versions
1 parent 2362da1 commit f476672

File tree

2 files changed

+38
-10
lines changed

2 files changed

+38
-10
lines changed

pythonforandroid/bootstraps/sdl2_gradle/build/build.py

Lines changed: 35 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,15 @@
44
from __future__ import print_function
55
from os.path import (
66
dirname, join, isfile, realpath, relpath, split, exists, basename)
7-
from os import makedirs
7+
from os import makedirs, remove, listdir
88
import os
99
import tarfile
1010
import time
1111
import subprocess
1212
import shutil
1313
from zipfile import ZipFile
1414
import sys
15+
from distutils.version import LooseVersion
1516

1617
from fnmatch import fnmatch
1718

@@ -334,6 +335,21 @@ def make_package(args):
334335
sticky=sticky,
335336
service_id=sid + 1)
336337

338+
# Find the SDK directory and target API
339+
with open('project.properties', 'r') as fileh:
340+
target = fileh.read().strip()
341+
android_api = target.split('-')[1]
342+
with open('local.properties', 'r') as fileh:
343+
sdk_dir = fileh.read().strip()
344+
sdk_dir = sdk_dir[8:]
345+
346+
# Try to build with the newest available build tools
347+
build_tools_versions = listdir(join(sdk_dir, 'build-tools'))
348+
build_tools_versions = sorted(build_tools_versions,
349+
key=LooseVersion)
350+
build_tools_version = build_tools_versions[-1]
351+
352+
337353
render(
338354
'AndroidManifest.tmpl.xml',
339355
'src/main/AndroidManifest.xml',
@@ -342,6 +358,14 @@ def make_package(args):
342358
service_names=service_names,
343359
url_scheme=url_scheme)
344360

361+
# Copy the AndroidManifest.xml to the dist root dir so that ant
362+
# can also use it
363+
if exists('AndroidManifest.xml'):
364+
remove('AndroidManifest.xml')
365+
shutil.copy(join('src', 'main', 'AndroidManifest.xml'),
366+
'AndroidManifest.xml')
367+
368+
345369
render(
346370
'strings.tmpl.xml',
347371
'src/main/res/values/strings.xml',
@@ -354,7 +378,9 @@ def make_package(args):
354378
'build.tmpl.gradle',
355379
'build.gradle',
356380
args=args,
357-
aars=aars)
381+
aars=aars,
382+
android_api=android_api,
383+
build_tools_version=build_tools_version)
358384

359385
## ant build templates
360386
render(
@@ -454,9 +480,11 @@ def parse_args(args=None):
454480
ap.add_argument('--depend', dest='depends', action='append',
455481
help=('Add a external dependency '
456482
'(eg: com.android.support:appcompat-v7:19.0.1)'))
457-
ap.add_argument('--sdk', dest='sdk_version', default=-1,
458-
type=int, help=('Android SDK version to use. Default to '
459-
'the value of minsdk'))
483+
## The --sdk option has been removed, it is ignored in favour of
484+
## --android-api handled by toolchain.py
485+
# ap.add_argument('--sdk', dest='sdk_version', default=-1,
486+
# type=int, help=('Android SDK version to use. Default to '
487+
# 'the value of minsdk'))
460488
ap.add_argument('--minsdk', dest='min_sdk_version',
461489
default=default_android_api, type=int,
462490
help=('Minimum Android SDK version to use. Default to '
@@ -487,8 +515,8 @@ def parse_args(args=None):
487515
if args.name and args.name[0] == '"' and args.name[-1] == '"':
488516
args.name = args.name[1:-1]
489517

490-
if args.sdk_version == -1:
491-
args.sdk_version = args.min_sdk_version
518+
# if args.sdk_version == -1:
519+
# args.sdk_version = args.min_sdk_version
492520

493521
if args.permissions is None:
494522
args.permissions = []

pythonforandroid/bootstraps/sdl2_gradle/build/templates/build.tmpl.gradle

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,11 +20,11 @@ allprojects {
2020
apply plugin: 'com.android.application'
2121

2222
android {
23-
compileSdkVersion {{ args.sdk_version }}
24-
buildToolsVersion '25.0.3'
23+
compileSdkVersion {{ android_api }}
24+
buildToolsVersion {{ build_tools_version }}
2525
defaultConfig {
2626
minSdkVersion {{ args.min_sdk_version }}
27-
targetSdkVersion {{ args.sdk_version }}
27+
targetSdkVersion {{ android_api }}
2828
versionCode {{ args.numeric_version }}
2929
versionName '{{ args.version }}'
3030
}

0 commit comments

Comments
 (0)