我正在尝试在Android上构建和运行我的Meteor应用程序。如果我只是运行
meteor run android-device
或
meteor run android-device --mobile-server http://<host>
它加载到我的设备上(LG-E988,Android版本4.4.2)。
但是,当我将应用程序构建到.apk
并在我的设备上运行时,它将无法启动。这是我的步骤:
我已经添加了平台,添加了mobile-config.js
等。以下是我的最后一步:
导航到我项目的目录并运行:
$ meteor build ~/Desktop/project-build/ --server=http://<host>:<port> --verbose
我收到了成功的消息。
BUILD SUCCESSFUL
Total time: 2 mins 37.466 secs
Built the following apk(s): Android
导航至~/Desktop/project-build/android/
,我找到project/
目录,README
和release-unsigned.apk
。
然后我签了release-unsigned.apk
:
$ jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore /home/dayuloli/.keystore release-unsigned.apk <alias>
然后我确认它已签名:
$ jarsigner -verify -verbose -certs release-unsigned.apk
控制台打印jar verified.
。
接下来我zipalign
$ $ANDROID_HOME/build-tools/23.0.2/zipalign 4 release-unsigned.apk production.apk
将production.apk
发送到我的Android设备。当我运行应用程序时,我收到应用程序错误,并显示以下消息:
net::ERR_FILE_NOT_FOUND (file:///android_asset/www/index.html)
观察
应用程序图标显示了cordova徽标,而不是我在mobile-config.js
当我解压缩production.apk
时,我看不到android_asset
目录。但我确实看到了assets/www/
目录,但其中没有index.html
。
如何解决此问题?