我正在使用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项目中使用的所有软件包,但我仍然不知道如何解决问题:如何将软件包包含在发布版本中?
答案 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