Гибридное мобильное приложение с Angular и Android Studio - PullRequest
0 голосов
/ 06 июня 2018

Я в кризисе.Я новичок в Angular и еще новее в Android Studio, и я потратил все свои ресурсы, пытаясь выяснить это, извините, если это очевидно ...

Вопрос: Почемукогда я пытаюсь запустить приложение Angular через Android Studio, появляется ошибка 404.

Объяснение: Цель состояла в том, чтобы запустить мое угловое веб-приложение в playstore, сделавэто гибридное приложение, поместив его в веб-просмотр через Android Studio ... Я следую этому веб-учебнику для этой задачи ...
https://www.youtube.com/watch?v=a5dlmqM9Oo8
Это работает, если я проверяю адрес веб-сайта, такой как Google, но если я попробую свой угловой адрес приложения, экран останется пустым или выдаст 404 «запрошенный URL не найден на этом сервере».Я запустил приложение Angular на персональном сервере, и оно отлично работает через мой браузер.
я думаю, что что-то с маршрутизацией в angular препятствует загрузке приложения веб-просмотром ... Я пробовал следующие исправления без изменений ...

1) Hash Как использоватьHashLocationStrategy с виджетом Auth0 Lock для входа пользователя

    @NgModule({
      imports: [RouterModule.forRoot(routes,{useHash: true})], ...

2) .htaccess на сервере apache
https://angular.io/guide/deployment#development-servers

    RewriteEngine On
       # If an existing asset or directory is requested go to it as it is
       RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} -f [OR]
       RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} -d
       RewriteRule ^ - [L]
       # If the requested resource doesn't exist, use index.html
    RewriteRule ^ /index.html


Если выНужно больше кода, пожалуйста, дайте мне знать.Я не уверен, возможно ли это, но если нет, мне придется изучить Ionic или придумать что-нибудь еще.Спасибо stackoverflow

1 Ответ

0 голосов
/ 06 июня 2018

Я действительно надеюсь, что это поможет кому-то, кто нуждается.Я думаю, что часть проблемы заключается в том, что мобильное приложение Angular использует localalstorage для JWT и имеет некоторые API для базы данных ...
В любом случае, исправление пришло из Android Studio

    public class MainActivity extends AppCompatActivity {
       private WebView myWebView;
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            myWebView = (WebView)findViewById(R.id.web1);
            WebSettings webSettings = myWebView.getSettings();
            webSettings.setJavaScriptEnabled(true);
       // THE FIX WAS THESE TWO LINES BELOW //
            myWebView.getSettings().setAppCacheEnabled(true);
            myWebView.getSettings().setDomStorageEnabled(true);

            myWebView.loadUrl("MYANGULARAPPWEBSITE");
            myWebView.setWebViewClient(new WebViewClient());

        }
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...