DelphiXE8中获取APK的签名信息

来源:互联网 发布:unity3d游戏打不开 编辑:程序博客网 时间:2024/06/06 03:56

function GetSignatures():string;
var
  PackageName:string;
  PM:JPackageManager;
  PI:JPackageInfo;
  Signatures:String;
  SignCount:Integer;
  Signs:TJavaObjectArray<JSignature>;
  Sign:JSignature;
  JObj:JNIObject;
  Signstr:Jstring;
  I: Integer;

  tests:TJavaObjectArray<JString>;
begin
  PackageName := 'com.test.testapp;
  PM := SharedActivity.getPackageManager;
  PI := PM.getPackageInfo(StringToJString(PackageName),TJPackageManager.JavaClass.GET_SIGNATURES);           

  Signs := PI.signatures;

  Sign := TJSignature.Wrap(Signs.GetRawItem(0));//这个地方一定要Warp转换一次 ,直接用Signs[0]取不到

  Signstr := Sign.toCharsString;
  Signatures := JStringToString(Signstr);
  Result := Signatures;
end;

0 0