国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > ThinkPHP > 正文

巧用ThinkPHP5.1和 tufanbarisyildirim 快速解析apk

2024-09-09 15:20:30
字體:
來源:轉載
供稿:網友

對于apk,我可以說只會安裝,并不知道其中有什么內容需要記錄下來。因為這類的項目完全沒有接觸過,而且網上搜一下也看不到這類的開發流程和需求。本文的主要內容是關于用ThinkPHP5.1 和tufanbarisyildirim 解析apk,感興趣的朋友可以來了解一下。

TP5獲取上傳文件并驗證

tp5獲取上傳文件可以說是相當的簡單,(注意此處的$file的類型是tp5封裝的File)

$file = $this->request->file('file');

這樣就可以直接的獲取上傳的文件,簡單的蛋疼。

首先驗證文件是否上傳了并且是否為空。

if (false === ($file instanceof File)) {

//文件為空,拋異常/業務處理}

然后就是驗證文件的類型了,apk的媒體信息其實就是zip,千萬不要使用后綴名進行判斷啊。年輕的我就是用后綴進行判斷的。

老司機看到就建議我使用getMime方法獲取文件的媒體進行進行匹配。(getMime屬于tp5 File的封裝方法)

if ('application/zip' !== $file->getMime()) {

//文件類型錯誤,拋異常/業務處理}

tufanbarisyildirim

加入composer

"require": {        "tufanbarisyildirim/php-apk-parser":"dev-master"

}

然后到項目路徑安裝一下,沒安裝composer就安裝composer或者直接從網上拉咯。

composer install

Parser解析apk

Parser位于 ApkParser目錄下,實例化時只需要傳入apk的全路徑名

$apkParser = new /ApkParser/Parser($file->getPathname());

以下為獲取apk中的參數

  1. $apkParser->getManifest()->getPackageName(); //獲取apk包名 
  2.  
  3. $apkParser->getManifest()->getVersionCode(); //獲取apk版本號 
  4.  
  5. $apkParser->getManifest()->getVersionName(); //獲取apk版本名稱 
  6.  
  7. $apkParser->getManifest()->getMinSdk(); // 支持最低sdk的平臺 
  8.  
  9. $apkParser->getManifest()->getMinSdkLevel(); // 支持最低sdk的版本 
  10.  
  11. $apkParser->getManifest()->getTargetSdk(); // 目標Sdk的平臺 
  12.  
  13. $apkParser->getManifest()->getTargetSdkLevel(); //目標sdk的版本 
  14.  
  15.  
  16.  
  17. $labelIndex = $apkParser->getManifest()->getApplication()->getLabel(); //獲取應用名稱的索引 
  18.  
  19. $apkParser->getResources($labelIndex); //獲取應用名稱的數組 
  20.  
  21.  
  22.  
  23. $iconIndex = $apkParser->getManifest()->getApplication()->getIcon();//獲取圖標的索引 
  24.  
  25. $icons = $apkParser->getResources($iconIndex); //獲取圖標路徑的數組 
  26.  
  27. file_put_contents('保存icon圖標的全路徑名', stream_get_contents($apkParser->getStream($icons[0]))); //把第1個圖標轉為流后保存到相應的目錄 

個人使用這個控件時遇到點問題,就是應用名稱數組,我怎么才能知道應用名稱對應的語言呢?因為應用名稱中可能有簡體中文、繁體中文、英文等。我怎么才能取出簡體中文的應用名稱呢?

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 贺兰县| 三都| 咸丰县| 监利县| 裕民县| 宝鸡市| 麦盖提县| 阜南县| 桂平市| 偏关县| 兰考县| 凤凰县| 庆云县| 策勒县| 吉木萨尔县| 郓城县| 荣成市| 卢湾区| 尚义县| 株洲市| 应用必备| 铜鼓县| 宜丰县| 雷州市| 铜川市| 库车县| 乌鲁木齐县| 肇东市| 电白县| 眉山市| 昔阳县| 陵川县| 左权县| 民勤县| 赤水市| 江山市| 崇阳县| 共和县| 安多县| 张掖市| 凯里市|