简单的Angular 2 Cordova应用程序无法在Android模拟器

时间:2016-11-06 18:52:29

标签: cordova angular android-emulator

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

我使用 angular-cli 创建了一个新的角度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

有关

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

3 个答案:

答案 0 :(得分:5)

实际上,我在这里重复了这个问题:

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

由于我们的原因而关闭!!所以答案就在那里

问题非常简单,由angular 2项目组成的HTML包含:

<base href="/">

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

也在解决问题的方法中我学会了如何:

  • 使用模拟器上的chrome dev工具调试应用
  • 使用手机上的chrome dev工具调试应用
  • 创建已签名的APK

这是一个很好的实验

<强>更新

在进入构建角度+ cordova +路由的情况后, Parth Ghiya 的提示是必须

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

答案 1 :(得分:3)

只需使用

如果您移除基础href,那么您的路线将无法在角度2中工作。

如果你想建立, 做

ng build --prod --base-href .

答案 2 :(得分:1)

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

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