我认为这个问题很常见。 Stackoverflow上的许多结果都说明了这一点。一般的答案是:因为旧的应用程序正在运行,我尝试从Eclipse运行一个新应用程序(但编译时没有变化),因此Android会注意到这一点。
但是,我尽我所能做了很多事情:
但是这个警告仍然存在(当然,我的应用程序仍无法运行)。
这是我的清单文件。请看一下这个文件并帮助我。
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"\
package="com.game.mrnom"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk android:minSdkVersion="8" />
<application
android:debuggable="true"
android:icon="@drawable/icon"
android:label="Mr.Nom" >
<activity
android:label="Mr.Nom"
android:name=".MrNomGame"
android:screenOrientation="portrait"
android:configChanges="keyboard|keyboardHidden|orientation" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
<uses-permission android:name="android.permission.WAKE_LOCK"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-sdk android:targetSdkVersion="8" android:minSdkVersion="8"/>
</manifest>
感谢您的阅读。
答案 0 :(得分:21)
如果您编辑一个字符(删除一个字符并替换它),然后从eclipse启动,它将重新安装该应用程序,您将不会收到此消息。
答案 1 :(得分:3)
如果应用程序已在模拟器上运行,并且您没有更改任何内容,则会看到该消息。只需在模拟器上重启应用程序,即关闭应用程序然后重新启动它。当您将应用程序上传到模拟器时,它会像在带有图标的所有手机上一样加载它。你甚至可以将这个图标放在模拟器主页上。
答案 2 :(得分:2)
它与您的清单文件无关。每当编译的代码发生变化时,新版本将安装在以前的版本上。否则,旧应用程序将运行。
答案 3 :(得分:2)
对我而言,它适用于这个小技巧:
创建一个新的构建器:
Project -> Properties -> Builders -> New -> Program
Name: Touch Manifest
Location: /usr/bin/touch
Arguments: ${project_loc:MyProjectName}/AndroidManifest.xml
然后将其移至列表顶部。
每次点击运行时,它都会触及清单文件并导致重新加载包。
享受!
编辑:更改参数,$ {resource_loc}仅在选择项目时有效。
答案 4 :(得分:0)
如果您收到此警告,则表示您尚未更改代码的任何行,并且此项目实例正在模拟器或您的设备上运行。所以如果你想再次运行它,你可以:
1-对代码进行一些更改,然后重新编译。
2-或者您可以轻松关闭应用程序,然后使用eclipse或android studio或...重新启动它。
如果问题仍然存在,请尝试卸载该应用并再次运行。