依赖
//微信SDK
implementation'com.tencent.mm.opensdk:wechat-sdk-android-with-mta:+'
清单配置(在<application>中间加入以下代码</application>)
<!--微信登录-->
<activity
android:name=".wxapi.WXEntryActivity"
android:configChanges="keyboardHidden|orientation|screenSize"
android:exported="true"
android:theme="@android:style/Theme.Translucent.NoTitleBar" />
创建wxapi的Activity
在你的包名下建一个子package叫wxapi,这个名字不能改,然后在里面新建 WXEntryActivity -> 微信登录/微信分享回调

WXEntryActivity中代码:
/**
* @Author : XiaoXred
* @Time : On 2020/11/20 11:08
* @Description : WXEntryActivity
*/
public class WXEntryActivity extends Activity implements IWXAPIEventHandler, CancelAdapt {
@Override
protected void onCreate(Bundle bundle) {
AppManager.getInstance().addActivity(this);
super.onCreate(bundle);
//接收到分享以及登录的intent传递handleIntent方法,处理结果
IWXAPI iwxapi = WXAPIFactory.createWXAPI(this, AppID, false);
iwxapi.handleIntent(getIntent(), this);
}
@Override
protected void onDestroy() {
super.onDestroy();
AppManager.getInstance().finishActivity(this);
}
@Override
public void onReq(BaseReq baseReq) {
}
@Override
public void onResp(BaseResp baseResp) {
//登录回调
}
//登录成功关闭
finish();
break;
case BaseResp.ErrCode.ERR_AUTH_DENIED://用户拒绝授权
finish();
break;
case BaseResp.ErrCode.ERR_USER_CANCEL://用户取消
finish();
break;
default:
finish();
break;
}
}
}
在登录按钮调用
SendAuth.Req req =new SendAuth.Req();
req.scope ="snsapi_userinfo";
api.sendReq(req);
就这样集成完成啦

注:
1.如果出现包名不匹配请检查AndroidManifest中的包名和build.gradle中的包名是否和微信平台的包名一致
2.如果出现签名不匹配,请做以下操作:
第一步:

第二步:
使用方法是把这个APP安装到手机,然后把要获取签名的APP使用发布版签名安装到同一个手机,然后输入包名点击下图的获取。

第三步
签名和包名填写到页面底部的这里↓
