Other How to Use FreeBSD for Java, Android, Flutter and Golang Development

Hello Guys,
Freshly I decide to use FreeBSD for all of my life. right now I'm working with Java, Kotlin, Android, Flutter, and Golang for the development section of my life. how is it possible I use FreeBSD without any problem in Development with Continue programming with the languages I said? This is really important for me that be able to use: Java, Android Studio, Golang with Intellij and vs code.
is it ok FreeBSD for me? and can I migrate into FreeBSD?
 
Thank you for your response. this is because when I want to develop for Flutter, I need vs code or Android Studio. if android studio work on FreeBSD without any issue It's would be great. Android Studio is ok on FreeBSD?
 
I don't think that you'll succeed with Android development on FreeBSD (if nothing has changed in the past few weeks) since the build system always tries to fetch precompiled binaries (like aapt2) during the build (and sync) process. Developing using Android Studio on FreeBSD is a topic that is discussed from time to time and for older versions of Android Studio and the SDK there are some hacks that one can apply to really develop code on FBSD but as far as I know there is no hack to get the current build system for Android to compile applications on FreeBSD (I personally did build Android applications as long as they used or at least supported using ant as build system successfully, then used it with some success with gradle as long as one could disable aapt2 but it stopped working since then; currently I'm using Android Studio on a remote Linux machine using X11 forwarding to somehow get the feeling of a local application since I didn't want to rebuild my whole workstation & work primarily using FreeBSD)
 
Thank you for your response. so you are Android Developer on FreeBSD? then if we need work Android Studio on FreeBSD we must use X11 forwarding? are you ok with this solution? everything is ok?
Gradle sync or download dependencies, change XML UI and make navigation graph and ... some another thing in android development is smooth with X11 forwarding? in this way, I think the machine that runs Android Studio is matter and Internet connection between FreeBSD Machine and Android Studio runner Machine? yes? I'm really happy after all found someone that he is an android developer and use FreeBSD. may please guide me?
 
I tried hard to make Android Studio work last winter and I failed, search the Forum you will find my and other people attempts. If you make it let us know the procedure. bye
 
Thank you for your response. so you are Android Developer on FreeBSD? then if we need work Android Studio on FreeBSD we must use X11 forwarding? are you ok with this solution? everything is ok?
Gradle sync or download dependencies, change XML UI and make navigation graph and ... some another thing in android development is smooth with X11 forwarding? in this way, I think the machine that runs Android Studio is matter and Internet connection between FreeBSD Machine and Android Studio runner Machine? yes? I'm really happy after all found someone that he is an android developer and use FreeBSD. may please guide me?

Yes I'm sometimes developing for Android with my main desktop OS being FreeBSD. In the past I've also ran a buildserver for Android on FreeBSD (as said previously versions using ant as build system and not using aapt2). Back then I mainly developed for Android using Eclipse (since Android Studio was not existing / really young) so that's been a long time ago.

Well I'm somewhat satisfied - it "works" in the way that on the local network, the application is responsive for all tasks (including emulators, graphical UI designers, etc.) and behaves like running locally as far as I've experienced it but I'm somewhat missing working on the same filesystem as my local machine (I've shared the directories from my Android build machine using NFS though) and I really dislike having to use an external host (or VM) to run an application like Andriod Studio - I really would prefer to run the application native on FreeBSD. I've even tried to run the Windows version using Wine (not really successful though) to circumvent the second-machine solution. One thing that doesn't work as to my knowledge is using ssh-agent running on the frontend machine from inside of Android Studio running at the backend to authenticate against the SCM or using the local machines signature keystore.

I've not really been successful using this setup over the Internet (mainly due to a somewhat limited internet connection) due to responsiveness. As X11 is not exactly the most efficient protocol for UI forwarding I doubt that one wants to do graphics heavy operations over the Internet using X11 forwarding.

It's pretty easy to "setup" - just setup a Linux machine or VM (if the local machine has enough resources one might even use the local machine as VM host - for example using bhyve; the machine doesn't need a graphical desktop setup, just the X11 libraries), install Android Studio there as usual on Linux, enable ssh if it's not done already and then use something like
Bash:
ssh -X user@remotehost "~/android/android-studio/bin/studio.sh"
to launch the application via ssh with X11 forwarding. If one writes a desktop file one even get's a nice entry for the launcher & the impression that one works with a local application except for the different filesystem (and depending on the configuration network) view.
 
In regards to Java, I have generally been using Intelij. I thought I had opened it earlier this year when I migrated from Linux, but when launching it today, the fonts are not crisp and barely legible. I see the anti-aliasing settings are turned out. Additionally, I tried changing the vm options:
-Dawt.useSystemAAFontSettings=on
-Dswing.aatext=true
-Dsun.java2d.xrender=true

But, that didn't have any effect.

Lastly, I was wondering if I need special fonts (chrome works fine, so probably not). I installed urwfonts and then restarted intellij.

To answer your question about go, I was using Atom and then migrated to vscode. For go, I do everything from the CLI though I would like to use the Jetbrains IDE or Go plugin.

Assuming the font issue is easily resolvable, then those are the tools I'd recommend.
 
Back
Top