|
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