美文网首页
华为安全类授权开发教程

华为安全类授权开发教程

作者: Walk_In_Jar | 来源:发表于2019-08-14 17:55 被阅读0次

    最近完成了这么个app,需要帮助的,可以留言。
    1、与华为签订一系列的协议,他才会给你开通安全授权的入口。
    2、提交一个你的应用demo(你的DEMO),与api申请表与自检表,申请开发证书,得到开发证书后,集成它的SDK,我用的是Android Studio ,先导出一个alis为cert的apk(此步骤是生成正确的签名文件,不要这个apk了),然后导出一个不签名的apk,最后用apksigner 使用刚刚的签名文件对其进行重签名,再集成开发证书,再apksigner重签名,得到的apk在指定的开发设备上测试吧。
    原因是,As导出的签名apk可能与后面使用apksinger签名方法不一致,导致后面申请临时商用证书时拿不到权限。
    3、在开发应用时,其提供了一个Sample,需要修改这个地方:
    源代码如下:

       protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            AppOpsManagerEx appManager = new AppOpsManagerEx();
       try {
        appManager.setMode(AppOpsManagerEx.TYPE_OPEN_BLUETOOTH, "com.huawei.mdm.sample2", AppOpsManagerEx.MODE_ALLOWED);
       } catch (RemoteException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
       }
      
    
            mDevicePolicyManager = (DevicePolicyManager) getSystemService(Context.DEVICE_POLICY_SERVICE);
            mDeviceRestrictionManager = new DeviceRestrictionManager();
            mAdminName = new ComponentName(this, SampleDeviceReceiver.class);
    
            initSampleView();
            updateState();
            new SampleEula(this, mDevicePolicyManager, mAdminName).show();
        }
    

    要删除

       try {
        appManager.setMode(AppOpsManagerEx.TYPE_OPEN_BLUETOOTH, "com.huawei.mdm.sample2", AppOpsManagerEx.MODE_ALLOWED);
       } catch (RemoteException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
       }
    

    如果不删除,可能会导致闪退。
    4、apksinger命令:

    apksigner sign --ks (你的签名文件路径) --v1-signing-enabled true –v2-signing-enabled true  -v3-signing-enabled false (你的apk路径)
    

    华为不支持v3签名方式,所以最好是V1+V2的签名方式。
    输入两个密码后,得到的apk应该就没问题了。
    5、总结 :
    始终使用apksinger进行签名,保持前后签名一致。
    采用v1+v2,V3要false掉。
    签名文件的别名为cert(小写),申请商用证书时,操作步骤应为 :
    AS导出的未签名文件——apksigner签名(得到1.apk,好好保存这个apk,不要更改)——提交商用证书申请,网页上提示是临时商用证书即为正确——得到V2临时证书——使用Dev程序集成证书——apksigner重签名(得到2.spk)————提交2.spk申请正式商用证书,反馈时间差不多要6天。
    2.apk理应在任何华为设备上可以调用,如果失败,就不要提交申请正式证书,过不了的,请检测CERT.SF文件的——X-Android-APK-Signed: 2 只有2。
    得到最终的商用证书后,对1.apk集成证书,再重签名,此时就完成了。

    相关文章

      网友评论

          本文标题:华为安全类授权开发教程

          本文链接:https://www.haomeiwen.com/subject/ouynjctx.html