|
10 | 10 |
|
11 | 11 | import sys |
12 | 12 | from sys import stdout |
13 | | -from os.path import join, dirname, realpath, exists, isdir, basename |
| 13 | +from os.path import (join, dirname, realpath, exists, isdir, basename, |
| 14 | + expanduser) |
14 | 15 | from os import listdir, unlink, makedirs, environ, chdir, getcwd, walk, uname |
15 | 16 | import os |
16 | 17 | import zipfile |
@@ -596,6 +597,18 @@ def prepare_build_environment(self, user_sdk_dir, user_ndk_dir, |
596 | 597 | sdk_dir = environ.get('ANDROIDSDK', None) |
597 | 598 | if sdk_dir is None: # This seems used more conventionally |
598 | 599 | sdk_dir = environ.get('ANDROID_HOME', None) |
| 600 | + if sdk_dir is None: # Checks in the buildozer SDK dir, useful |
| 601 | + # for debug tests of p4a |
| 602 | + possible_dirs = glob.glob(expanduser(join( |
| 603 | + '~', '.buildozer', 'android', 'platform', 'android-sdk-*'))) |
| 604 | + if possible_dirs: |
| 605 | + info('Found possible SDK dirs in buildozer dir: {}'.format( |
| 606 | + ', '.join([d.split(os.sep)[-1] for d in possible_dirs]))) |
| 607 | + info('Will attempt to use SDK at {}'.format(possible_dirs[0])) |
| 608 | + warning('This SDK lookup is intended for debug only, if you ' |
| 609 | + 'use python-for-android much you should probably ' |
| 610 | + 'maintain your own SDK download.') |
| 611 | + sdk_dir = possible_dirs[0] |
599 | 612 | if sdk_dir is None: |
600 | 613 | warning('Android SDK dir was not specified, exiting.') |
601 | 614 | exit(1) |
@@ -656,6 +669,18 @@ def prepare_build_environment(self, user_sdk_dir, user_ndk_dir, |
656 | 669 | ndk_dir = environ.get('ANDROID_NDK_HOME', None) |
657 | 670 | if ndk_dir is not None: |
658 | 671 | info('Found NDK dir in $ANDROID_NDK_HOME') |
| 672 | + if ndk_dir is None: # Checks in the buildozer NDK dir, useful |
| 673 | + # for debug tests of p4a |
| 674 | + possible_dirs = glob.glob(expanduser(join( |
| 675 | + '~', '.buildozer', 'android', 'platform', 'android-ndk-r*'))) |
| 676 | + if possible_dirs: |
| 677 | + info('Found possible NDK dirs in buildozer dir: {}'.format( |
| 678 | + ', '.join([d.split(os.sep)[-1] for d in possible_dirs]))) |
| 679 | + info('Will attempt to use NDK at {}'.format(possible_dirs[0])) |
| 680 | + warning('This NDK lookup is intended for debug only, if you ' |
| 681 | + 'use python-for-android much you should probably ' |
| 682 | + 'maintain your own NDK download.') |
| 683 | + ndk_dir = possible_dirs[0] |
659 | 684 | if ndk_dir is None: |
660 | 685 | warning('Android NDK dir was not specified, exiting.') |
661 | 686 | exit(1) |
|
0 commit comments