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.** { *;}
Android SDK 集成到宿主工程报 gson 库冲突,如何解决?
在宿主工程 build.gradle
文件中添加如下代码:
Android{
configurations {
all*.exclude group: 'com.google.code.gson'
}
}
Android targetSdkVersion 为31或更高时,so 库没有加载成功?
Android targetSdkVersion 为31或更高版本时需要在 app 模块下找到 AndroidManifest.xml
文件,在 application 标签内加入如下标签:
<uses-native-library
android:name="libOpenCL.so"
android:required="true" />
//此处的true 表示如果没有此库,则应用将无法正常运行。系统不允许在没有此库的设备上安装应用。
//false表示应用可以使用此库(如果存在),但专门在没有此库的情况下运行(如果有必要)。系统允许安装应用,即使不存在此库也是如此。如果您使用 "false",则需要自行负责妥善处理库不存在的情况。
使用美颜时传递的纹理是横向纹理,如何解决?
可以使用demo中工具类TextureConverter.java 的convert
方法对纹理进行旋转,转换为竖屏,然后再传递给美颜 SDK。
public int convert(int srcID, int width, int height, @RotationDegreesValue int rotation, boolean flipVertical, boolean flipHorizontal)
使用美颜时传递的纹理是 oes 纹理,如何解决?
可以使用 demo 中工具类TextureConverter.java 的oes2Rgba
方法对纹理进行转换,转换为 RGBA 纹理,然后再传递给美颜 SDK。
public int oes2Rgba(int srcID, int width, int height)
如果想使用别的版本的 pag 怎么办?V3.5.0支持
客户集成美颜 SDK 时:
如果是通过 Maven 集成,通过 implement TencentEffect 就能引入 pag。如果您不想用这个版本的 pag,可以通过 exclude 排除:
implementation ('com.tencent.mediacloud:TencentEffect_S1-04:版本号'){ exclude group: "com.tencent.tav", module: "libpag"
}
如果是下载美颜 SDK 手动集成,依赖 TencentEffect.aar,是不带 pag 的,您还需要在 app 的 build.gradle 加一句 implement pag 引入 pag 才能用:
implementation 'com.tencent.tav:libpag:4.3.33-noffavc'
如果想动态下载 so,需要从官网下载 pag 版本,提取出其中的 so,仅引入 aar。
iOS 导入资源运行后报错:Xcode 12.X 版本编译提示:“Building for iOS Simulator, but the linked and embedded framework '.framework'...”?
在 Build Settings > Build Options > Validate Workspace 改为 Yes,再单击运行。
说明:
Validate Workspace 改为 Yes 之后编译完成,再改回 No,也可以正常运行,所以这里有这个问题注意下即可。
滤镜设置没反应?
检查下设置的值是否正确,范围为0~100,可能值太小了效果不明显。
iOS Demo 编译,生成 dSYM 时报错?
PhaseScriptExecution CMake\\ PostBuild\\ Rules build/XMagicDemo.build/Debug-iphoneos/XMagicDemo.build/Script-81731F743E244CF2B089C1BF.sh
cd /Users/zhenli/Downloads/xmagic_s106
/bin/sh -c /Users/zhenli/Downloads/xmagic_s106/build/XMagicDemo.build/Debug-iphoneos/XMagicDemo.build/Script-81731F743E244CF2B089C1BF.sh
Command /bin/sh failed with exit code 1
问题解析:原因是 libpag.framework
和 Masonary.framework
重签名失败。
解决方法:
1.1 打开 demo/copy_framework.sh 。
1.2 $(which cmake)
改为本地 cmake 绝对路径。
1.3 签名 Apple Development: ......
改为自己的账号。
iOS Demo,进入主页显示授权错误?
查看日志中打印的授权失败错误码。如果使用的是本地 License 文件,检查文件是否添加进工程。
iOS Demo 编译报错?
unexpected service error: build aborted due to an internal error: unable to write manifest to-xxxx-manifest.xcbuild': mkdir(/data, S_IRWXU | S_IRWXG | S_IRWXO): Read-only file system (30):
解决方法:
1.1 在 File > Project settings > Build System 选择 Legacy Build System。
1.2 Xcode 13.0++ 需要在 File > Workspace Settings 勾选 Do not show a diagnostic issue about build system deprecation。
腾讯特效各个属性之间的生效关系?
本页内容是否解决了您的问题?