You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android Studio中使用Android-TiffBitmapFactory实现TIF转PNG遇安装困惑求助

Android-TiffBitmapFactory库使用困惑解答

核心结论

你已经通过Gradle添加了implementation 'io.github.beyka:Android-TiffBitmapFactory:0.9.9.1'远程依赖,这种情况下完全不需要手动执行ndk-build命令,也不用创建JNI文件夹和tiffbitmapfactory文件夹。远程依赖包已经包含预编译好的SO库,直接调用API即可。

关于步骤3、4的说明

你看到的「进入tiffbitmapfactory文件夹执行ndk-build NDK_PROJECT_PATH=src/main」是针对源码编译场景的操作——只有当你下载库的源码、想要自行编译SO库时才需要走这个流程,和你用远程依赖的情况无关。

实际使用流程(基于远程依赖)

  • 确认NDK已在Android Studio配置:打开File > Project Structure > SDK Location,检查NDK路径是否正确设置。
  • 加载TIF并转换为PNG的示例代码:
import android.graphics.Bitmap;
import android.graphics.Bitmap.CompressFormat;
import java.io.File;
import java.io.FileOutputStream;
import io.github.beyka.tiffbitmapfactory.TiffBitmapFactory;

// 加载真机上的TIF文件
File tifSource = new File("/sdcard/your_image.tif");
Bitmap tifBitmap = TiffBitmapFactory.decodeFile(tifSource.getAbsolutePath());

// 转换为PNG并保存
if (tifBitmap != null) {
    File pngOutput = new File("/sdcard/converted_image.png");
    try (FileOutputStream outputStream = new FileOutputStream(pngOutput)) {
        tifBitmap.compress(CompressFormat.PNG, 100, outputStream);
    } catch (Exception e) {
        e.printStackTrace();
    }
    tifBitmap.recycle();
}

权限提示

  • Android 10及以下:在AndroidManifest.xml中添加存储权限:
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
  • Android 11及以上:建议将文件放在应用私有目录(无需权限),或使用MediaStore进行文件操作,避免申请MANAGE_EXTERNAL_STORAGE权限。

内容的提问来源于stack exchange,提问作者MOMO

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.11 18:50:31