Android Studio 구성 debug에서 공식 서명 디버그 사용
IWXAPI api = MyApplication.getInstance().getWxApi();
if (!api.isWXAppInstalled()) {
ToastFactory.getToast(activity, " ").show();
return;
}
WXWebpageObject webpage = new WXWebpageObject();
webpage.webpageUrl = notice.getUrl();
WXMediaMessage msg = new WXMediaMessage(webpage);
msg.title = notice.getDesc();
msg.description = notice.getDesc();
Bitmap thumb = BitmapFactory.decodeResource(activity.getResources(),
R.drawable.umeng_socialize_wechat);
msg.setThumbImage(thumb);
SendMessageToWX.Req req = new SendMessageToWX.Req();
req.transaction = String.valueOf(System.currentTimeMillis());
req.message = msg;
req.scene = SendMessageToWX.Req.WXSceneSession;
api.sendReq(req);
여기까지 썼으니 다 쓴 셈이다.만약 우리가 발송에 성공했는지 알고 싶다면 이렇게 써도 된다.
public class WXEntryActivity extends Activity implements IWXAPIEventHandler {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_wxentry);
IWXAPI iwxapi = HHcookApp.getInstance().getWxApi();
iwxapi.handleIntent(getIntent(),this);
}
@Override
protected void onResume() {
super.onResume();
finish();
}
@Override
public void onReq(BaseReq baseReq) {
}
@Override
public void onResp(BaseResp resp) {
String result = "";
switch (resp.errCode) {
case BaseResp.ErrCode.ERR_OK:
result = "errcode_success";
break;
case BaseResp.ErrCode.ERR_USER_CANCEL:
result = "errcode_cancel";
break;
case BaseResp.ErrCode.ERR_AUTH_DENIED:
result = "errcode_deny";
break;
default:
result = "errcode_unknown";
break;
}
ToastFactory.getToast(this,result).show();
}
}
좋아, 코드를 다 썼으니 만사대길해.하지만 테스트 위챗 직접 거절,errcode데니가 직접 토스트쇼 나와.이것은 정말 나를 우울하게 한다.왜냐하면 코드를 계속 한 번 검사해서 문제가 없다는 것을 확인했기 때문에 위챗 빌어먹을 앱 서명을 생각했다. 솔직히 나는 이 서명을 매우 좋아한다. 왜냐하면 앱의 안전성이 크게 향상되었기 때문이다.나는 갑자기 생성된 서명 파일 xxx를 발견했다.jks는 잃어버렸어요.그래, 내가 잘못했어. 교환 앱 서명을 다시 만들어서 심사에 제출해.아...몇 시간 기다렸어요.마침내 심사에 통과되었다.나는 흥미진진하게build에 있다.gradle 파일에 다음과 같은 코드 설정이 설치되어 있습니다. 여기에 주의하십시오.jks 파일은 app의 루트 디렉터리를 복사했습니다:
signingConfigs {
release {
keyAlias 'xxx'
keyPassword 'xxxx'
storeFile file('./xxx.jks')
storePassword 'xxx'
}
config {
keyAlias 'xxx'
keyPassword 'xxx'
storeFile file('./xxx.jks')
storePassword 'xxx'
}
}
테스트, 실패, 내 마음도 시원해.바람은 소소하고 역수는 차디차니, 장사는 한번 가면 다시 돌아오지 않는구나.낡은 강산을 정리하고 다시 정식으로 포장하다.테스트를 계속하려면 다음과 같이 하십시오.
오케이, 통과.갑자기 파도가 일지 않다.이것도 통하지 않을 것 같아서, 나는 갑옷을 벗고 밭에 돌아가야 한다.내가 생각하는 것은 우리가 평소에 debug 모드에서 디버깅을 하는 것이다. 즉, 내가 사용하는 정식 응용 서명이다. 내가 사용해 본 debug 서명과는 다르다.그럼 내가 매번 디버깅을 할 때마다 포장을 해야 하는 것이 아니겠는가. 분명히 이것은 불합리한 것이다.그래서 나는 이렇게 썼다.
defaultConfig {
applicationId "xxx.xxx.xxx"
minSdkVersion 9
targetSdkVersion 23
versionCode 1
versionName "1.0"
signingConfig signingConfigs.release
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
debuggable true
signingConfig signingConfigs.release
}
debug {
signingConfig signingConfigs.release
}
}
좋아, 테스트, debug 모드에서 통과, 그래.기본적으로 위챗 공유 기능을 완성한 이유는 무엇일까?signingConfig signingConfigs.release는 apk를 다시 명명하고 debug에서 정식 서명을 사용하는 것과 같다.꽃접목 냄새 나지 않아요?
총괄: 제3자를 집적하는 것은 세심하고 과정이 어렵지 않지만 세부적인 것이 성패를 결정한다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.