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_deny直接吐司show出来。这可把我郁闷了。这是为什么,继续检查一遍代码,确定没有问题,因此想到微信该死的应用签名,说实话,我还是挺喜欢这签名,毕竟对于应用的安全性有了很大的提高。我靠,突然发现,曾经的生成的签名文件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‘
        }
    }

测试,失败,我的心也是拔凉拔凉的。风萧萧兮易水寒,壮士一去兮不复返。收拾旧河山,重新打个正式包。继续测试:

OK ,通过。

突然波澜不惊。因为觉得这都通不过,我应该卸甲归田了。我想的是我们平常都在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下使用正式签名。是不是有点移花接木的味道啊。

总结:集成第三方的东西关键在于细心,过程不难,但是往往细节决定成败。

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-08-10 17:19:51

Android Studio配置debug下使用正式签名调试的相关文章

Android Studio配置Git及Git文件状态说明

Android Studio配置Git还是比较简单的,麻烦的是可能中间出现各种问题.如果你想了解或感兴趣,请往下看. 首先你得下载Git客户端,网址:http://git-scm.com/download/. 根据需要下载相应的版本,并安装.然后在Android Studio中指定git.exe,点击“Test”,成功则会弹出以下提示. 由于我用的是Android Studio 2.0 Preview,根本不存在“Enable Version Control Integration”提示,害我找

Android Studio 配置SVN 及 代码管理

转自:http://www.it165.net/pro/html/201508/51801.html 一.Android Studio配置SVN Android Studio关联配置SVN很简单,在Settings里面,找到Version Control->Subversion:在这个页面的控制面板中的General中将Use command line client打勾勾选上,然后浏览本地的SVN安装目录,选到"svn.exe"即可: 在Use command line clie

Android Studio配置使用git

一.准备 如果没有安装git,那么先要到到Git官网下载git,然后按照提示一步一步安装即可,这个没有什么难度,不过要记得安装的目录. 二.Android Studio配置git File->Setting->Version Control->Git,添加您刚刚安装的git地址目录,例如: D:\Program Files\Git\bin\git.exe. 然后可以点击Test测试一下,如果出现如图所示即为设置成功了. 三.初始化git项目(git init) 点击菜单栏VCS->

Android Studio配置SVN 以及使用代码管理

一.Android Studio配置SVN Android Studio关联配置SVN很简单,在Settings里面,找到Version Control->Subversion:在这个页面的控制面板中的General中将Use command line client打勾勾选上,然后浏览本地的SVN安装目录,选到"\svn.exe"即可: 在Use command line client下面还有一个Use system default Subversion configuratio

Android Studio 配置模拟器AVD存放路径(默认在c盘,解决c盘空间不够问题)

转自原文Android Studio 配置模拟器AVD存放路径(默认在c盘,解决c盘空间不够问题) Android Studio 安装之后,默认的会给我们创建一个 Nexus 的模拟器, 这个模拟器的镜像文件放在了 C:\Users\Administrator\.android  中 其中的avd文件夹就是用来存放,模拟器镜像文件的. 相当占用c盘空间,像我这种c盘空间不大的,看着真的不爽. 好了现在点进去C:\Users\Administrator\.android\avd 现在  你只需要将

Android Studio 自定义debug签名文件keystore

Android Studio 自定义debug签名文件keystore

android studio配置android开发环境

1.下载安装android-studio-bundle 地址:https://developer.android.com/sdk/index.html 注意:指定android sdk和android studio的安装路径. 在完毕之后第一次启动的时候会首先显示Fetching Android SDK component information,等一会儿就会開始下载Andorid SDK,由于下载地址被墙的缘故,所以这里会等非常长时间,最后提示下载失败.解决的方法是:先关闭Android St

Win10下Android studio配置

一.安装Android Studio的准备工作 1.下载好JDK,去官网上找一个下载下来 2.安装JDK.并配置环境变量.安装过程:本人将使用的是jdk-8u25-windows-x64.exe文件,安装到C:\Java\jdk1.8.0_25,对于jre是使用默认安装,配置环境变量,对我的电脑右击属性出现如下框框 选中高级系统设置,出现如下图左边界面: 选择环境变量,出现如上右图界面: 进行配置环境变量,在下面的“环境变量”中新建变量: 变量名:JAVA_HOME 变量值: C:\Java\j

Android Studio配置指南总结

 转载:http://blog.csdn.net/mynameishuangshuai/article/details/51332790 使用AndroidStudio开发APP已有半年多的时间了,从刚开始的不习惯到慢慢适应再到逐渐喜欢上AndroidStudio,中间的过程颇有一番曲折,现在把自己对AndroidStudio的配置心得总结下来,分享给大家,希望给后来人带来方便. 强迫症童鞋的护眼模式设置方法 传统模式的编辑域 护眼模式的编辑域 设置保护视力颜色 #C7EDCC(护眼绿) 开发界