Linux系统上使用php获取apk信息,linuxapk
Linux系统上使用php获取apk信息,linuxapk
最近在做一个apk商城,需要在用户上传了apk之后系统自动读取apk信息(包名,版本号等),后台语言使用的是php,需要php去调用系统的aapt命令去读取apk信息,在Linux系统上安装aapt的方法是:
1、将来aapt和apktool拷贝到/usr/bin/下面
2、运行aapt报错:
-bash: /usr/bin/aapt: /lib/ld-linux.so.2: bad ELF interpreter: No such file or directory
解决:反查需要的文件在哪个包中
yum whatprovides */ld-linux.so.2
在获取的列表中选择安装glibc-2.12-1.132.el6_5.1.i686
yum -y install glibc-2.12-1.132.el6_5.1.i686
如果提示有依赖关系,则--skip-broken
3、运行:
yum install glibc.i686
这个时候再看aapt还是报错
aapt: error while loading shared libraries: libz.so.1: cannot open shared object file: No such file or directory
解决:同上
yum whatprovides */libz.so.1 --skip-broken
如果出现包版本冲突则运行:yum install zlib
4,这个时候还要报错
aapt: error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No such file or directory
解决:
yum whatprovides */libstdc++.so.6
yum -y install libstdc++-4.4.7-4.el6.i686
冲突
yum -y install libstdc*
yum -y install libstdc++-4.4.7-4.el6.i686
这个时候基本上就ok了
aapt软件包下载地址:http://pan.baidu.com/s/1pJkEqcb
把下面的保存PHP扩展名的文件,放在服务器上访问。
//获取网卡的MAC地址原码
class GetMacAddr{
var $return_array = array(); // 返回带有MAC地址的字串数组。
var $mac_addr;
function GetMacAddr($os_type){
switch ( strtolower($os_type) ){
case "linux":
$this->forLinux();
break;
case "solaris":
break;
case "unix":
break;
case "aix":
break;
default:
$this->forWindows();
break;
}
$temp_array = array();
foreach ( $this->return_array as $value ){
if (
preg_match("/[0-9a-f][0-9a-f][:-]"."[0-9a-f][0-9a-f][:-]"."[0-9a-f][0-9a-f][:-]"."[0-9a-f][0-9a-f][:-]"."[0-9a-f][0-9a-f][:-]"."[0-9a-f][0-9a-f]/i",$value,
$temp_array ) ){
$this->mac_addr = $temp_array[0];
break;
}
}
unset($temp_array);
return $this->mac_addr;
}
function forWindows(){
@exec("ipconfig /......余下全文>>
文件名用中文那就别拉着别人一起恶心了。服务器的基本原则就是绝对不能出现中文文件名。
因为 Linux 下面普遍的文件名默认编码都是 UTF-8 。但是很多情况下,压缩包里面的文件名都是当前系统的 IO 用字符编码。而且解压缩写入文件时,很多软件也都没有提供文件名编码转换的问题。
结果就是出现问题。
现在,你要不然就是用你当前编码去重新压缩文件,当然,Windows 的编码肯定不是 UTF8 ,只能是 Linux ,或者尝试用英文版(不能是用语言包换成英文,必须是纯英文版)。要不然就去用支持文件名编码设置的压缩协议去重新压缩,不过具体有哪些支持我不清楚。
最后的一个办法,那就是你自己写解压缩代码,代码里获取文件名后自己转换。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









「Linux にはタスク マネージャーはありますか?」、「Linux でタスク マネージャーを開くにはどうすればよいですか?」 Linux 初心者がよく尋ねる質問は数多くあります。Windows のユーザーは、タスク マネージャーが非常に便利であることを知っています。 Windows で Ctrl+Alt+Del を押すと、タスク マネージャーを開くことができます。このタスク マネージャーには、実行中のすべてのプロセスとそれらが消費するメモリが表示され、タスク マネージャー プログラムからプロセスを選択して強制終了できます。初めて Linux を使用するときは、Linux のタスク マネージャーに相当するものを探すこともあります。 Linux の専門家は、プロセスやメモリ消費量などを確認するためにコマンド ラインを使用することを好みますが、そうする必要はありません。

Zabbix の中国語サポートはあまり良くありませんが、それでも管理目的で中国語を選択することがあります。これは、グラフィック アイコンの下に小さな四角形が表示されます。これは間違っており、フォントをダウンロードする必要があります。たとえば、「Microsoft Yahei」、「Microsoft Yahei.ttf」は「msyh.ttf」という名前になり、ダウンロードしたフォントを /zabbix/fonts/fonts にアップロードし、/zabbix/include/defines.inc.php 内の 2 つの文字を変更します。ファイルの定義('ZBX_GRAPH_FONT_NAME','DejaVuSans');define('ZBX_FONT_NAME'

Linux システムでアカウントの作成日を確認する方法をご存知ですか?知っていたら何ができるでしょうか?成功しましたか? 「はい」の場合、どうすればよいですか?基本的に Linux システムはこの情報を追跡しません。では、この情報を取得する別の方法は何でしょうか?なぜこれをチェックするのか疑問に思われるかもしれません。はい、この情報を確認する必要がある状況があり、そのときに役立ちます。以下の7つの方法で確認できます。 /var/log/secure を使用する aureport ツールを使用する .bash_logout を使用する chage コマンドを使用する useradd コマンドを使用する passwd コマンドを使用する last コマンドを使用する 方法 1: /var/l を使用する

1. インターネットからフォント wingdings、wingdings2、wingdings3、Webdings、および MTExtra を見つけます。 2. メイン フォルダーに入り、Ctrl+H (隠しファイルを表示) を押し、.fonts フォルダーがあるかどうかを確認します。 3. wingdings、wingdings2、wingdings3、Webdings、MTExtra などのダウンロードしたフォントをメイン フォルダーの .fonts フォルダーにコピーし、wps を起動して、「システムにフォントがありません...」というリマインダー ダイアログがまだあるかどうかを確認します。そうでない場合は、「成功」をクリックしてください。

システム全体のインストール フォントをシステム全体にインストールすると、すべてのユーザーがそのフォントを使用できるようになります。これを行う最善の方法は、公式ソフトウェア リポジトリから RPM パッケージを使用することです。開始する前に、Fedora Workstation の「ソフトウェア」ツール、または公式リポジトリを使用する他のツールを開きます。選択バーで「アドオン」カテゴリを選択します。次に、カテゴリ内の「フォント」を選択します。以下のスクリーンショットにあるような、使用可能なフォントが表示されます。 フォントを選択すると、いくつかの詳細が表示されます。いくつかのシナリオに応じて、フォントのサンプル テキストをプレビューできる場合があります。 「インストール」ボタンをクリックしてシステムに追加します。システム速度とネットワーク帯域幅によっては、このプロセスが完了するまでに時間がかかる場合があります。

1 本のネットワーク ケーブルを使用して 2 つの ubuntu ホストをインターネットに接続する方法 1. ホスト A: ubuntu16.04 とホスト B: ubuntu16.042 を準備します。ホスト A には 2 つのネットワーク カードがあり、1 つは外部ネットワークに接続され、もう 1 つは外部ネットワークに接続されます。ホストBに。 iwconfig コマンドを使用して、ホスト上のすべてのネットワーク カードを表示します。上に示したように、作成者の A ホスト (ラップトップ) 上のネットワーク カードは次のとおりです。 wlp2s0: これはワイヤレス ネットワーク カードです。 enp1s0: 有線ネットワーク カード、ホスト B に接続されているネットワーク カード。残りの部分は私たちには関係ないので、気にする必要はありません。 3. A の静的 IP を構成します。ファイル #vim/etc/network/interfaces を編集して、以下に示すようにインターフェイス enp1s0 の静的 IP アドレスを構成します (#==========

実験環境: OS: LinuxCentos7.4x86_641。現在のサーバーのタイムゾーンを表示し、タイムゾーンをリストし、タイムゾーンを設定します (すでに正しいタイムゾーンである場合はスキップしてください): #timedatectl#timedatectllist-timezones#timedatectlset-timezoneAsia /上海2. タイムゾーンの概念の理解: GMT、UTC、CST、DSTUTC: 国際無線通信の状況では、統一するために、地球全体が 24 のタイムゾーンに分かれています。協定世界時 (UTC) :UniversalTim と呼ばれる統一時刻が使用されます。

CPU アーキテクチャが異なるため、Raspberry Pi 上で DOS を実行するのは簡単ではありませんが、それほど問題はありません。 FreeDOS は誰にとっても馴染みのあるものかもしれません。これは、DOS 用の完全な無料の互換性の高いオペレーティング システムであり、一部の古い DOS ゲームや商用ソフトウェアを実行でき、組み込みアプリケーションも開発できます。プログラムが MS-DOS 上で実行できる限り、FreeDOS 上でも実行できます。 FreeDOS のイニシエーターおよびプロジェクト コーディネーターとして、多くのユーザーが内部関係者として私に質問をします。私が最もよく聞かれる質問は、「FreeDOS は Raspberry Pi 上で実行できますか?」というものです。この質問は驚くべきことではありません。結局のところ、Linux は Raspberry Pi 上で非常にうまく動作します
