Phonegap Android 应用程序“未安装应用程序”

Posted

技术标签:

【中文标题】Phonegap Android 应用程序“未安装应用程序”【英文标题】:Phonegap Android App "App not installed" 【发布时间】:2013-07-01 22:52:14 【问题描述】:

我只是尝试从 Eclipse 中的现有代码创建一个 android 项目。没有错误提示,一切似乎都很好。我也可以在虚拟设备中测试它。所以我尝试通过导出未签名的应用程序包来创建 apk。最后该应用程序无法安装到我的 android 上,它只是提示“未安装应用程序”消息!我该如何解决?谢谢。

【问题讨论】:

【参考方案1】:

我在使用 CLI 中的 cordova build --release android 创建 apk 时遇到了同样的错误,但后来发现应该使用 cordova build android 创建调试 apk 文件。希望它对某人有所帮助。

【讨论】:

【参考方案2】:

尽管使用了cordova build android,我也遇到了这个问题。原来我的问题如下:

我之前安装了另一个我构建的 phonegap 应用程序,但没有在 config.xml 中更改其小部件 ID。所以小部件 id 仍然是“com.phonegap.helloworld”。

现在,在构建我的新应用程序时,我也没有更改小部件 ID。所以两个应用程序都具有相同的小部件 ID。这似乎是不允许的。因此,一种潜在的解决方案是更改小部件 ID,因此它不会干扰您手机上当前安装的任何其他内容。或者,卸载您的新应用可能会干扰的任何内容(可能是您之前制作的某些 phonegap 应用,如我的情况)。

以下是导致我采用此解决方案的原因: https://github.com/phonegap/phonegap-plugin-push/issues/922

【讨论】:

另一个具有相同小部件 id 的应用程序在您处理不同项目时很容易忘记。谢谢!【参考方案3】:

从 bin 文件夹中获取 apk 并尝试将其安装在设备上...而不是通过导出的未签名包创建 apk。确保您有足够的内部内存(应该不仅仅是应用程序大小,因为应用程序需要存储数据)。

【讨论】:

什么 bin 文件夹?我只有 phonegap build 生成的 apk 如果你从 bin 文件夹中获取它可以工作,但如果你通过 phone-gap 站点构建则不能。 内存不足。谢谢! 据我所知,使用--release 创建的未签名 apk 永远无法安装在设备上。而是允许调试构建。如果您想安装发布版本,则需要对其进行签名。【参考方案4】:

如果您更新/覆盖现有应用,请先使用手机的应用管理器将其删除。

【讨论】:

【参考方案5】:

首先,确保您有足够的内存(这应该不仅仅是应用程序的大小,因为应用程序也需要存储数据)。应用程序的存储不同于内部大容量存储。您可以在设置 > 存储下找到它,查找应用程序标签。

此外,如果应用程序是 20 MB,请至少保留 50 MB 可用空间,因为除了应用程序存储空间之外,Android 在内部内存不足时也会变慢。

如果您尝试更新/覆盖已安装的应用,请先尝试将其删除。

谢谢 乙

【讨论】:

谢谢。该应用程序很小,只有 2.2MB 大小。我相信该设备有足够的内存来运行它。【参考方案6】:

为了它的价值... 无论出于何种原因,在创建访客帐户后,我都开始收到“未安装应用程序”。删除guest账号好像解决了!

【讨论】:

【参考方案7】:

您只能在 Android 设备上安装已签名的应用。事实上,应用程序的调试版本使用调试密钥进行签名。这意味着您必须签署您的发布应用程序。即使您只是尝试在智能手机上本地安装它。

    卸载一些其他版本的应用程序。

    您需要使用 keytool 生成 my-release-key.keystore 文件:

    keytool -genkey -v -keystore my-release-key.keystore -alias alias_name -keyalg RSA -keysize 2048 -validity 10000

    Cordova 有一种内置方式可让您快速签署 Android 应用程序。在通过 CLI 部署应用时对其进行签名。

    cordova 运行 android --release -- --keystore=my-release-key.keystore --storePassword=password --alias=alias_name --password=password --packageType=apk

现在你应该有你的最终产品:app-release.apk

*您可以使用 --packageType=bundle 将其导出为 .aab

*或者,您可以在构建配置文件 (build.json) 中指定它们:https://cordova.apache.org/docs/en/10.x/guide/platforms/android/#using-buildjson


    "android": 
        "debug": 
            "keystore": "../android.keystore",
            "storePassword": "android",
            "alias": "mykey1",
            "password" : "password",
            "keystoreType": "",
            "packageType": "apk"
        ,
        "release": 
            "keystore": "../android.keystore",
            "storePassword": "",
            "alias": "mykey2",
            "password" : "password",
            "keystoreType": "",
            "packageType": "bundle"
        
    

【讨论】:

以上是关于Phonegap Android 应用程序“未安装应用程序”的主要内容,如果未能解决你的问题,请参考以下文章

PhoneGap - 未安装应用程序已安装的同名现有软件包具有冲突的签名

Phonegap Build:该应用程序未安装在 iPhone 上,因为它需要更新版本的 iPhone 软件

从使用 Phonegap 构建的 iOS 应用程序发布到 Facebook 墙

PhoneGap - Android - 在 phonegap 中滑动导航

android / phonegap性能[关闭]

使用 Phonegap 创建 Android 服务? (即使关闭也可以运行phonegap应用程序)