Crosswalk plugin error: "requires the crosswalk project service to work please install it from the app store, then restart"
Crosswalk plugin error: "requires the crosswalk project service to work please install it from the app store, then restart"
所以我安装了人行横道插件,开发时一切顺利。然后我们将我们的应用构建(android 中的 apk)提供给一些用户在发布之前进行测试,我们收到错误消息:"requires the crosswalk project service to work please install it from the app store, then restart"
我们注意到这可能只是 Android 低于 4.2 的错误,所以有任何 workaround/solution 吗?
新答案:
Android 构建
关于如何为 android 构建带和不带人行横道的离子应用程序的分步教程。
非人行横道建筑
要为 Android 生成发布版本,首先转到离子应用程序根目录。
然后我们可以使用下面的cordova终端命令:
#Generates the *-unsigned.apk file
cordova build --release android
转到目录 platforms/android/build/outputs/apk
,我们可以在其中找到生成的未签名 APK 文件。
非常重要:如果过去的命令生成超过 1 个 apk,请使用其名称中包含 arm
的那个,例如:android-armv7-release-unsigned.apk
.
使用JDK自带的keytool命令生成私钥。如果找不到此工具,请参阅安装指南(如果此命令在 windows 上不起作用,请在 linux 或 mac 上创建它并通过 dropbox 传递 *.keystore 文件):
#This generates key.keystore file
keytool -genkey -v -keystore key.keystore -alias alias_name -keyalg RSA -keysize 2048 -validity 10000
要对未签名的 APK 进行签名,运行 jarsigner 工具也包含在 JDK 中。 jarsigner 签署 unsigned.apk 文件(如果 jarsigner 未被识别为命令,只需将其添加到环境变量 PATH,通常文件位于 java bin 所在的位置):
#Remember to rename key.keystore and unsigned.apk by whatever this files are named in your system
jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore key.keystore unsigned.apk alias_name
最后,我们需要 运行 zip 对齐工具来优化 APK(如果 zipalign 无法识别,请尝试将其添加到 windows 的环境变量 PATH;通常是可以在 your/path/to/Android/sdk/build-tools/VERSION/zipalign
)
中找到 zipalign 工具
#If the zipalign isn't recognize try ./zipalign for gitbash or unix based systems
zipalign -v 4 unsigned.apk YouAppName.apk
如果您的应用有人行横道
预构建说明
在 Android 上,该应用程序依赖于 Crosswalk 浏览器,您必须在生成平台文件后在构建之前链接安装
您需要添加相应的ios平台并安装插件
# ionic platform add android
添加人行横道插件和所需的依赖项
# ionic browser add crosswalk
记得在构建之前在 GenyMotion 的模拟器中测试应用程序
# ionic run android
构建说明
进入APP根目录下的key store目录
要为 Android 生成发布版本,首先转到离子应用程序根目录。
然后我们可以使用下面的cordova终端命令:
#Generates the *-unsigned.apk file
cordova build --release android
转到目录 platforms/android/build/outputs/apk
,我们可以在其中找到生成的未签名 APK 文件。
非常重要:如果过去的命令生成超过 1 个 apk,请使用其名称中包含 arm
的那个,例如:android-armv7-release-unsigned.apk
,除非您正在为 x86 设备构建。
用于签名应用程序的有效密钥已生成并可在项目根目录的 android 密钥库目录中使用。
要对未签名的 APK 进行签名,运行 jarsigner 工具也包含在 JDK 中。 jarsigner 签署 unsigned.apk 文件(如果 jarsigner 未被识别为命令,只需将其添加到环境变量 PATH,通常文件位于 java bin 所在的位置):
#CD to the keystore directory
cd android-keystore
# Sign the generated apk
#Remember to rename unsigned.apk by whatever this files are named in your system
jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore key.keystore ../APP/platforms/android/build/outputs/apk/unsigned.apk azanglogold
最后,我们需要 运行 zip 对齐工具来优化 APK(如果 zipalign 无法识别,请尝试将其添加到 windows 的环境变量 PATH;通常是可以在 your/path/to/Android/sdk/build-tools/VERSION/zipalign
)
中找到 zipalign 工具
# If the zipalign isn't recognize try ./zipalign for gitbash or unix based systems
# Remember to rename unsigned.apk by whatever this files are named in your system
zipalign -v 4 ../APP/platforms/android/build/outputs/apk/unsigned.apk AZSeguros.apk
旧答案:
很久以前我也遇到过同样的错误。当您为 android 的 apk 版本构建时,请遵循此说明,这将解决问题(注意点 3,这是解决方案中的特定问题):
使用 Ionic
构建签名 apk 以在 android 中发布
要为 Android 生成发布版本,首先转到离子应用程序根目录。
然后我们可以使用下面的cordova终端命令:
#Generates the *-unsigned.apk file
cordova build --release android
转到目录 platforms/android/build/outputs/apk
,我们可以在其中找到生成的未签名 APK 文件。
非常重要:如果过去的命令生成超过 1 个 apk,请使用其名称中包含 arm
的那个,例如:android-armv7-release-unsigned.apk
.
使用JDK自带的keytool命令生成私钥。如果找不到此工具,请参阅安装指南(如果此命令在 windows 上不起作用,请在 linux 或 mac 上创建它并通过 dropbox 传递 *.keystore 文件):
#This generates key.keystore file
keytool -genkey -v -keystore key.keystore -alias alias_name -keyalg RSA -keysize 2048 -validity 10000
要对未签名的 APK 进行签名,运行 jarsigner 工具也包含在 JDK 中。 jarsigner 签署 unsigned.apk 文件(如果 jarsigner 未被识别为命令,只需将其添加到环境变量 PATH,通常文件位于 java bin 所在的位置):
#Remember to rename key.keystore and unsigned.apk by whatever this files are named in your system
jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore key.keystore unsigned.apk alias_name
最后,我们需要 运行 zip 对齐工具来优化 APK(如果 zipalign 无法识别,请尝试将其添加到 windows 的环境变量 PATH;通常是可以在 your/path/to/Android/sdk/build-tools/VERSION/zipalign
)
中找到 zipalign 工具
#If the zipalign isn't recognize try ./zipalign for gitbash or unix based systems
zipalign -v 4 unsigned.apk YouAppName.apk
您在哪些设备上收到错误消息,您是否使用了 sqlite 插件?
x86 64 位设备(例如 Samsung Galaxy S6)上的 cordova 和 sqlite-plugin 存在一个已知问题。您可以在此处找到此问题的解决方案:https://github.com/litehelpers/Cordova-sqlite-storage/issues/336
所以我安装了人行横道插件,开发时一切顺利。然后我们将我们的应用构建(android 中的 apk)提供给一些用户在发布之前进行测试,我们收到错误消息:"requires the crosswalk project service to work please install it from the app store, then restart"
我们注意到这可能只是 Android 低于 4.2 的错误,所以有任何 workaround/solution 吗?
新答案:
Android 构建
关于如何为 android 构建带和不带人行横道的离子应用程序的分步教程。
非人行横道建筑
要为 Android 生成发布版本,首先转到离子应用程序根目录。
然后我们可以使用下面的cordova终端命令:
#Generates the *-unsigned.apk file cordova build --release android
转到目录
platforms/android/build/outputs/apk
,我们可以在其中找到生成的未签名 APK 文件。 非常重要:如果过去的命令生成超过 1 个 apk,请使用其名称中包含arm
的那个,例如:android-armv7-release-unsigned.apk
.使用JDK自带的keytool命令生成私钥。如果找不到此工具,请参阅安装指南(如果此命令在 windows 上不起作用,请在 linux 或 mac 上创建它并通过 dropbox 传递 *.keystore 文件):
#This generates key.keystore file keytool -genkey -v -keystore key.keystore -alias alias_name -keyalg RSA -keysize 2048 -validity 10000
要对未签名的 APK 进行签名,运行 jarsigner 工具也包含在 JDK 中。 jarsigner 签署 unsigned.apk 文件(如果 jarsigner 未被识别为命令,只需将其添加到环境变量 PATH,通常文件位于 java bin 所在的位置):
#Remember to rename key.keystore and unsigned.apk by whatever this files are named in your system jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore key.keystore unsigned.apk alias_name
最后,我们需要 运行 zip 对齐工具来优化 APK(如果 zipalign 无法识别,请尝试将其添加到 windows 的环境变量 PATH;通常是可以在
中找到 zipalign 工具your/path/to/Android/sdk/build-tools/VERSION/zipalign
)#If the zipalign isn't recognize try ./zipalign for gitbash or unix based systems zipalign -v 4 unsigned.apk YouAppName.apk
如果您的应用有人行横道
预构建说明在 Android 上,该应用程序依赖于 Crosswalk 浏览器,您必须在生成平台文件后在构建之前链接安装
您需要添加相应的ios平台并安装插件
# ionic platform add android
添加人行横道插件和所需的依赖项
# ionic browser add crosswalk
记得在构建之前在 GenyMotion 的模拟器中测试应用程序
# ionic run android
进入APP根目录下的key store目录
要为 Android 生成发布版本,首先转到离子应用程序根目录。
然后我们可以使用下面的cordova终端命令:
#Generates the *-unsigned.apk file cordova build --release android
转到目录
platforms/android/build/outputs/apk
,我们可以在其中找到生成的未签名 APK 文件。 非常重要:如果过去的命令生成超过 1 个 apk,请使用其名称中包含arm
的那个,例如:android-armv7-release-unsigned.apk
,除非您正在为 x86 设备构建。用于签名应用程序的有效密钥已生成并可在项目根目录的 android 密钥库目录中使用。
要对未签名的 APK 进行签名,运行 jarsigner 工具也包含在 JDK 中。 jarsigner 签署 unsigned.apk 文件(如果 jarsigner 未被识别为命令,只需将其添加到环境变量 PATH,通常文件位于 java bin 所在的位置):
#CD to the keystore directory cd android-keystore # Sign the generated apk #Remember to rename unsigned.apk by whatever this files are named in your system jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore key.keystore ../APP/platforms/android/build/outputs/apk/unsigned.apk azanglogold
最后,我们需要 运行 zip 对齐工具来优化 APK(如果 zipalign 无法识别,请尝试将其添加到 windows 的环境变量 PATH;通常是可以在
中找到 zipalign 工具your/path/to/Android/sdk/build-tools/VERSION/zipalign
)# If the zipalign isn't recognize try ./zipalign for gitbash or unix based systems # Remember to rename unsigned.apk by whatever this files are named in your system zipalign -v 4 ../APP/platforms/android/build/outputs/apk/unsigned.apk AZSeguros.apk
旧答案:
很久以前我也遇到过同样的错误。当您为 android 的 apk 版本构建时,请遵循此说明,这将解决问题(注意点 3,这是解决方案中的特定问题):
使用 Ionic
构建签名 apk 以在 android 中发布要为 Android 生成发布版本,首先转到离子应用程序根目录。
然后我们可以使用下面的cordova终端命令:
#Generates the *-unsigned.apk file cordova build --release android
转到目录
platforms/android/build/outputs/apk
,我们可以在其中找到生成的未签名 APK 文件。 非常重要:如果过去的命令生成超过 1 个 apk,请使用其名称中包含arm
的那个,例如:android-armv7-release-unsigned.apk
.使用JDK自带的keytool命令生成私钥。如果找不到此工具,请参阅安装指南(如果此命令在 windows 上不起作用,请在 linux 或 mac 上创建它并通过 dropbox 传递 *.keystore 文件):
#This generates key.keystore file keytool -genkey -v -keystore key.keystore -alias alias_name -keyalg RSA -keysize 2048 -validity 10000
要对未签名的 APK 进行签名,运行 jarsigner 工具也包含在 JDK 中。 jarsigner 签署 unsigned.apk 文件(如果 jarsigner 未被识别为命令,只需将其添加到环境变量 PATH,通常文件位于 java bin 所在的位置):
#Remember to rename key.keystore and unsigned.apk by whatever this files are named in your system jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore key.keystore unsigned.apk alias_name
最后,我们需要 运行 zip 对齐工具来优化 APK(如果 zipalign 无法识别,请尝试将其添加到 windows 的环境变量 PATH;通常是可以在
中找到 zipalign 工具your/path/to/Android/sdk/build-tools/VERSION/zipalign
)#If the zipalign isn't recognize try ./zipalign for gitbash or unix based systems zipalign -v 4 unsigned.apk YouAppName.apk
您在哪些设备上收到错误消息,您是否使用了 sqlite 插件?
x86 64 位设备(例如 Samsung Galaxy S6)上的 cordova 和 sqlite-plugin 存在一个已知问题。您可以在此处找到此问题的解决方案:https://github.com/litehelpers/Cordova-sqlite-storage/issues/336