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 墙