2017-06-14 101 views
1

我有一個在JavaFX中製作的項目,並且想要在Android中運行它。我已經使用了JavaFXports並生成了所需的apk。另外我設法在模擬器上安裝apk。但我需要源代碼(源代碼)。換句話說,我希望能夠在仿真器上運行時調試項目。將JavaFX項目導出到android

+0

可以使用IDE和Android監視器中的JavaFX源來調試項目,至少可以在真正的Android設備上運行該項目。你使用的是什麼模擬器? –

+0

來自android studio Nexus_5X_API_21 –

+0

如果您正在使用Android Studio,並使用JavaFX項目,那麼可能會調試_just_開箱即用。你試過了嗎? –

回答

3

要調試您使用用於IDE(NetBeans,IntelliJ或Eclipse)的Gluon插件創建的JavaFXPorts/Gluon Mobile,並且已經部署到Android模擬器(使用Android Studio),請按照以下步驟操作:

1.從IDE

對於您可以使用膠子plugin您的IDE中創建JavaFX的移動應用程序。使用其中一個內置模板創建您的項目,或使用可用的多個樣本here中的一個。

假設您使用Single View項目。提供一個名稱,並運行應用程序

2.創建APK

運行任務Tasks->Android->Android創建APK(或命令行運行./gradlew android)。

3.運行模擬器

爲此,開放的Android工作室,從模板創建一個新的空應用程序,然後點擊運行。它會要求你選擇一個設備。然後創建一個新的虛擬設備並使用ARMEABI映像。

armeabi image

雖然這個形象是真的,真的很慢,X86-64圖像將無法正常工作部署APK(見INSTALL_FAILED_NO_MATCHING_ABIS error)。所以,如果你不能得到一個真正的設備來測試它,據我所知,這是唯一的解決方案。

如果需要,請下載armeabi圖像。一旦你有了它,啓動應用程序將需要很長時間。但只需要模擬器,所以不需要等待,我們可以關閉模​​擬器,然後在關閉Android Studio之前,獲取映像名稱,比如說Nexus_5_API_23

在命令行,去<android sdk>/tools和運行:

./emulator -avd Nexus_5_API_23 

它會顯示出來,你會看到類似這樣的:

$ ./emulator -avd Nexus_5_API_23 
emulator: Listening for console connections on port: 5554 
emulator: Serial number of this emulator (for ADB): emulator-5554 

4.部署的apk

在命令行,去<android sdk>/platform-tools和運行

adb -s emulator-5554 install <path.to>/<your.app>.apk 

您可以/builds/javafxports/android/<your.app>.apk下找到項目中的APK。

$adb -s emulator-5554 install GluonDebugEmulator.apk           
[100%] /data/local/tmp/GluonDebugEmulator.apk                      
    pkg: /data/local/tmp/GluonDebugEmulator.apk 
Success 

5.運行在模擬器上

6.打開Android設備監視器

轉到<android sdk>/tools和運行monitor的APK。在左側,您應該看到模擬器設備和一系列進程。在那裏找到您的應用程序包名稱,選擇它並查看它用於應用程序的端口(8700)。

monitor

7.將調試您的IDE

最後,回到你的IDE,並在調試選項,附加一個調試器,本地主機與8700和這對NetBeans的:

,然後點擊確定。調試過程將開始。

8.啓動調試

添加斷點在你的代碼,例如在按鈕的事件處理程序,並在模擬器中運行應用程序點擊按鈕。你會看到它停在斷點處。

debugging

,這是它。