【问题标题】:Simple Angular 2 Cordova app not working on android emulator简单的 Angular 2 Cordova 应用程序无法在 android 模拟器上运行
【发布时间】:2017-03-20 02:09:24
【问题描述】:

我正在使用 VS 代码windows 10 上进行开发,我使用 android emulator nexus 5 API 24 设置了 android studio

我使用 angular-cli 创建了一个新的 angular 2 应用:

 ng new angular2-cordova-test

在项目文件夹中,我使用 Cordova cli 创建了一个新的 Cordova 项目:

 cordova create cordova com.example.cordova cordova
 cordova platform add android --save
 cordova build

root 目录我将 angular 2 应用程序构建到 Cordova www 目录

 ng build --prod --output-path=cordova/www/

当我从cordova 目录运行应用程序到模拟器时:

 cordova emulate android

我在模拟器中得到Loading...,而应用程序不工作

Android Emulator

我认为这与 ES6 和模拟器 webview

有关

我该如何解决这个问题?提前致谢

【问题讨论】:

    标签: cordova angular android-emulator


    【解决方案1】:

    其实,我问的这个问题在这里改写了:

    https://stackoverflow.com/questions/40470766/angular-2-and-cordova

    由于奇怪的原因关闭了!!所以答案就在 cmets 中

    问题很琐碎,angular 2项目形成的HTML包含:

    <base href="/">

    这是导致问题的原因,只需将其删除

    在解决问题的过程中我学会了如何:

    • 在模拟器上使用 chrome 开发工具调试应用
    • 在我的手机上使用 chrome 开发工具调试应用程序
    • 创建签名的 APKs

    这是一个很好的实验

    更新:

    在进入构建angular + cordova + routing的情况后,Parth Ghiya的提示是必须

    我将元标记更改为<base href=".">,包括路由在内的所有内容都运行良好

    【讨论】:

    • 太棒了...更正问题修复将<base href="/"> 替换为<base href=".">
    【解决方案2】:

    随便用

    如果您删除了基本 href,那么您的路线将无法在 angular 2 中工作。

    如果你想建造, 做

    ng build --prod --base-href .
    

    【讨论】:

      【解决方案3】:

      我用它来设置基础:<base href="./">。这对我有用。但您也可以将<base href="file:///android_asset/www/" /> 用于android。

      最后,我有一个非常有用的建议,即使用 Chrome 远程调试器来调试您的移动应用程序。它告诉一切的控制台。

      【讨论】:

        猜你喜欢
        • 2016-11-26
        • 2012-08-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-05-15
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多