无法在发布apk的android studio中登录linkedin?
我只是按照“”将链接sdk集成到我的应用程序中。 我在应用程序中执行的步骤,例如无法在发布apk的android studio中登录linkedin?,android,linkedin,release,Android,Linkedin,Release,我只是按照“”将链接sdk集成到我的应用程序中。 我在应用程序中执行的步骤,例如 下载适用于手机的linkedin库 将其作为库导入到我的应用程序中 获取密钥散列码 在linkedin开发者控制台内创建应用程序 配置的包名称和包哈希 之后,我的应用程序一切正常。这意味着我可以从linkedin(可调试的案例)访问配置文件详细信息。但问题是,当我构建发布的apk时,我无法登录 在linkedin开发者应用程序中添加了发布密钥。对于mac,我只是使用下面的命令在终端中获取释放密钥 keytool -
keytool -exportcert -keystore MY_RELEASE_KEY_PATH -alias MY_RELEASE_KEY_ALIAS | openssl sha1 -binary | openssl base64
这是我的活动
代码:
public void login(View view) {
LISessionManager.getInstance(getApplicationContext())
.init(this, buildScope(), new AuthListener() {
@Override
public void onAuthSuccess() {
APIHelper apiHelper = APIHelper.getInstance(getApplicationContext());
apiHelper.getRequest(MainActivity.this, topCardUrl, new ApiListener() {
@Override
public void onApiSuccess(ApiResponse s) {
Log.e(TAG, "Profile json" + s.getResponseDataAsJson());
Log.e(TAG, "Profile String" + s.getResponseDataAsString());
try {
Log.e(TAG, "Profile emailAddress" + s.getResponseDataAsJson().get("emailAddress").toString());
Log.e(TAG, "Profile formattedName" + s.getResponseDataAsJson().get("formattedName").toString());
txtFirstName.setText(s.getResponseDataAsJson().get("emailAddress").toString());
txtLastName.setText(s.getResponseDataAsJson().get("formattedName").toString());
Picasso.with(MainActivity.this).load(s.getResponseDataAsJson().getString("pictureUrl"))
.into(imgProfilePic);
}catch (Exception e){
}
}
@Override
public void onApiError(LIApiError error) {
//((TextView) findViewById(R.id.response)).setText(error.toString()); Toast.makeText(getApplicationContext(), "Profile failed " + error.toString(),
Toast.LENGTH_LONG).show();
}
});
}
@Override
public void onAuthError(LIAuthError error) {
Toast.makeText(getApplicationContext(), "failed " + error.toString(),
Toast.LENGTH_LONG).show();
}
}, true);
}
private static Scope buildScope() {
return Scope.build(Scope.R_BASICPROFILE, Scope.R_EMAILADDRESS);
}
@Override
protected void onActivityResult(int requestCode,
int resultCode, Intent data) {
LISessionManager.getInstance(getApplicationContext())
.onActivityResult(this,
requestCode, resultCode, data);
}
每次我在我的应用程序中单击signin with linkedin
按钮时出现以下错误
Error={
"errorCode": "UNKNOWN_ERROR"
}
将keystore.jks文件附加到您的项目中(如果您使用的是android studio),请遵循并回答问题 然后根据给定的代码生成密钥散列
private void genertaeHashKey() {
Log.d("DEBUG", "Generating Hash Key");
try
{
PackageInfo info = getPackageManager().getPackageInfo(
getPackageName(), PackageManager.GET_SIGNATURES);
for (Signature signature : info.signatures) {
MessageDigest md = MessageDigest.getInstance("SHA");
md.update(signature.toByteArray());
Log.e("KeyHash:", Base64.encodeToString(md.digest(), Base64.DEFAULT));
}
} catch (PackageManager.NameNotFoundException e) {
Log.e("KeyHash:", "" + e);
Toast.makeText(SplashScreenActivity.this, e.toString(), Toast.LENGTH_SHORT).show();
} catch (NoSuchAlgorithmException e)
{
Log.e("KeyHash:", "" + e);
}
}
然后在linkedin开发者控制台上注册密钥哈希。
它确实对我有用。希望它能对您有所帮助。您是否已将Build Variants debug更改为release 我也面临同样的问题。如果您解决了此问题,请与我们共享此问题。请执行以下步骤:keytool-exportcert-keystore MY_RELEASE_KEY_PATH-别名MY_RELEASE_KEY_alias | openssl sha1-binary | openssl base64