3
A
回答
0
最後,我用了驚人的JSZip庫,以獲得AndroidManifest.xml中的內容,並使用下面的代碼的內容轉換爲字符串搜索:
function getPackageName(apkBlobAsByteArray) {
// Unzipping zip blob
var zip = new JSZip(apkBlobAsByteArray);
// Getting AndroidManifest.xml and decompress it
var androidCompress = zip.files['AndroidManifest.xml'];
var androidNonCompress = androidCompress._data.getContent();
// Reading to content to a searchable string
var packageNameArray = [];
var textArray = String(androidNonCompress).split(',');
for (var i = 0, len = textArray.length; i < len; i++) {
if (textArray[i] !== 0) {
packageNameArray.push(textArray[i]);
}
}
// Searching for package name
var startPattern = 'manifest';
var androidText = String.fromCharCode.apply(null, packageNameArray).toString().toLowerCase();
var packageName = androidText.substring(androidText.indexOf(startPattern) +
startPattern.length, androidText.indexOf('uses'));
// Remove version from package name
packageName = packageName.substring(0, packageName.indexOf(packageName.match(/\d+/)[0]));
return packageName;
}
相關問題
- 1. 獲取.apk文件的主包名稱
- 2. 從APK獲取軟件包名稱-comamnd
- 3. 重命名.apk的包名稱
- 4. 如何從Android獲取apk包名?
- 5. 獲取軟件包名稱
- 6. 獲取先前的.apk包
- 7. 獲取包含的方法名稱
- 8. 獲取apk文件的圖標,版本,名稱
- 9. 使用C++和NativeActivity類獲取Android APK的名稱
- 10. 獲取的名稱
- 11. 獲取顯示名稱從包ID
- 12. 從python包中獲取模塊名稱
- 13. 用C#獲取SSIS包名稱
- 14. Python - 獲取完整包模塊名稱
- 15. 獲取頂點包前綴名稱?
- 16. 如何獲取APK簽名簽名?
- 17. 導出的APK名稱
- 18. 從軟件包名稱中獲取應用程序名稱
- 19. 如何包括apk文件名的Git分支名稱自動
- 20. 在delphi中獲取apk文件圖標,版本,名稱
- 21. 如何從apk文件獲取Android應用程序名稱
- 22. apk包名修改
- 23. 獲取類名稱函數的名稱
- 24. 獲取已簽名apk的密碼
- 25. 如何從Android獲取包名和啓動器活動apk
- 26. PHP - 上傳到服務器時獲取apk包名
- 27. 按名稱獲取
- 28. 按名稱獲取
- 29. 按名稱獲取
- 30. 獲取當前類的名稱,包括包
您運行的Node.js作爲一個Web服務器的任何機會呢?我不認爲有可能做這個客戶端。 – Billy
我認爲它可能* ...使用HTML5文件輸入API將APK作爲blob,將它傳遞給解壓縮庫以提取AndroidManifest.xml,並解析該XML以獲取包名稱? – Shai