2015-12-17 5 views
0

Я внедрил сервер Jetty на Android для открытия автономного веб-сайта. Я использую Jetty 7.Android - сервер Jetty не работает без подключения к Интернету

Проблема в том, что если я запустил сервер без подключения к интернету и попробую открыть его на локальном веб-сайте, он не запускает css-файл, например, не работает локальный веб-сервер, но если я включу интернет-соединение, веб-страница работает нормально

Путь в веб-приложение - http://localhost:1024/storage/emulated/0/offlineWebApp/index.html.

местный веб-приложение - https://github.com/valnub/Framework7-Pure-Angular-Template

Спасибо заранее.

Gradle

dependencies { 
compile fileTree(dir: 'libs', include: ['*.jar']) 
testCompile 'junit:junit:4.12' 
compile 'com.android.support:appcompat-v7:23.1.1' 
compile 'com.android.support:design:23.1.1' 
compile files('libs/gson-2.2.4.jar') 

compile files('libs/jetty-continuation-7.3.0.v20110203.jar') 
compile files('libs/jetty-http-7.3.0.v20110203.jar') 
compile files('libs/jetty-io-7.3.0.v20110203.jar') 
compile files('libs/jetty-security-7.3.0.v20110203.jar') 
compile files('libs/jetty-server-7.3.0.v20110203.jar') 
compile files('libs/jetty-servlet-7.3.0.v20110203.jar') 
compile files('libs/jetty-util-7.3.0.v20110203.jar') 
compile files('libs/jetty-webapp-7.3.0.v20110203.jar') 
compile files('libs/servlet-api-2.5.jar') 

}

начало Jetty сервера

public void startOfflineServer(){ 

    Server server = new Server(); 
    SelectChannelConnector connector = new SelectChannelConnector(); 
    connector.setPort(1024); 
    server.addConnector(connector); 

    ResourceHandler resource_handler = new ResourceHandler(); 
    resource_handler.setResourceBase("."); 

    HandlerList handlers = new HandlerList(); 
    handlers.setHandlers(new Handler[]{resource_handler, new DefaultHandler()}); 
    server.setHandler(handlers); 

    try { 
     if(!server.isStarted()){ 
      server.start(); 
     } 

    } catch (Exception e) { 
     e.printStackTrace(); 
    } 

добавить форума Webview

public void offlineWebView(){ 

    //activate hardware accelerator for API 19 and above 
    if (Build.VERSION.SDK_INT >= 19) { 
     mWebView.setLayerType(View.LAYER_TYPE_HARDWARE, null); 
    } else { 
     mWebView.setLayerType(View.LAYER_TYPE_SOFTWARE, null); 
    } 

    WebSettings webSettings = mWebView.getSettings(); 
    webSettings.setJavaScriptEnabled(true); 

    webSettings.setDomStorageEnabled(true); 
    mWebView.setWebChromeClient(new WebChromeClient()); 

    //http://localhost:1024/storage/emulated/0/offlineWebApp/index.html 

    String externalStorageDirectory = Environment.getExternalStorageDirectory().toString() + "/offlineWebApp/index.html";                                                         
    mWebView.loadUrl("http://localhost:1024" + externalStorageDirectory); 
} 

Logcat

12-17 17:27:46.917 4178-4178/com.scavaline.lms.mobilelms W/dalvikvm: Link of class 'Lorg/eclipse/jetty/util/log/JettyAwareLogger;' failed 
12-17 17:27:47.007 4178-4178/com.scavaline.lms.mobilelms W/dalvikvm: dvmFindClassByName rejecting 'org/eclipse/jetty/http/mime_en_US' 
12-17 17:27:47.247 4178-4178/com.scavaline.lms.mobilelms W/dalvikvm: dvmFindClassByName rejecting 'org/eclipse/jetty/http/mime_en' 
12-17 17:27:47.247 4178-4178/com.scavaline.lms.mobilelms W/dalvikvm: dvmFindClassByName rejecting 'org/eclipse/jetty/http/mime' 
12-17 17:27:49.940 4178-4178/com.scavaline.lms.mobilelms W/dalvikvm: dvmFindClassByName rejecting 'org/eclipse/jetty/http/encoding_en_US' 
12-17 17:27:49.940 4178-4178/com.scavaline.lms.mobilelms W/dalvikvm: dvmFindClassByName rejecting 'org/eclipse/jetty/http/encoding_en' 
12-17 17:27:49.940 4178-4178/com.scavaline.lms.mobilelms W/dalvikvm: dvmFindClassByName rejecting 'org/eclipse/jetty/http/encoding' 
12-17 17:27:50.000 4178-4178/com.scavaline.lms.mobilelms W/System.err: 2015-12-17 17:27:50.002:INFO:oejs.Server:jetty-8.0.y.z-SNAPSHOT 


12-17 17:28:27.737 4178-4178/? I/chromium: [INFO:CONSOLE(6)] "Viewport argument key "minimal-ui" not recognized and ignored.", source: http://localhost:1024/storage/emulated/0/offlineWebApp/index.html (6) 
12-17 17:28:47.856 4178-4178/com.scavaline.lms.mobilelms I/chromium: [INFO:CONSOLE(10)] "Uncaught ReferenceError: angular is not defined", source: http://localhost:1024/storage/emulated/0/offlineWebApp/js/config.js (10) 
12-17 17:28:47.866 4178-4178/com.scavaline.lms.mobilelms I/chromium: [INFO:CONSOLE(4)] "Uncaught TypeError: Cannot call method 'factory' of undefined", source: http://localhost:1024/storage/emulated/0/offlineWebApp/js/service/InitService.js (4) 
12-17 17:28:47.866 4178-4178/com.scavaline.lms.mobilelms I/chromium: [INFO:CONSOLE(4)] "Uncaught TypeError: Cannot call method 'controller' of undefined", source: http://localhost:1024/storage/emulated/0/offlineWebApp/js/controller/IndexPageController.js (4) 
12-17 17:28:47.876 4178-4178/com.scavaline.lms.mobilelms I/chromium: [INFO:CONSOLE(4)] "Uncaught TypeError: Cannot call method 'controller' of undefined", source: http://localhost:1024/storage/emulated/0/offlineWebApp/js/controller/DetailPageController.js 

ответ

0

Попробуйте настроить свой разъем только связываются с localhost.

connector.setHost("localhost"); 
+0

Спасибо за ответ, но он не работает. –

Смежные вопросы