开始我的安卓程序能运行,后来我统一更改了一下包名就不能运行了,AndroidManifest.xml也改了,但不能运行

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了开始我的安卓程序能运行,后来我统一更改了一下包名就不能运行了,AndroidManifest.xml也改了,但不能运行相关的知识,希望对你有一定的参考价值。

运行时有个弹出框显示“the application XXX has stopped unexpectedly,please try again”,求助。

    安卓系统设备,由于串改文件导致手机出现异常,建议用户不要在尝试修改文件进行修复了,不然很容易越改越乱。

    建议用户直接将手机刷机,恢复手机系统异常。

    用户可以尝试进入链接下载适配的刷机包待用,http://www.romjd.com/。

    然后可以在电脑下载安装刷机精灵,刷级大师等同类软件。

    然后进入手机设置,关于手机,连续点击版本,呼出开发者选项,进入开发者选项勾选开启USB调试。

    启动刷机精灵,手机与电脑连接,等待自动安装驱动,并连接成功。

    然后选择刷机精灵的一键刷机,选择之前下载的刷机包进行刷机。

    用户在正常刷机后,即可恢复系统正常运行,注意切勿随意串改系统文件,很容易导致手机系统异常的。

参考技术A 亲,这个问题我遇到过,其原因很简单哦,就是因为你后面的androidmanifest.xml文件忘了要改相应的包引用名哦 参考技术B 重新安装程序 参考技术C 重新刷机吧。 参考技术D 还有你这样的,改什么程序包名啊,你重做系统吧

更改升级后的 Android 应用程序的包名称

【中文标题】更改升级后的 Android 应用程序的包名称【英文标题】:Changing the package name of an upgraded Android application 【发布时间】:2011-01-06 06:00:33 【问题描述】:

在升级我的 android 应用程序期间,我更改了包名。但 Android 市场不允许上传更改后的包名应用程序作为升级。如果我将应用程序作为新应用程序上传,用户的设备上是否会有两个应用程序?如何确保用户不必从头开始重新下载应用程序而不恢复我对包名称的更改?

【问题讨论】:

【参考方案1】:

两个包 = 市场上的两个不同应用程序。 一旦你上传了一个应用程序,它的包应该是一样的。此外,密钥应该相同。

【讨论】:

我第一个上传的应用程序使用了相同的密钥,但不同的包名。 您不能更改主包名称。如果您这样做,则不能将其视为同一应用程序。 我不确定为什么在发布应用程序后必须更改包。您应该重新考虑更改包名称的决定。如果不可能,那么忘记(并在市场描述中放置新应用的链接?)旧应用。 @Sarwar Erfan :我没有更改主包名称,但我更改了所有其他包名称......所以,我担心......它会工作还是不工作?让我知道......请...... @BipinVayalu:如果您没有更改,那么没有问题。【参考方案2】:

Android 市场只关心清单中的包名,而不是源中的实际包名。

你可以尝试在 manifest 属性中给出旧的包名,然后为活动提供新的包名而不是相对的(即 .MainActivity)

像这样:

<manifest package="your.old.package" ...>
   ...
   <application android:name="your.new.package.MainActivity" ...>

可以工作..

我计划以这种方式提供我的应用程序的两个版本(付费/免费),并使用相同的项目和代码。

【讨论】:

有趣!!我将尝试下一个应用程序。 你说得对,貘小子。 Android 不关心您在 Activity 标记中放置的名称属性;它只关心你的清单标签的包属性,就确定你的应用程序的身份而言。如果 manifest 标签的 package 属性发生了变化,那么 Android 会认为这个变化的应用是一个完全不同的应用。 如果清单包和应用程序名称不同,我隐约记得 Eclipse 插件存在一些问题。这可能不再是一个问题,但在使用这种方法时,我肯定不得不与 Eclipse 搏斗。不过那是一年多以前的事了。 @Tapiboy 我遇到了同样的问题,我的旧应用程序具有不同的包名称,并且目前正在开发具有不同名称的应用程序。所以通过使用上述解决方案,是否可以在旧应用程序上使用新包名称谷歌播放(市场)??还有一件事是如何更改谷歌市场上的当前包名称? @SwapAndroid AFAIK - 您无法更改已部署应用程序的包名称。您必须在源代码中重命名包或使用新包名称部署新应用程序。 (或尝试上述技术)【参考方案3】:

如果您更改包名称,它会被视为一个单独的应用程序 - 不仅在市场上,而且 apk 通常只会“替换”相同的包名称(并且仅当它们都使用相同的密钥签名时) .

虽然可以通过签署中间包 with both keys 来逐步过渡到新密钥,但目前没有简单的方法来逐步过渡包名称。

最好的办法是:

新的 apk 版本使用相同的密钥签名,但包名称不同。 安装后,新的 apk 安排使用带有旧包名的 shared_prefs。 数据被复制到新的包名中。 新版本请求删除旧版本,用户会看到卸载对话框。

注意应用数据通常保存在这里:

/data/data/pac.kage.name/

我还没有尝试过,所以我还不能提供更多细节。你可能也对我的request for a seamless way of transitioning the package name感兴趣。

【讨论】:

以上是关于开始我的安卓程序能运行,后来我统一更改了一下包名就不能运行了,AndroidManifest.xml也改了,但不能运行的主要内容,如果未能解决你的问题,请参考以下文章

安卓开发,百度地图

如何在android studio中更改包名? [复制]

安卓开发中 滑动条(seekbar)控件显示异常,是否我的开发环境有问题,能设置吗?图如下:

如何用adb命令结束安卓设备上所有运行和后台程序?

android开发怎么更改一个完成的app包名

为啥我把项目内的package名字改变后,程序就不能正常运行了呢