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

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

【问题讨论】:

    标签: android eclipse cordova


    【解决方案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 设备上安装已签名的应用。事实上,应用程序的调试版本使用调试密钥进行签名。这意味着您必须签署您的发布应用程序。即使您只是尝试在智能手机上本地安装它。

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

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

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

          3. 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"
                  }
              }
          }
          

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 2019-02-03
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2013-12-17
            • 1970-01-01
            相关资源
            最近更新 更多