zoukankan      html  css  js  c++  java
  • 华为sdk报错 Failed to read meta data for the AppID,gradle拷贝配置文件

    问题描述:

    unity2017,接入第三方支持华为的sdk,androidstudio生成aar给unity

    错误日志: 

     In getMetaDataAppId, Failed to read meta data for the AppID.

    最终和技术沟通后得出结论,apk中AndroidManifest.xml文件内没有

    <meta-data android:name="com.huawei.hms.client.appid" android:value="appid=*******"/>

    原因是agconnect-services.json文件并没有打入到aar,问华为技术也没有得到正面回答,所以aar不能处理,只能通过unity打包gralde的时候处理

    解决方式:

    华为官方要求agconnect-services.json文件目录

    2019.4以及更高

    官方解决方案:https://github.com/Unity-Technologies/HuaweiServiceSample

    1、agconnect-services.json文件放到Plugins/Android下面

    2、参考官方给的demo里的脚本Assets/HuaweiHms/src/Editor/AfterBuildToDo.cs文件修改。用到的是IPostGenerateGradleAndroidProject

    不过IPostGenerateGradleAndroidProject是unity 2019.4以及更高版本处理方式

    其他处理方式gradle

    1、agconnect-services.json文件放到AssetsStreamingAssets下面

    2、Plugins/Android下增加并修改mainTemplate.gradle文件,以下代码放到mainTemplate.gradle文件最下面

    task copyJsonFile {
        copy {
            delete("agconnect-services.json")//先删除旧的文件
         //拷贝文件到华为需要的目录 from(
    'src/main/assets/') into('./') include("agconnect-services.json") } } preBuild.dependsOn copyJsonFile

    执行结果

    ps:

    1、打包后可以通过反编译apk,查看AndroidManifest.xml文件内没有

    <meta-data android:name="com.huawei.hms.client.appid" android:value="appid=*******"/>

    2、也可以通过此方法处理gradle拷贝其他文件,比如google-services.json

  • 相关阅读:
    react-native-开发环境搭建
    深入理解js中的立即执行函数(function(){…})()
    html-webpack-plugin详解
    window.getComputedStyle——ref
    react-hot-loader 的配置【局部刷新】--{create-react-app}
    es6 export、import
    echarts 金字塔
    JFinal源码详解
    如何使用JFinal开发javaweb
    MySQL如何修改密码
  • 原文地址:https://www.cnblogs.com/wangle/p/14832896.html
Copyright © 2011-2022 走看看