Meteor apk发布版本无效

时间:2016-05-11 20:35:56

标签: android angularjs meteor ionic-framework angular-meteor

我正在使用Meteor和ionic进行移动应用。

当我为Android构建apk时,生成的apk(release-unsigned.apk)在我的设备上无法正常工作。 它确实显示了启动画面,然后它只显示一个空白的白色屏幕即可。 我在bluestacks中运行它并使用远程调试来找出错误,并且在控制台中出现了这个错误:

    Uncaught Error: [$injector:modulerr] Failed to instantiate module SoldatyApp due to:
Error: [$injector:unpr] Unknown provider: e
http://errors.angularjs.org/1.4.8/$injector/unpr?p0=e
    at http://localhost:12312/fcfcd288ece9a0234fdb385aba26e0105b653b78.js?meteor_js_resource=true:113:484
    at http://localhost:12312/fcfcd288ece9a0234fdb385aba26e0105b653b78.js?meteor_js_resource=true:113:20192
    at r (http://localhost:12312/fcfcd288ece9a0234fdb385aba26e0105b653b78.js?meteor_js_resource=true:113:19362)
    at Object.i [as invoke] (http://localhost:12312/fcfcd288ece9a0234fdb385aba26e0105b653b78.js?meteor_js_resource=true:113:19699)
    at r (http://localhost:12312/fcfcd288ece9a0234fdb385aba26e0105b653b78.js?meteor_js_resource=true:113:18750)
    at http://localhost:12312/fcfcd288ece9a0234fdb385aba26e0105b653b78.js?meteor_js_resource=true:113:18874
    at o (http://localhost:12312/fcfcd288ece9a0234fdb385aba26e0105b653b78.js?meteor_js_resource=true:113:910)
    at p (http://localhost:12312/fcfcd288ece9a0234fdb385aba26e0105b653b78.js?meteor_js_resource=true:113:18651)
    at tt (http://localhost:12312/fcfcd288ece9a0234fdb385aba26e0105b653b78.js?meteor_js_resource=true:113:20341)
    at s (http://localhost:12312/fcfcd288ece9a0234fdb385aba26e0105b653b78.js?meteor_js_resource=true:113:7674)
http://errors.angularjs.org/1.4.8/$injector/modulerr?p0=SoldatyApp&p1=Error…e9a0234fdb385aba26e0105b653b78.js%3Fmeteor_js_resource%3Dtrue%3A113%3A7674) fcfcd288ece9a0234fdb385aba26e0105b653b78.js?meteor_js_resource=true:113

我还应该提一下,debug.apk工作正常。

修改

我解压缩了调试和发布apks:区别在于发布apk只有两个js文件inn.html:一个名为cordova.js,另一个是触发错误的一个,而调试apk有index.html项目中使用的所有软件包,但我仍然不知道如何解决问题:如何将软件包包含在发布版本中?

1 个答案:

答案 0 :(得分:1)

在流星论坛上发布问题之后,其中一位MDG工作人员(Urigo)建议我使用角度很严格的应用程序运行应用

https://docs.angularjs.org/guide/di

我发现ui-router的onEnter存在问题,因为我这样写了:

onEnter:function($state){

 //code here
}

但事实上我应该这样写:

onEnter:['$state',function($state){

 //code here
}]

当然,不用说这应该适用于控制器,服务...... 有关详细信息,请阅读: https://docs.angularjs.org/error/$injector/strictdi

这也可能有所帮助: https://gist.github.com/jonnolen/fff606247f24cae8e81d