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
相关产品推荐
相关产品推荐

