Android上的Unity应用未显示为已安装的软件包

时间:2017-09-24 14:51:20

标签: android unity3d

我有一个使用自定义Android启动器(android 4.2.2)的项目。发射器显示在Adobe Air中制作的游戏。现在我们想用Unity游戏扩展游戏列表。

为了展示游戏,我们使用PackageManager并过滤名称,例如:air.Bimii。两种技术的命名空间保持不变:air.BimiiMath,air.BimiiABC等。

问题是在使用时未列出Unity中制作的游戏:

private ArrayList<LocalAppDetail> initAppList(){
    ArrayList<LocalAppDetail> res = new ArrayList<LocalAppDetail>();
    PackageManager main_package_manager =  main_activity.getPackageManager();
    List<PackageInfo> packs = main_package_manager.getInstalledPackages(0);

    for (int i = 0; i < packs.size(); i++) {

        PackageInfo p = packs.get(i);
        if ((p.versionName == null)) {
            continue;
        }
        //Store Local Appdetail
        LocalAppDetail newInfo = new LocalAppDetail();
        newInfo.name = p.applicationInfo.loadLabel(main_package_manager).toString();
        newInfo.pname = p.packageName;
        newInfo.versionName = p.versionName;
        newInfo.versionCode = p.versionCode;
        newInfo.icon = p.applicationInfo.loadIcon(main_package_manager);

        //Parse if the app meets requirements
        if (newInfo.name.toLowerCase().contains(MiscData.apk_filter_text)) {
            if(!newInfo.name.toLowerCase().contains("launcher")) {
                if(!newInfo.name.toLowerCase().contains("rfid")){                       
                    res.add(newInfo);
                }
            }           
        }
    }
    //Store The Collection
    return res;
}

但是当我尝试使用ADB时:adb shell pm list packages -f air这就是结果:

package:/data/app/air.BimiiFarm-1.apk=air.BimiiFarm package:/data/app/air.BimiiFood-1.apk=air.BimiiFood package:/data/app/air.nl.mediaheads.klassewinkel-1.apk=air.nl.mediaheads.klassewinkel package:/system/app/Air.apk=com.adobe.air package:/mnt/asec/nl.mediaheadsair.bimiiRekenen-1/pkg.apk=nl.mediaheadsair.bimiiRekenen

所以游戏就在那里(列表中的最后一个)。名称是pkg.apk,位置不同。你们有没有想过如何在列表中捕捉所有游戏,我们可以启动它们?

帮助会很棒!提前致谢

1 个答案:

答案 0 :(得分:0)

更新叹息,这是Unity Player设置中的一个选项。应安装位置&#34;强制内部&#34;。什么是世界,世界是什么。