fixes android reference for android_new + support for p4a hook

This commit is contained in:
Mathieu Virbel 2017-01-04 11:20:59 +01:00
parent 11bac03791
commit 9848996e07
3 changed files with 14 additions and 11 deletions

View file

@ -102,7 +102,10 @@ fullscreen = 1
#android.p4a_dir =
# (str) The directory in which python-for-android should look for your own build recipes (if any)
#p4a.local_recipes =
#p4a.local_recipes =
# (str) Filename to the hook for p4a
#p4a.hook =
# (list) python-for-android whitelist
#android.p4a_whitelist =

View file

@ -604,6 +604,11 @@ class TargetAndroid(Target):
def get_dist_dir(self, dist_name):
return join(self.pa_dir, 'dist', dist_name)
@property
def dist_dir(self):
dist_name = self.buildozer.config.get('app', 'package.name')
return self.get_dist_dir(dist_name)
def execute_build_package(self, build_cmd):
dist_name = self.buildozer.config.get('app', 'package.name')
cmd = [self.p4a_apk_cmd]
@ -807,13 +812,9 @@ class TargetAndroid(Target):
# recreate the project.properties
with io.open(project_fn, 'w', encoding='utf-8') as fd:
for line in content:
if IS_PY3:
fd.write(line)
else:
fd.write(line.decode('utf-8'))
fd.writelines(content)
for index, ref in enumerate(references):
fd.write(u'android.library.reference.{}={}\n'.format(index + 1,
fd.write(u'\nandroid.library.reference.{}={}'.format(index + 1,
ref))
self.buildozer.debug('project.properties updated')

View file

@ -26,6 +26,9 @@ class TargetAndroidNew(TargetAndroid):
color = 'always' if USE_COLOR else 'never'
self.extra_p4a_args = ' --color={} --storage-dir={}'.format(
color, self._build_dir)
hook = self.buildozer.config.getdefault("app", "p4a.hook", None)
if hook is not None:
self.extra_p4a_args += ' --hook={}'.format(realpath(hook))
def _p4a(self, cmd, **kwargs):
if not hasattr(self, "pa_dir"):
@ -67,10 +70,6 @@ class TargetAndroidNew(TargetAndroid):
dist_name, self._p4a_bootstrap, requirements, " ".join(options)),
get_stdout=True)[0]
def _update_libraries_references(self, dist_dir):
# UNSUPPORTED YET
pass
def get_dist_dir(self, dist_name):
return join(self._build_dir, 'dists', dist_name)