Skip to content

Commit 76d9bc5

Browse files
committed
support multi-arch aar build
1 parent 6f77762 commit 76d9bc5

File tree

2 files changed

+12
-15
lines changed

2 files changed

+12
-15
lines changed

Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ testapps-service_library-aar: virtualenv
6060
python setup.py aar --sdk-dir $(ANDROID_SDK_HOME) --ndk-dir $(ANDROID_NDK_HOME) \
6161
--bootstrap service_library \
6262
--requirements python3 \
63-
--arch=arm64-v8a --release
63+
--arch=arm64-v8a --arch=x86 --release
6464

6565
testapps-webview: virtualenv
6666
. $(ACTIVATE) && cd testapps/on_device_unit_tests/ && \

pythonforandroid/bootstraps/service_only/__init__.py

Lines changed: 11 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -24,31 +24,28 @@ def assemble_distribution(self):
2424
with open('local.properties', 'w') as fileh:
2525
fileh.write('sdk.dir={}'.format(self.ctx.sdk_dir))
2626

27-
arch = self.ctx.archs[0]
28-
if len(self.ctx.archs) > 1:
29-
raise ValueError('built for more than one arch, but bootstrap cannot handle that yet')
30-
info('Bootstrap running with arch {}'.format(arch))
31-
3227
with current_directory(self.dist_dir):
3328
info('Copying python distribution')
3429

35-
self.distribute_libs(arch, [self.ctx.get_libs_dir(arch.arch)])
36-
self.distribute_aars(arch)
3730
self.distribute_javaclasses(self.ctx.javaclass_dir,
3831
dest_dir=join("src", "main", "java"))
3932

40-
python_bundle_dir = join(f'_python_bundle__{arch.arch}', '_python_bundle')
41-
ensure_dir(python_bundle_dir)
42-
site_packages_dir = self.ctx.python_recipe.create_python_bundle(
43-
join(self.dist_dir, python_bundle_dir), arch)
33+
for arch in self.ctx.archs:
34+
self.distribute_libs(arch, [self.ctx.get_libs_dir(arch.arch)])
35+
self.distribute_aars(arch)
36+
37+
python_bundle_dir = join(f'_python_bundle__{arch.arch}', '_python_bundle')
38+
ensure_dir(python_bundle_dir)
39+
site_packages_dir = self.ctx.python_recipe.create_python_bundle(
40+
join(self.dist_dir, python_bundle_dir), arch)
41+
if not self.ctx.with_debug_symbols:
42+
self.strip_libraries(arch)
43+
self.fry_eggs(site_packages_dir)
4444

4545
if 'sqlite3' not in self.ctx.recipe_build_order:
4646
with open('blacklist.txt', 'a') as fileh:
4747
fileh.write('\nsqlite3/*\nlib-dynload/_sqlite3.so\n')
4848

49-
if not self.ctx.with_debug_symbols:
50-
self.strip_libraries(arch)
51-
self.fry_eggs(site_packages_dir)
5249
super().assemble_distribution()
5350

5451

0 commit comments

Comments
 (0)