Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Android deployment #84

Open
GWRon opened this issue Jun 4, 2019 · 3 comments
Open

Android deployment #84

GWRon opened this issue Jun 4, 2019 · 3 comments

Comments

@GWRon
Copy link
Contributor

GWRon commented Jun 4, 2019

For now the code in BMK to execute an application is a stub for the android target:

	If opt_execute And Not compileOnly

?Not android
		Print "Executing:"+StripDir( opt_outfile )

		Local cmd$=CQuote( opt_outfile )
		For Local i=1 Until args.length
			cmd:+" "+CQuote( args[i] )
		Next

		Sys cmd
?android
		' on android we'll deploy the apk

?


	EndIf

We already have to have the Android SDK installed. This means we could try to copy/execute the APK in an existing emulator - or to copy it to a defined device.

To know what to target, we would have to tell BMK. Means we currently miss configurability of the device to use. We could add a new param --android-device="XYZ" or use a custom settings file (see #83).

Depending on how "extensive" we plan to have android-deployment-support ("what NG does for you") it might be even a better idea to have a custom auxiliary binary: bmdt_android (BlitzMax deployment tool - android) which could specialize on helping you interacting with the SDK. So that tool could have its own parameters (--list-devices, --download-sdk...).

Of course this might for now be overkill but I wanted to at least talk about it.

BTW with ADB we could even debug the application so this means once the deployment is done, BMK could watch the execution-output for errors to at least display them to the user in the IDE then.

@GWRon
Copy link
Contributor Author

GWRon commented Jun 4, 2019

Side note / reminder: once we define the way to interact with SDK/NDK/... MaxIDE might have an additional version information in the "about" box. That way we could easily spot if paths are correct there (also MaxIDE could disable the target platform if adb/... was not found).
To ease pain there it might be a useful idea to have BMK spit out a list of currently supported platforms (so once it loaded config it can check if all required binaries are available - and then print out what it could compile with the current settings). MaxIDE could use that to enable/disable platforms.

@woollybah
Copy link
Member

The android stuff needs a rewrite, as they are now using llvm and a different folder structure. Yay :-)
I was looking at it yesterday, funnily enough.

@GWRon
Copy link
Contributor Author

GWRon commented Jun 4, 2019

Seems we had similar interests the last days :-)

I tried to find stuff allowing me to file new bug reports 😆
The Emscripten part is also waiting to get it finally working... but this is something I am absolutely no help for while on the android part I could at least assist here and there.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants