關於解析apk檔案的詳細步驟《1》

2021-09-28 17:29:03 字數 2838 閱讀 6983

private processbuilder mbuilder;

private static final string split_regex = "(: )|(=')|(' )|'";

private static final string feature_split_regex = "(:')|(',')|'";

/** * aapt所在的目錄。

*///比如你可以放在lib下

private string maaptpath = "d:\\aapt\\aapt";

//下面是linux下

// private string maaptpath = 「/usr/local/python/img/aapt」;

public apkutil() 

/** * 返回乙個apk程式的資訊。

* * @param apkpath

* apk的路徑。

* @return apkinfo 乙個apk的資訊。

*/public mdmapkinfo getapkinfo(string apkpath) throws exception

mdmapkinfo apkinfo = new mdmapkinfo();

do while ((tmp = br.readline()) != null);

return apkinfo;

} catch (exception e) finally

}/**

* 設定apk的屬性資訊。

* * @param apkinfo

* @param source

*/private void setapkinfoproperty(mdmapkinfo apkinfo, string source) else if(source.startswith(launchable_activity)) else if (source.startswith(sdk_version)) else if (source.startswith(target_sdk_version)) else if (source.startswith(uses_permission)) else if (source.startswith(uses_feature)) else if (source.startswith(uses_implied_feature)) else

}private mdmimpliedfeature getfeature(string source)

/** * 返回出格式為name: 'value'中的value內容。

* * @param source

* @return

*/private string getpropertyinquote(string source)

/** * 返回冒號前的屬性名稱

* * @param source

* @return

*/private string getkeybeforecolon(string source)

/** * 分離出包名、版本等資訊。

* * @param apkinfo

* @param packagesource

*/private void splitpackageinfo(mdmapkinfo apkinfo, string packagesource)

/** * 釋放資源。

* * @param c

* 將關閉的資源

*/private final void closeio(closeable c) catch (ioexception e)

}}/**

* 獲取指定檔案大小

* @param file

* @return

* @throws exception

*/public static double getfilesize(file file) throws exception else

return size;

}public static void main(string args)

trycatch (exception ex)

mdmapkinfo apkinfo = new apkutil().getapkinfo(demo);

} catch (exception e)

}public string getmaaptpath()

public void setmaaptpath(string maaptpath)

}

(這是解析apk圖示的工具類)

public class iconutil catch (ioexception e)

return null;

}

public static void extractfilefromapk(string apkpath, string filename, string outputpath) throws exception 

bos.flush();

is.close();

bis.close();

bos.close();

}/**

* demo 獲取apk檔案的icon並寫入磁碟指定位置

* * @param args

*/public static void main(string args)

mdmapkinfo apkinfo = new apkutil().getapkinfo(apkpath);

} catch (exception e)

}

關於解析apk檔案的詳細步驟《2》

如需解析檔案簽名,建議用md5工具類 public class md5util 十六進製制下數字到字元的對映陣列 private final static string hexdigits md5加密演算法 param originstring return public static string...

關於部落格推廣操作的詳細步驟

關於部落格推廣操作的詳細步驟 1,新註冊的部落格起初要有些原創的文章 儘管寫的很短 如果實在寫不出原創 就從網上 copy 過來調換幾個段落 或者幾篇文章彙總在一起這樣的文章 2,要經常的去更新部落格 起初要勤快一些至少兩周的時間每天都有 2 篇以上的新文章出現 4,建博一周之內應向各大搜尋引擎提交...

關於POI操作Excel的詳細步驟

我這裡使用的是4.0.1版本的。需要匯入 poi 4.0.1.jar和poi ooxml 4.0.1.jar,這兩個jar包。讀取excel private hssfworkbook wb null excel操作物件 private hssfsheet sheet null 物件 private ...