Quy*_*ham 6 android meteor meteor-accounts
我使用下面的功能Meteor.loginWithGoogle来登录google。它可以在浏览器上运行,但是当我构建为apk时(cordova)它失败了(控制台日志是错误10)。
handleLoginError(err, service) {
console.error(err);
}
Meteor.loginWithGoogle({}, (err) => {
if (err) {
this.handleLoginError(err, 'google');
} else {
this.handleLoginSuccess();
}
});
Run Code Online (Sandbox Code Playgroud)
刚刚在https://forum.ionicframework.com/t/google-login-error-10/93230/4上找到了解决方案
就您而言,Cordova 未正确签署您的 APK。这就是为什么错误只发生在apk中。您可以通过创建一个有效的密钥库来解决此问题,Cordova 可以使用该密钥库对 apk 进行签名。
选项1
您可以使用以下命令创建密钥库:keytool -genkey -v -keystore my-release-key.keystore -alias alias_name -keyalg RSA -keysize 2048 -validity 10000
确保根据您的需要对其进行编辑。如果你想了解更多关于这个命令的信息,可以阅读这个答案。
接下来,您需要使用以下命令从刚刚生成的密钥中获取 SHA1:keytool -exportcert -list -v -alias androiddebugkey -keystore ~/.android/debug.keystore
您可以使用此 SHA1 从https://developers.google.com/mobile/add?platform=android&cntapi=signin获取您的令牌、ID 和密钥
使用该命令meteor build android --release构建您的应用程序并生成 apk 文件。
最后,您可以使用该命令jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore my-release-key.keystore HelloWorld-release-unsigned.apk alias_name使用密钥库对生成的 apk 文件进行 jar 签名。
选项2
或者,您可以创建一个包含密钥库文件和密码的签名属性文件,platforms/android/debug-signing.properties如下所示。例子:
keyAlias=yourkeyAlias
keyPassword=yourkeyPassword
storeFile=theFileContainingTheKeystore
storePassword=yourStorePassword
Run Code Online (Sandbox Code Playgroud)
您可以在发布文档中获取有关此内容的更多信息:https ://ionicframework.com/docs/v1/guide/publishing.html
| 归档时间: |
|
| 查看次数: |
121 次 |
| 最近记录: |