在已簽名的apk中,將會有一個META-INF/MANIFEST.MF文件。而在這個文件中,我們可以找到這樣的消化液:SDK或ADT如何爲Android應用程序包的資源生成SHA1-Digest
名稱:RES /佈局/ main.xml中SHA1-摘要:NJ1YLN3mBEKTPibVXbFO8eRCAr8 =
名稱:AndroidManifest.xml中SHA1-摘要:BlnC6ZBDtQYWeJNiespsQve82wY =
名稱:RES /繪製-MDPI/ic_launcher.png SHA1-摘要: 4ss2KZ3FzkmfE6HAAsVu0aJKx1U =
我已經找到一種方法來生成消化這樣的java:
public static void main(String[] args) throws NoSuchAlgorithmException, Exception {
MessageDigest md = MessageDigest.getInstance("sha-1");
FileInputStream in = new FileInputStream("./ic_launcher.png");
int bytes = 0;
while ((bytes = in.read()) != -1) {
md.update((byte)bytes);
}
in.close();
byte[] thedigest = md.digest();
System.out.println(Base64Encoder.encode(thedigest));
}
爲了進行測試,我用這個簡單的代碼生成一些摘要,基本都是一樣的apk META-INF/MANIFEST.MF的消化,仍然有少數的例外。這樣PNG文件:
在APK摘要此PNG文件是4ss2KZ3FzkmfE6HAAsVu0aJKx1U =,這是從sjmKOs4BYDXg7COdeTc8tIfPBR0 =通過上述我的代碼產生很大的不同。
但是,如何解釋我的代碼生成的近20個摘要與apk中的摘要相同,只有這個Png的摘要是不同的?
您能否告訴我SDK或ADT如何爲Android應用程序包的資源生成SHA1-Digest,或者與我的代碼有什麼不同?
非常感謝!
你說得對!我試過了!非常感謝! – hardPass