涂图

  • 首页
  • 解决方案
    • 拍照和图片编辑
    • 视频录制和后期编辑
    • 模板视频
    • 人像美颜
    • 人脸特效
    • 滤镜特效
    • 贴纸特效
  • API服务
    • 人像服务
    • 视频融合
    • 人脸云
    • 在线滤镜
  • 客户案例
  • 下载
  • 文档
  • 关于我们
  • 控制台
  • 一、新手上路
  • 控制台操作说明
    • 控制台使用说明
    • 自定义资源上传说明
  • 二、SDK 文档
  • 图像 SDK
    • 产品说明
      • 产品指南
      • 性能测试报告
    • iOS 文档
      • 快速开始
      • 安装与更新
      • 集成向导
      • 相机组件的使用
      • 相册组件的使用
      • 照片美化组件的使用
      • 主题包基础使用
      • 自定义滤镜
      • 自定义贴纸
      • 自定义界面
      • 自定义 ProgressHUD 提示框(2.0.0~3.2.7)
      • 自定义 ProgressHUD 提示框
      • API 文档
      • 致谢
    • Android 文档
      • 快速开始
      • 安装与更新
      • 集成向导
      • 相机组件的使用
      • 照片美化组件的使用
      • 头像设置组件的使用
      • 多选相册组件的使用
      • 主题包基础使用
      • 自定义贴纸
      • 自定义滤镜
      • 自定义界面
      • 自定义进度信息提示框
      • 自定义 Activity 打开相机
      • API 文档
      • 致谢
    • iOS 技术问题
      • 「Incorrenct app key」
      • 更换滤镜效果图
      • 导航栏与状态栏
      • 组件中使用部分滤镜
      • Cocoapods 相关问题
      • 图片尺寸变化
      • Photos.framework 相关错误
      • 多包名发布
      • GPUImage 的相关错误
      • TuSDKTSALAsset 转换系统对象
      • 滤镜无法显示名称
      • 获取相机的点击事件
    • Android 技术问题
      • Incorrenct app key
      • 重复引用包
      • Recyclerview 库缺失
      • 方法数超出 65536 限制
      • 传入图片路径
      • 指定裁剪比例
      • 指定相册每行列数
      • 禁用相册自动跳转
      • 如何使用部分滤镜?
      • 代码混淆
      • TuSDK 使用的依赖库
      • 多渠道打包
      • 设置相机输出尺寸
      • 相机横屏设置
      • 自定义照片美化组件各功能模块效果默认参数值
    • 拼图设计
      • 拼图模板导出
    • 版本更新日志
      • iOS 版本更新日志
      • Android 更新日志
  • 视频剪辑 SDK
    • 产品说明
      • 产品指南
    • iOS文档
      • TuSDK Video Editor iOS 接入文档
    • Android文档
      • TuSDK Video Editor Android 接入文档
    • 版本更新日志
      • iOS 版本更新日志
      • Android 版本更新日志
  • 流处理(特效相机) SDK
    • 产品说明
      • 产品指南
    • iOS 文档
      • TuSDK特效相机接入文档-iOS
      • TuSDK直播特效接入说明-iOS
    • Android 文档
      • TuSDK特效相机接入文档-Android
      • TuSDK直播特效接入说明-Android
    • 版本更新日志
      • iOS 版本更新日志
      • Android 版本更新日志
  • 视频融合 SDK
    • 产品说明
      • 产品指南
      • 模板管理
    • iOS 文档
      • 快速开始
      • 安装与更新
      • TuSDK EVA 接入说明 2.0
      • API文档
    • Android 文档
      • 快速开始
      • 安装与更新
      • TuSDK EVA 接入说明 (2.0.0+)
      • API 文档
    • 模板设计
      • (新)标准模板设计规范
      • (旧)标准模板设计规范
      • 支持的 AE 功能和属性
      • 动态模板设计规范
    • 模板导出
      • (新)模板导出插件安装
      • (新)模板导出插件使用
      • (旧)模板导出插件安装
      • (旧)模板导出插件使用
      • (旧)模板效果查看器
      • (旧)模板打包规范
    • 版本更新日志
      • iOS 版本更新日志
      • Android 版本更新日志
      • 导出插件版本更新日志
      • 效果查看器更新日志
  • 短视频 SDK
    • 产品说明
      • 产品指南
      • 性能测试报告
    • iOS 文档
      • 快速开始
      • 集成向导
      • 录制相机的使用
      • 视频编辑器的使用
      • 功能 API 的使用
      • API 文档
    • Android 文档
      • 快速开始
      • 集成向导
      • 录制相机的使用
      • 视频编辑器的使用
      • 功能 API 的使用
      • API 文档
    • iOS 技术问题
      • 常见问题
    • Android 技术问题
      • 常见问题
    • 版本更新日志
      • iOS 版本更新日志
      • Android 版本更新日志
  • 三、云服务文档
  • 人像服务
    • 使用文档
      • 快速入门
      • 核心功能
    • API概述
      • API 概述
      • API 文档
    • 常见问题
      • 常见问题
  • 视频融合(云渲染)
    • 使用文档
      • 快速入门
      • 模板管理
    • API概述
      • API概述
      • API 文档
    • 模板设计
      • (新)标准模板设计规范
      • (旧)标准模板设计规范
      • 支持的 AE 功能和属性
      • 动态模板设计规范
    • 模板导出
      • (新)模板导出插件安装
      • (新)模板导出插件使用
      • (旧)模板导出插件安装
      • (旧)模板导出插件使用
      • (旧)模板效果查看器
      • (旧)模板打包规范
    • 常见问题
    • 版本更新日志
      • 导出插件版本更新日志
      • 效果查看器更新日志
  • 人脸云
    • 使用文档
      • 快速入门
      • 核心功能
    • API 概述
      • API 概述
    • 常见问题
      • 常见问题
  • 在线滤镜
    • 使用文档
      • 快速入门
      • 核心功能
      • FILTER API
      • API 错误码表
    • API概述
      • API 概述
    • 常见问题
      • 常见问题
  • 四、综合
  • 涂图隐私协议
  • 用户退出机制
  • 动态贴纸设计规范
  • 美妆贴纸设计规范
  • 云服务账单说明
  • 应用包名与密钥
  • 基础服务开发者升级流程
  • 五、常见问题
  • 常见问题
  • 遇到问题,怎么办?
  • 如何使用贴纸管理、滤镜管理?

TuSDK for Android 集成向导

基本介绍

请参考 TuSDK 使用指南。

运行环境

TuSDK for Android 支持 Android 3.0 以上版本。

体积

我们发布的 SDK 工程文件兼容了多种架构,其大小并不意味着您的应用需要多出那么大的体积。实际使用中,开发包编译后的体积约占 0.9 MB,滤镜和贴纸的资源文件约占 4.1 MB。

本地的滤镜和贴纸资源可以让用户在没有网络的时候也能使用相关功能,您可以自己取舍,选择将哪些资源包含在客户端内。详情请参考 自定义滤镜 和 自定义贴纸。

集成步骤

初始化并设置应用密钥

登录「控制台」,然后进入「我的应用」中创建应用,在包名处填写需要集成的项目包名,完成后即可得到该应用唯一的密钥。

若您对包名和密钥有疑问,请参考「应用包名与密钥」。

若全局 Application 对象继承自 TuSdkApplication,则在 onCreate 方法中添加初始化代码:

@Override
public void onCreate()
{
    TuSDKFilter.register();
    // 初始化SDK (请前往 http://tusdk.com 获取您的 APP 开发秘钥)
    this.initPreLoader(this.getApplicationContext(), "12aa4847a3a9ce68-04-ewdjn1");
}

若全局 Application 对象不继承自 TuSdkApplication,则在 onCreate 方法中添加初始化代码:

@Override
public void onCreate()
{
    TuSDKFilter.register();
    // 开发ID (请前往 http://tusdk.com 获取您的 APP 开发秘钥)
    TuSdk.init(this.getApplicationContext(), "12aa4847a3a9ce68-04-ewdjn1");
}

自定义 .so 文件路径

.so 文件默认是在 TuSDK 项目下的libs目录下,文件名称默认为libtusdk-image.so以及libtusdk-library.so,如果希望自定义 .so 文件的路径,可以在调用init方法之前使用下面的方法实现:

   // 自定义 .so 文件路径,在 init 之前调用
   NativeLibraryHelper.shared().mapLibrary(NativeLibType.LIB_CORE, "libtusdk-library.so 文件路径");
   NativeLibraryHelper.shared().mapLibrary(NativeLibType.LIB_IMAGE, "libtusdk-image.so 文件路径");

调试日志

为便于开发,可打开 TuSDK 的调试日志,在初始化密钥之前添加以下代码:

this.setEnableLog(true); 或 TuSdk.enableDebugLog(true);

发布应用时请关闭日志。

配置 AndroidManifest

在 AndroidManifest.xml 中,首先定义程序需要的权限:

<!-- 允许应用程序写数据到外部存储设备(主要是SD卡) -->
<uses-permission android:name="android.permission.WRITE_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.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" />

<uses-feature android:name="android.hardware.camera" />
<uses-feature android:name="android.hardware.camera.autofocus" />
<uses-feature android:name="android.hardware.camera.flash" />

然后定义应用的全局 Application 对象,设置 allowBackup、hardwareAccelerated 和 largeHeap 三个重要选项为 true。

<application
    android:name="org.lasque.tusdk.TuApplication"
    android:allowBackup="true"
    android:hardwareAccelerated="true"
    android:largeHeap="true"
</application>

在 application 节点下加入公共分组控制器。

<activity
    android:name="org.lasque.tusdk.impl.activity.TuFragmentActivity"
    android:configChanges="keyboardHidden|orientation|screenSize"
    android:screenOrientation="portrait"
    android:windowSoftInputMode="stateHidden|adjustResize" />

导入

在需要使用 TuSDK 的类中添加相关包,例如 import org.lasque.tusdk.core.TuSdk;。

检查滤镜管理器的初始化

目前,滤镜管理器需要不到一秒钟的时间初始化。在使用滤镜前的某个界面的 initView 方法中添加以下代码,即可检查滤镜管理器的初始化是否完成。

初始化相关的文字提示可自行去掉。如果需要用到 TuSDK 的地方比较靠后,也可以不检查。

@Override
protected void initView()
{
    Engine mEngine = Engine.getInstance();
    mEngine.init(null);
    // 异步方式初始化滤镜管理器
    // 需要等待滤镜管理器初始化完成,才能使用所有功能
    TuSdk.messageHub().setStatus(this, R.string.lsq_initing);
    TuSdk.checkFilterManager(mFilterManagerDelegate);
}

private FilterManagerDelegate mFilterManagerDelegate = new FilterManagerDelegate()
{
    @Override
    public void onFilterManagerInited(FilterManager manager)
    {
        TuSdk.messageHub().showSuccess(DemoEntryActivity.this, R.string.lsq_inited);
    }
};

常见问题

项目依赖

目前 TuSDK for Android 包含以下外部依赖(JAR):

  • Universal Image Loader
  • v4 Support Library
  • v7 recyclerview library

为了帮助您快速运行项目,这些依赖已经包含在 SDK 和示例项目中。如果遇到与您项目中依赖重复的情况,您只需要保留相关依赖其中最新的版本,删掉重复的即可。

代码混淆

为保证 TuSDK 在代码混淆后能正常运作,请参考开发包和示例项目中的 ProGuard 配置 proguard-project.txt,重点看后半部分与 TuSDK libs 目录中依赖有关的配置。

程序方法数超出 65536 限制

错误类似 UNEXPECTED TOP-LEVEL EXCEPTION: com.android.dex.DexIndexOverflowException: method ID not in [0, 0xffff]: 65536,解决方法请参考文档 方法数超出 65536 限制。

  • 基本介绍
  • 集成步骤
  • 常见问题
  • 在线技术支持
  • 专业售前售后团队
  • 版本定期更新
  • 全方位解决方案

商务合作

  • 177-6716-7529
  • 2969573855
  • sales@tusdk.com
  • 浙江省 杭州市 西湖区 西斗门9号 福地创业园1号楼3楼301室

关注我们

qrcode

©2019-2025 TUTUCLOUD. All Rights Reserved. 杭州元凡视觉智能科技有限公司 | 浙ICP备14040447号-1 | 浙公网安备33010602001649号

  • 177-6716-7529
  • sales@tusdk.com
  • 2969573855