lumberyard
lumberyard copied to clipboard
Cannot configure Android project
Describe the bug Base on your documentation at this page https://docs.aws.amazon.com/lumberyard/latest/userguide/android-intro.html is not possible to configure Android project. As I think it's because Google make some changes with their API (or Android Studio Team). Also there is a few mismatches between your documentation and used configuration.
Steps to reproduce
- Set "Compile for Android devices" in Setup Assistant,
- lmbr_waf configure and you will get error similiar to this one from logs (see logs).
Expected behavior Sucessfully generated VS solution with Android dependencies and compiled Android project.
Screenshots/Logs
Traceback (most recent call last):
File "i:\Amazon\lumberyard\dev\Tools\build\waf-1.7.13\waflib\Scripting.py", line 226, in waf_entry_point
run_commands()
File "i:\Amazon\lumberyard\dev\Tools\build\waf-1.7.13\waflib\Scripting.py", line 342, in run_commands
ctx = run_command(cmd_name)
File "i:\Amazon\lumberyard\dev\Tools\build\waf-1.7.13\waflib\Scripting.py", line 319, in run_command
ctx.execute()
File ".\Tools\build\waf-1.7.13\lmbrwaflib\build_configurations.py", line 1504, in execute
return execute_method(self)
File "i:\Amazon\lumberyard\dev\Tools\build\waf-1.7.13\waflib\Configure.py", line 247, in execute
super(ConfigurationContext, self).execute()
File "i:\Amazon\lumberyard\dev\Tools\build\waf-1.7.13\waflib\Context.py", line 220, in execute
self.recurse([os.path.dirname(g_module.root_path)])
File "i:\Amazon\lumberyard\dev\Tools\build\waf-1.7.13\waflib\Context.py", line 303, in recurse
user_function(self)
File "i:\Amazon\lumberyard\dev\wscript", line 127, in configure
conf.load_compile_rules_for_enabled_platforms()
File "i:\Amazon\lumberyard\dev\Tools\build\waf-1.7.13\waflib\Configure.py", line 458, in fun
result = f(*k, **kw)
File ".\Tools\build\waf-1.7.13\lmbrwaflib\build_configurations.py", line 1246, in load_compile_rules_for_enabled_platforms
load_platform_common_settings_func()
File "i:\Amazon\lumberyard\dev\Tools\build\waf-1.7.13\waflib\Configure.py", line 458, in fun
result = f(*k, **kw)
File "Tools\build\waf-1.7.13\platforms\platform_settings_android_armv8_clang.py", line 70, in load_android_armv8_clang_common_settings
ctx.load_android_common_settings()
File "i:\Amazon\lumberyard\dev\Tools\build\waf-1.7.13\waflib\Configure.py", line 458, in fun
result = f(*k, **kw)
File "Tools\build\waf-1.7.13\platforms\compile_settings_android.py", line 148, in load_android_common_settings
tools_contents = os.listdir(tools_path)
WindowsError: [Error 3] Cannot find path: 'G:/android_sdk\\tools\\lib/*.*'
Lumberyard version 1.23.1
Suggested solution
- Update documentation (to use NDK r21, to check Android envirionment variables, provide exactly version numers eg. 29.0.1 etc.),
- Update android.settings.json to use Android 21 SDK (I created pull request 470 for it). Please consider to replace "latest" for BUILD_TOOL_VERSION for specified one,
- The problem is at tools at Android SDK - thats their update as I think. At the moment Tools are replaced by Android SDK Command-line Tools (at dafault located in cmdline-tools of Android SDK folder). Libraries required by Lumberlyard ( manifest-merger.jar, sdk-common.jar, common.jar) are at their subfolders (build-system, common, sdk-common ). So you should change WAF configuration file to get it from valid place (or I hope you will do it in cmake in next release).
I hope that will help you :)
Hi @researchdeveloping, we've created an internal issue LY-112659 to track this and are looking into it.