I have some problem for running a JavaFX application on mobile (ex: Archos Diamond S with Android 5.1)
First of all, I have created a simple "Hello world" JavaFX application on Eclipse (SDK Mars.2 - 4.5.2).
Then, for generating an Android application whereas my source language is JavaFX, I have installed Gluon (with its JavaFXports) on Eclipse.
And, now, in Eclipse, there is the "Gradle tasks" tab. Fine!
Moreover, I have connected my mobile to my desktop through the USB port. My PC recognizes it (a popUp is automatically displayed with the mobile name and some mobile options as: "Synchronize ..", "import..", ....
Now, last step to do (I hope), when I launch the Gradle task "AndroidInstall", it seems to be that my mobile should display the generated Android application. But nothing appears on my mobile.
I have searched a file *.apk in my desktop, without success.
Note that when I choose "Run" as a Gradle task, my application works fine on my PC.
Have you an idea about this problem PC-mobile?
Thank you for your response
Related
I am new to javaFx and gluon mobile. In android studio there is the option to debug code whilst it is running on the phone and I was wondering if there is a similar feature for working with intelij and the gluon mobile plugin ? Under the gradle tasks there is a Debug task, which when clicked prints "Listening for transport dt_socket at address: 5005" to the console and waits. Unfortunately there is not a lot of documentation/examples regarding this that I could find. Any help is appreciated.
The Debug task is for desktop only.
It is intended to debug easily on your machine before deploying to mobile, but obviously it will allow tracking down only common issues, and that won't guarantee that the app will work on Android. I.e. using Streams will run on desktop and it will fail on Android.
To debug the app running on Android, the best way is using adb from your Android SDK folder, in the platform-tools folder.
Connect your app to the USB and run it. On a terminal go to that folder and run:
adb logcat -v threadtime
and search through all the messages trying to find out those related to the FXActivity.
You can add print outs in your code so you can easily track them in the logs.
There are other tools like the Android monitor (under Android sdk/tools folder), that will let you add some filters so you can easily go through the app messages.
First make sure you have enabled the Debugging Mode on your phone.
Then in Eclipse e.g., you can create a Debug Configuration of type Remote Java Application which will be attached to the corresponding socket:
You can get the port from the devices view:
Now you have to start your app first, and then start the Debug Configuration
I create a big JavaFX application that works fine in desktop.
In Android, its size is about 20 Mbytes.
Now, for deploying it for Android, I have installed Gluon (JavaFxPorts).
With a small program (using the JavaFX transitions notions, timeline, ...), I have generated an .apk by calling the androidInstall gradle task. That works fine, except I cannot automatically install the .apk file in my phone. I do copy/paste from my desktop to my phone.
BUT, when I want to do the same process with my big application, at the end, my phone screen is already black.
Therefeore, even if this big application works fine on my desktop, it is necessary to debug it for Android on my desktop, too. But, I don't know how to?
What to do with apkDebug gradle task, ..?
gluon+gradle does not provide a kind of Android emulator that allows to finalize the debug on desktop for a smartphone with its specific features (size of screen, landscape orientation). Do you agree?
What is the additional tool that allows to do that?
Moreover,when the application is deployed in the smartphone, does it exist a tool that allows to finalize the debug on smartphone?
Thant you for your response
Note: I have installed Android SDK manager and its AVDM in Eclipse, but with the JavaFX use, it is impossible to use it, isn't it?
Debugging JavaFX projects on Android so far doesn't work on Android emulators.
Command Line
The usual approach is just log messages to the console (i.e. System.out.println() or Log.v()...), and then using adb logcat.
On command line, go to your Android sdk folder, enter into the platform-tools folder and run adb logcat -v threadtime. That will give you all the log messages from your device, so you'll need to find your FXActivity pid there and filter through it.
Another possibility is using Android's monitor under the tools folder, a GUI tool that will allow filtering the console messages.
Eclipse
There is an ADT plugin for Eclipse, that can be installed following this question. This will allow you displaying logCat and device windows among others. Basically this will offer the same options as the monitor tool.
However, this doesn't seem to work with recent versions of logcat.
Android Studio
You can import your gradle project with Android Studio and enable the Android framework, so you can open the Android Monitor, and easily filter the logcat messages, or switch to the monitor tab with live charts of memory, cpu, ...
Black screen
Typically a black screen means you have some exception going on, so you need to use any of the above mentioned logging methods to track it down, solve it and try again.
I'm using Eclipse to run my android mobile app. The problem is that when modify code the change not appear in the deployed app on device. Remain ever the same app on device.
If you are changing code in yourProject->www folder, then you need to build it first with command prompt /cli
OR you need to directly change the files in yourProject->platforms->...->www before running from Eclipse
I wish to run an application on android virtual device (I've created it). I right-click on the
Android project (which was created after I added the android environment) and choose "Run as Android Application". The emulator launches but it remains just a black window (and I wait a lot, nothing happens). Console writes "Build successful" and that's it. What might be the problem? API level is 18 (4.3). Platform Windows 7. Thanks.
Details: created a project, added hybrid application, added adaptors, deployed and run multiple times (just in browser), installed android in eclipse, added android environment, added AVD (had some old ones that didn't work, deleted them and created a new one following advises here).
It sounds like the problem is with your Android emulator.
First, can you start the emulator by itself, and see it work properly? You can start it from AVD itself. The emulator usually takes a long time to start, especially if you are running the ARM emulator instead of the x86 one.
If that works, can you run an empty Android app? You can go to File - New Project - Android Application Project, and after you create it, you should be able to run it and see an empty application.
If that works, can you try with an empty Worklight application? That way we can see if it is your specific application or something to do with Worklight.
I started with PhoneGap in Eclipse and made a basic app with some basic paragraph text...and it works fine in my emulator and real device (android os) ...but now I tried with some sample projects for the the PhoneGap 2.x Mobile Application Dev. Hotspot - from here
https://github.com/photokandyStudios/PhoneGap-HotShot-Book-Code-Bundle
and when I run the projects in my emulator or real devices it comes to 'Connecting to device' splashscreen and it never ends.
The same thing happened with the demo example coming in phonegap - only the splashscreen says "Device is ready".
I just want to note that I resolved the issue. Namely it was related to the github repo folder organization...just copy/paste the chapterXX/www folder to chapterXX/android/assets folder...it works then fine