1、将示例工程中libs
,jniLibs
中的资源复制到你工程的相应目录。
libs文件:
(1)TuSDKCore-X.X.X.jar
(2)TuSDKFace-X.X.X.jar
(3)TuSDKVideo-X.X.X.jar
(4)universal-image-loader-1.9.4.jar
jniLibs文件:
(1)libtusdk-video.so
(2)libtusdk-face.so
(3)libtusdk-library.so
TuSDK.bundle 文件(在assets文件夹下):
(1)model 文件,需要保留。
(2)others 文件夹,包含使用到的资源文件的索引,进行资源文件操作是需要进行替换。
(3)stickers 文件夹,包含打包到本地使用的贴纸的资源文件,进行资源文件操作是需要进行替换。
(4)textures 文件夹,包含打包到本地使用的滤镜的资源文件,进行资源文件操作是需要进行替换。
raw文件:
(1)customStickerCategories.json 为贴纸在线管理功能使用的数据文件。
(2)sample_watermark.png 为「录制」和「编辑」功能中使用的水印图片,可进行自定义更换。
(3)lsq_filter_thumb_XXX 为滤镜相关缩略图资源。
其他文件夹如,brushes 文件夹为图像 SDK 使用,如无相关功能匹配可删除。
2、在TUTUCLOUD 控制台 页面找到 [官方资源库] ,在里面分别获取项目中需要的贴纸和滤镜等资源,然后 [应用管理] 中在你的应用下的 [我的资源库] 中选择需要在客户端用到的资源进行[打包]操作,然后在[打包资源]处下载。解压下载的资源文件,放到第3步所建的目录(TuSDK.bundle)下。
注意:不管你是否需要使用滤镜和贴纸功能,都必须在控制台打包下载资源文件并放到对应目录(TuSDK.bundle)中,不能使用示例Demo中该目录资源文件。如果你不需要使用滤镜和贴纸功能,可以不对贴纸和滤镜进行打包,而是直接在 [打包资源] 处点击 [打包下载] 即可,然后仍需将所下载资源解压替换到 TuSDK.bundle
目录中。
3、如果打包后的滤镜在运行后的程序中查看时没有显示正常的滤镜名称,则需要你项目中的 string.xml
文件中手动添加其对应名称。首先在 TuSDK.bundle
文件夹下的 lsq_tusdk_cofigs.json
文件中找到没正常显示的滤镜Code,比如 lsq_filter_SkinNature
,然后在 string.xml
文件中加上
<string name="lsq_filter_SkinNature">自然</string>
如果需要配置多种语言,就在每种语言的 string.xml
中分别加上对应名称即可。
4、更新 key 或者资源需要重新下载打包资源并替换到项目中。
1、登录控制台,找到你的应用,复制该应用所对应的密钥。
2、打开你项目中的 Application
类,该类可选择继承 TuSdkApplication
,然后在 onCreate
方法中使用TuSdk.init()
方法来进行初始化,并将第1步复制的密钥作为该方法的参数,如下
@Override
public void onCreate()
{
TuSdk.enableDebugLog(true);
// 设置资源类,当 Application id 与 Package Name 不相同时,必须手动调用该方法, 且在 init 之前执行。
// TuSdk.setResourcePackageClazz(org.lasque.tusdkvideodemo.R.class);
// 详情请参考:https://tutucloud.com/docs/android-faq/multiple-masterkey
if (this.getPackageName().equals("org.lasque.release"))
{
this.initPreLoader(this.getApplicationContext(),
// 这里写上 "org.lasque.release" 包名所对应的密钥
"2d7bacb0ceaaffe5-00-ltfmn1");
}
else if (this.getPackageName().equals("org.lasque.dev"))
{
this.initPreLoader(this.getApplicationContext(),
// 这里写上 "org.lasque.dev" 包名所对应的密钥
"55388f0fe2a28b16-00-ltfmn1");
}
// 初始化SDK (请将目标项目所对应的密钥放在这里)
TuSdk.init(this.getApplicationContext(), "com.xxxxxxxx.xxxxx");
}
为方便定位错误,可打开TuSDK的调试日志,即在初始化密钥之前添加以下代码(放在初始化之后无效)
TuSdk.enableDebugLog(true);
注意:发布时请关闭日志。
在 AndroidManifest.xml
中,首先定义程序需要的权限:
<!-- 访问网络 -->
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<!-- 获取WIFI信息 -->
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<!-- 允许访问GPS -->
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<!-- 允许应用程序写数据到外部存储设备(主要是SD卡) -->
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<!-- 在sdcard中创建/删除文件的权限 -->
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />
<!-- 请求访问使用照相设备 -->
<uses-permission android:name="android.permission.CAMERA" />
<!-- 开启闪光灯权限 -->
<uses-permission android:name="android.permission.FLASHLIGHT" />
<!-- 访问麦克风 -->
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
<uses-feature android:name="android.hardware.camera" />
<uses-feature android:name="android.hardware.camera.autofocus" />
<uses-feature android:name="android.hardware.camera.flash" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.READ_LOGS" />
然后定义应用的全局 Application
对象,设置 allowBackup
、hardwareAccelerated
和 largeHeap
三个重要选项为 true。
<application
android:name="org.lasque.tusdk.TuApplication"
android:allowBackup="true"
android:hardwareAccelerated="true"
android:largeHeap="true"
</application>
©2019-2024 TUTUCLOUD. All Rights Reserved. 杭州元凡视觉智能科技有限公司 | 浙ICP备14040447号-1 | 浙公网安备33010602001649号