我将要开发一个安卓应用程序,它作为字体安装程序使用。我的应用程序的目标是那些没有所需字体的root设备,并且它会从war\fonts\文件夹安装到\system\fonts文件夹中。需要帮助。
我将要开发一个安卓应用程序,它作为字体安装程序使用。我的应用程序的目标是那些没有所需字体的root设备,并且它会从war\fonts\文件夹安装到\system\fonts文件夹中。需要帮助。
尝试这个:
首先,为了测试这段代码,您必须将自定义字体复制到 /sdcard/
目录下。我不知道您是要把它们放在 assets
中还是从互联网上下载。无论如何,为了进行测试,请使用以下命令行:
cd /<path_to_sdk>/platforms-tools/
./adb root
./adb remount
./adb push sample.ttf /sdcard/
现在看代码:
此代码只执行一堆命令。请注意,重要的部分是这些命令会将默认的安卓字体更改为您自己的字体。请务必备份。
Process process;
try {
process = Runtime.getRuntime().exec("mount -o remount /dev/mtdblock4 /system");
process = Runtime.getRuntime().exec("cat /system/fonts/DroidSansFallback.ttf >> /sdcard/DroidSansFallback.ttf");
process = Runtime.getRuntime().exec("cat /sdcard/sample.ttf >> /system/fonts/DroidSansFallback.ttf");
process = Runtime.getRuntime().exec("mount -o ro,remount /dev/mtdblock4 /system");
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(process.getInputStream()));
} catch (IOException e) {
e.printStackTrace();
}
mount -o rw,remount /system
,不需要加上/dev/mtdblock4
这个参数,因为它并非必需且在不同的手机上可能会有所不同。在我的手机(Motorola Droid 4)上,它是/dev/block/mmcblk1p20
。因此,请省略该参数,这并非必要但可能会引起问题。 - Dakkaron