我已经能够从我的代码创建一个* .apk文件,放置文件 在IIS中,并将其下载到许多Android手机上。经 安装,应用程序完全按预期工作。
但是,重新启动手机后,应用程序名称将更改为 菜单中活动的完全限定的java类名(所以 “MyActivity”变成了“com.mycompany.MyActivity”,当我试着去的时候 到菜单>设置,我得到一个导致android强制关闭的错误 我的申请。
调查DDMS,我看到我收到一个错误,表明它可以 尽管有最初的事实,但是找不到我的偏好设施活动 安装,它工作正常。
我在Windows XP上使用Eclipse,并且有几个Android设备 我愿意接受测试。
知道发生了什么事吗?
的AndroidManifest.xml:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.company.app"
android:versionCode="1"
android:versionName="1.0">
<application android:icon="@drawable/logo" android:label="@string/app_name"> <!--android:debuggable="true">-->
<activity android:name="com.company.app.ActivityMain"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name="com.company.app.Preferences"
android:label="@string/app_settings">
<intent-filter>
<category android:name="android.intent.category.PREFERENCE"></category>
<action android:name="android.intent.action.MAIN"></action>
</intent-filter>
</activity>
<service android:name="com.company.app.Service"></service>
</application>
<uses-sdk android:minSdkVersion="3" />
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
</manifest>
答案 0 :(得分:2)
所以我终于开始工作了。我认为HTC Hero(也许是HTC Droid Eris)上的软件包安装程序存在一些问题。
我从手机上卸载了我的应用程序,更改了我的主要活动的名称,并将其重新部署到Hero上。我开始立即得到一个“强制关闭”。我将设备连接到DDMS并查看错误。它仍在寻找我的旧活动名称。我出厂重置设备并重新安装相同的软件包(使用更新的名称),一切都按预期工作。
因此,似乎包安装程序正在缓存旧清单的某些部分或某些内容,而不是确定那里到底发生了什么。如果我有空的话,我可以再玩一些。
我不知道是否有其他人可以验证这个问题,也许这是HTC应该采取的措施?
答案 1 :(得分:0)
尝试使用此清单
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.company.app"
android:versionCode="1"
android:versionName="1.0">
<application android:icon="@drawable/logo" android:label="@string/app_name"> <!--android:debuggable="true">-->
<activity android:name=".ActivityMain"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".Preferences"
android:label="@string/app_settings">
<intent-filter>
<category android:name="android.intent.category.PREFERENCE"></category>
<action android:name="android.intent.action.MAIN"></action>
</intent-filter>
</activity>
<service android:name=".Service"></service>
</application>
<uses-sdk android:minSdkVersion="3" />
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
</manifest>