必须配置好android sdk, aapt工具能够用linux
1, 首先须要将test.9.png编译成NinePatch图片,须要使用andorid二进制资源编译器abrc, 另外须要将test.9.png放到一个android工程(TestProject)的res/drawable/目录下;android
命令: abrc compile workspace/TestProject ./ res/drawable/test.9.png工具
结果: 结果图会在当前目录下的res/drawable/下spa
可能的错误: W/asset (17428): Asset path /home/xxx/work/android-sdk/adt-bundle-linux/sdk/android.jar is neither a directory nor file (type=1).code
ERROR: Asset package include '/home/xxx/work/android-sdk/adt-bundle-linux/sdk/android.jar' not found.图片
将sdk目录下的android.jar拷贝到/home/xxx/work/android-sdk/adt-bundle-linux/sdk/资源
2, decode test.9.png to bitmapget
Bitmap bitmap= BitmapFactory.decodeFile(FILE_PATH+"/"+"test.9.png");编译器
3, 生成NinePatchDrawableandroid-sdk
NinePatchDrawable nineDrawable= null;
byte[] chunk = bitmap.getNinePatchChunk(); // 若是.9.png没有通过第一步,那么chunk就是null
if(NinePatch.isNinePatchChunk(chunk)) {
NinePatchDrawable patchy = new NinePatchDrawable(bitmap, chunk, new Rect(), null); }