瀏覽代碼

根据下载链接获取应用包名-增加ios网络链接

yangzian 3 年之前
父節點
當前提交
fae64c11e1

+ 43 - 6
jeecg-boot-bytedance/src/main/java/org/jeecg/modules/bytedance/common/utils/ApkUtils.java

@@ -2,6 +2,8 @@ package org.jeecg.modules.bytedance.common.utils;
 
 import android.util.TypedValue;
 import brut.androlib.res.decoder.AXmlResourceParser;
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
 import com.dd.plist.NSArray;
 import com.dd.plist.NSString;
 import com.dd.plist.PropertyListParser;
@@ -231,19 +233,54 @@ public class ApkUtils {
     }
 
 
+    /**
+     *  通过id 查询itunes 获取应用包名
+     * @param ipaURL ios 应用 网络链接
+     * @return
+     */
+    public static Map<String,Object> readIPAItunes(String ipaURL){
+        Map<String,Object> map = new HashMap<String,Object>();
+
+        try {
+            String itunes = "http://itunes.apple.com/cn/lookup?id=";
+            String url = "https://apps.apple.com/cn/app/%E6%B7%98%E5%AE%9D%E7%89%B9%E4%BB%B7%E7%89%88/id1340376323";
+            url.indexOf("d");
+            String id =(String) url.subSequence(url.indexOf("d")+1,url.length());
+            String content = HttpUtils.httpGetRequest(itunes+id);
+            JSONObject jsonObject = JSONObject.parseObject(content);
+            JSONArray array = jsonObject.getJSONArray("results");
+            for (Object ary : array) {
+                JSONObject aryObj = JSONObject.parseObject(ary.toString());
+                String packageName = aryObj.getString("bundleId");
+                String version = aryObj.getString("version");
+                System.out.println(packageName);
+                map.put("package", packageName);
+                map.put("versionName", version);
+                map.put("code", "1");
+            }
+        }catch (Exception e) {
+            map.put("code", "-1");
+            map.put("error","网络链接读取ipa文件失败");
+        }
+        return map;
+    }
+
+
+
     public static void main(String[] args) {
        // Map map = ApkUtils.readAPK("https://apps.bytesfield.com/download/basic/cur/1c728178004c8d4d6c83444a05c414c1a1cfae48");
 
-        String filePath = LoadFileUtil.downLoadFromUrl("https://apps.bytesfield.com/download/basic/cur/1c728178004c8d4d6c83444a05c414c1a1cfae48-","E:\\appFiles");
-        //String filePath = LoadFileUtil.downLoadFromUrl("https://apps.bytesfield.com/download/basic/cur/96e5f2491826db22962149059da9e4eee7589764","E:\\appFiles");
+        //String filePath = LoadFileUtil.downLoadFromUrl("https://apps.bytesfield.com/download/basic/cur/1c728178004c8d4d6c83444a05c414c1a1cfae48","E:\\appFiles");
+        //String filePath = LoadFileUtil.downLoadFromUrl("https://apps.apple.com/cn/app/%E6%B7%98%E5%AE%9D%E7%89%B9%E4%BB%B7%E7%89%88/id1340376323","E:\\appFiles");
+        String filePath = LoadFileUtil.downLoadFromUrl("https://apps.apple.com/cn/app/id414478124","E:\\appFiles");
 
         System.out.println(filePath);
 
-        Map map = ApkUtils.readAPK(filePath);
-        Map map2 = ApkUtils.readIPA(filePath);
+       // Map map = ApkUtils.readAPK(filePath);
+        //Map map2 = ApkUtils.readIPA(filePath);
+        Map map3 = ApkUtils.readIPAItunes("https://apps.apple.com/cn/app/%E6%B7%98%E5%AE%9D%E7%89%B9%E4%BB%B7%E7%89%88/id1340376323");
 
-        System.out.println(map);
-        System.out.println(map2);
+        System.out.println(map3);
 
 
     }