tencent cloud

文档反馈

最后更新时间:2024-07-05 12:39:39

    1. Android release 包报错找不到某些方法,如何解决?

    如果您在打 release 包时,启用了编译优化(把 minifyEnabled 设置为 true),会裁掉一些未在 java 层调用的代码,而这些代码有可能会被 native 层调用,从而引起 no xxx method 的异常。
    如果您启用了这样的编译优化,那就要添加这些 keep 规则,防止 xmagic 的代码被裁掉:
    -keep class com.tencent.xmagic.** { *;}
    -keep class org.light.** { *;}
    -keep class org.libpag.** { *;}
    -keep class org.extra.** { *;}
    -keep class com.gyailib.**{ *;}
    -keep class com.tencent.cloud.iai.lib.** { *;}
    -keep class com.tencent.beacon.** { *;}
    -keep class com.tencent.qimei.** { *;}
    -keep class androidx.exifinterface.** { *;}

    2. Android SDK 集成到宿主工程报 gson 库冲突,如何解决?

    在宿主工程 build.gradle 文件中添加如下代码:
    Android{
    configurations {
    all*.exclude group: 'com.google.code.gson'
    }
    }

    3. Android targetSdkVersion 为31或更高时,so 库没有加载成功?或者无法使用 GAN 类型特效(例如童话脸、童年泡泡糖等)?

    Android targetSdkVersion 为31或更高版本时需要在 app 模块下找到 AndroidManifest.xml 文件,在 application 标签内加入如下标签:
    <uses-native-library
    android:name="libOpenCL.so"
    android:required="false" />
    //true 表示libOpenCL是当前app必需的。如果没有此库,系统将不允许app安装
    //false 表示libOpenCL不是当前app必需的。无论有没有此库,都可以正常安装app。如果设备有此库,腾讯特效SDK里的GAN类型特效能正常生效(例如童话脸、国漫脸)。如果设备没有此库,GAN类型不会生效,但也不影响SDK内其他功能的使用。
    //关于uses-native-library的说明,请参考Android 官网介绍:https://developer.android.com/guide/topics/manifest/uses-native-library-element
    具体请参见 开发指引

    4. 使用美颜时传递的纹理是横向纹理,如何解决?

    可以使用 demo 中工具类TextureConverter.java 的convert 方法对纹理进行旋转,转换为竖屏,然后再传递给美颜 SDK。
    /**
    * 此方法用于对rgba纹理进行旋转和镜像处理。处理过程为:先顺时针旋转rotation度(可取值0,90,180,270),再进行左右翻转(flipHorizontal)和 上下翻转(flipVertical)。
    * 使用场景:某些推流SDK返回的纹理是横屏纹理或者画面中人物朝向不对,而腾讯特效SDK要求纹理中的人物是正向的,所以可以通过此方法对纹理进行转换。
    *
    * @param srcID rgba纹理
    * @param width 纹理宽度
    * @param height 纹理高度
    * @param rotation 需要进行旋转的角度。
    * @return 旋转后的纹理,注意:如果旋转90或者270度,那么宽度需要进行交换。
    */
    public int convert(int srcID, int width, int height, @RotationDegreesValue int rotation, boolean flipVertical, boolean flipHorizontal)

    5. 使用美颜时传递的纹理是 oes 纹理,如何解决?

    可以使用 demo 中工具类TextureConverter.java 的oes2Rgba 方法对纹理进行转换,转换为 RGBA 纹理,然后再传递给美颜 SDK。
    /**
    * 此方法用于将oes纹理转换为rgba纹理
    *
    * @param srcID oes 纹理
    * @param width 纹理宽度
    * @param height 纹理高度
    * @return rgba纹理ID
    */
    public int oes2Rgba(int srcID, int width, int height)

    6. 如果想使用别的版本的 pag 如何解决?V3.5.0及以上支持

    客户集成美颜 SDK 时:
    如果是通过 Maven 集成,通过 implementation TencentEffect 就能引入 pag。如果您不想用 TencentEffect 依赖的 pag,可以通过 exclude 排除,然后在自己 app 的 build.gradle 中引入您需要的 pag 版本:
    implementation ('com.tencent.mediacloud:TencentEffect_S1-04:版本号'){
    exclude group: "com.tencent.tav", module: "libpag"
    }
    如果是下载美颜 SDK 的 aar 手动集成,在项目中依赖 TencentEffect.aar,这个 aar 是不带 pag 的,您还需要在 app 的 build.gradle 加一句 implementation pag 引入 pag 才能用:
    implementation 'com.tencent.tav:libpag:4.3.33-noffavc'
    如果您想动态下载 pag 的 so,请从 pag 官网 找到您需要的版本,下载 aar,将 .aar 重命名为 .zip,解压,剔除其中的 so,再把剩余文件压缩为 .zip,然后重命名为 .aar,最后引入这个不包含 so 的 pag aar,pag 的 so 则联网动态下载。
    联系我们

    联系我们,为您的业务提供专属服务。

    技术支持

    如果你想寻求进一步的帮助,通过工单与我们进行联络。我们提供7x24的工单服务。

    7x24 电话支持