2017-01-18 5 views
-1

У меня есть служба браузера для очарования Gluon. Но это не работает. Кто-нибудь может мне помочь? У меня нет ошибок. Это мой build.gradleСлужба браузера не работает на устройстве Android

buildscript { 
    repositories { 
     jcenter() 
    } 
    dependencies { 
     classpath 'org.javafxports:jfxmobile-plugin:1.3.1' 

    } 
} 

apply plugin: 'org.javafxports.jfxmobile' 

repositories { 
    jcenter() 
    maven { 
     url 'http://nexus.gluonhq.com/nexus/content/repositories/releases' 
    } 
} 

mainClassName = 'com.gluonapplication.GluonApplication' 

dependencies { 

    compile 'com.gluonhq:charm:4.2.0' 
    androidRuntime 'org.sqldroid:sqldroid:1.0.3' 
    androidCompile 'org.glassfish:javax.json:1.0.4' 
    androidRuntime 'com.google.zxing:core:3.2.1' 
    compile group: 'org.xerial', name: 'sqlite-jdbc', version: '3.15.1' 
    compile group: 'org.sqldroid', name: 'sqldroid', version: '1.0.3' 
    compile group: 'com.gluonhq', name: 'charm-down-desktop', version: '0.0.2' 
    compile group: 'com.gluonhq', name: 'charm-down-common', version: '0.0.1' 
    compile group: 'com.gluonhq', name: 'charm-down-android', version: '0.0.1' 
    compileNoRetrolambda 'com.airhacks:afterburner.mfx:1.6.2' 
    compile group: 'com.gluonhq', name: 'charm-down-plugin-browser', version: '3.2.0' 
    compile group: 'com.gluonhq', name: 'charm-down-plugin-barcode-scan-android', version: '3.2.0' 
    compile group: 'com.gluonhq', name: 'charm-down-plugin-battery', version: '3.2.0' 
    compile group: 'com.gluonhq', name: 'charm-down-plugin-dialer-android', version: '3.2.0' 
    compile group: 'com.gluonhq', name: 'charm-down-plugin-pictures', version: '3.2.0' 
    compile group: 'com.gluonhq', name: 'charm-down-plugin-position', version: '3.2.0' 










} 

jfxmobile { 
    downConfig { 
     version = '3.1.0' 
     plugins 'cache','display', 'lifecycle', 'statusbar', 'storage' 
    } 
    android { 

     manifest = 'src/android/AndroidManifest.xml' 
     applicationPackage = 'org.javafxports.ensemble' 




    } 

    ios { 
     infoPList = file('src/ios/Default-Info.plist') 
     forceLinkClasses = [ 
       'com.gluonapplication.**.*', 
       'com.gluonhq.**.*', 
       'javax.annotations.**.*', 
       'javax.inject.**.*', 
       'javax.json.**.*', 
       'org.glassfish.json.**.*', 
       'ensemble.**.*' 
     ] 
    } 
} 

и я реализовали службу как так

public void browser() { 
     Services.get(BrowserService.class).ifPresent(service -> { 
      try { 
       service.launchExternalBrowser("www.google.com"); 
      } catch (Exception e1) { 
       // TODO Auto-generated catch block 
       e1.printStackTrace(); 
      } 
     }); 
    } 

После того, как я добавить его в Баттона к Scene Builder

Положение и штрих-Scan Plugin тоже не работает Вот как я его реализовал.

public void position() { 
     Services.get(PositionService.class).ifPresent(service -> { 
      Position position = service.getPosition(); 
      System.out.printf("Current position: %.5f, %.5f", position.getLatitude(), position.getLongitude()); 
      LS4.setText(position.getLatitude() + " /" + position.getLongitude() + ""); 
     }); 

    } 


public void barCode() { 
     Services.get(BarcodeScanService.class).ifPresent(service -> { 
      BarcodeScanService barcodeScanService = (BarcodeScanService) new BarcodeScanServiceFactory(); 
      Optional<String> barcode = barcodeScanService.scan(); 
      barcode.ifPresent(barcodeValue -> LS4.setText(barcodeValue)); 

     }); 
    } 

и что мой androidmanifest

<?xml version="1.0" encoding="UTF-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.gluonapplication" android:versionCode="1" android:versionName="1.0"> 
     <supports-screens android:xlargeScreens="true"/> 
     <uses-permission android:name="android.permission.INTERNET"/> 
     <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/> 
     <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> 
     <uses-permission android:name="android.permission.CALL_PHONE"/> 
     <uses-permission android:name="android.permission.CAMERA"/> 
     <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/> 
     <uses-sdk android:minSdkVersion="4" android:targetSdkVersion="21"/> 
     <application android:label="MultiViewProjectFXML" android:name="android.support.multidex.MultiDexApplication" android:icon="@mipmap/ic_launcher"> 
       <activity android:name="javafxports.android.FXActivity" android:labe 

л = "MultiViewProjectFXML" андроид: configChanges = "ориентация | Размер экрана">

+0

Опубликуйте свой файл build.gradle, чтобы мы могли видеть конфигурацию Down и фрагмент кода того, как вы используете плагин. –

+0

@ JoséPereda Я обновляю сообщение и обновляю репозиторий Git –

ответ

0

В вашей сборке содержатся неправильные зависимости, а плагины должны управляться конфигурацией downConfig.

Он позаботится о добавлении правильных плагинов и правильной платформы.

Измените зависимости и плагинов, как это:

dependencies { 
    compile 'com.gluonhq:charm:4.3.0' 
    androidRuntime 'org.sqldroid:sqldroid:1.0.3' 
    androidCompile 'org.glassfish:javax.json:1.0.4' 
    androidRuntime 'com.google.zxing:core:3.2.1' 
    desktopCompile group: 'org.xerial', name: 'sqlite-jdbc', version: '3.15.1' 
    desktopCompile group: 'org.sqldroid', name: 'sqldroid', version: '1.0.3' 
    compile 'com.airhacks:afterburner.mfx:1.6.3' 
} 

jfxmobile { 
    downConfig { 
     version = '3.2.0' 
     plugins 'barcode-scan', 'battery', 'browser', 'cache', 'dialer', 'display', 'lifecycle', 'picture', 'position', 'statusbar', 'storage' 
    } 
} 

Что касается сервиса браузера, вам нужно включить http://.

+0

Спасибо. Я обновляю Projekt. Он работает сейчас. Вы знаете, как использовать Android-эмулятор с плагином Gluon и Gradle для тестирования приложения в Android-эмуляторе? –

+0

Нет простого способа использовать эмулятор с плагином jfxmobile. Проверьте это [проблема] (https://bitbucket.org/javafxports/android/issues/65/emulator) –

+0

У меня есть тест на положение и штрих-сканирование, это не работает нормально. Когда я нажимаю кнопку «Позицию» и сканирование штрих-кода, приложение закрывается. У меня есть обновление Post –