1

最後に、このソースでバージョン、パッケージ、名前などのapkに関する情報を取得できました:

PHPAPKパーサー

apksのアイコンパスは、すべてのアプリ、一部の「icon.png」、その他の「ic_launcher.png」、および異なるフォルダーで一意ではありません。これが私の問題です。エラーやバグがなく、「apktool」や「appt」などのツールがなくても、とにかくアイコンを取得するにはどうすればよいですか?

実際、小さなサイトでアイコンを直接取得して表示したい

私の悪い英語でごめんなさい

4

1 に答える 1

-2

これを pclzip.lib.php ライブラリで使用します。

<?php
require_once 'pclzip.lib.php';
$path = 'path/to/apk';
$default = 'path/to/default_icon.png';
$destination = 'path/to/destination.png';

$zip = new PclZip($path);
$data = $zip->extract(PCLZIP_OPT_BY_PREG, "/res\/drawable(|-ldpi|-mdpi|-hdpi|-xhdpi)\/(ic_launcher|icon|logo|icn|ic|i).(png|jpg|jpeg|gif)/isU", PCLZIP_OPT_PATH, './tmp', PCLZIP_OPT_REMOVE_ALL_PATH);

$icn = end($data);
$icn = $icn['filename'];

//now you have path to the icon in ./tmp folder

if(!empty($icn)){
copy($icn, $destination);
} else{
copy($default, $destination);
}

foreach($data as $dt){
@unlink($dt['filename']);
}
?>

これがうまくいくことを願っています..

編集: 最初の回答の時点では、信頼できるメソッド/ライブラリがありませんでした。そこで、一時的なメソッドを作成しました。それは私のために働いていました。これで、より優れたライブラリができました。それを使用する必要があります。

ライブラリ: Tufan Barış YILDIRIMによるphp-apk-parser

例: ApkResource.php

于 2014-04-18T08:15:19.957 に答える