【Android】The application has stopped unexpectedly.Please try again.
打出的android APK在android4.0.2手机上运行正常,但是在2.3.7的MOTO DEFY ME525上运行失败。
android 2.3.3版本的模拟器上面运行失败:
1 | Sorry! The application HaochuangApp(process.hao.app.HaochuangApp)has stopped unexpectedly.Please try again. |
找解决办法:
1.怀疑版本问题:
检查 project.properties 文件:
Project target=10
打开工程中project.properties文件,找到target=android-10,确保是当前的SDK版本。
检查 AndroidManifest.xml 文件:
2.在AndroidManifest.xml中,也修改了最小兼容版本号对应的2.3版本。
<uses-sdk android:minSdkVersion="10" android:targetSdkVersion="10"/>
怀疑是导入的sdk依赖包的问题,目前还是4.1.2,重新导入2.3.3,但是却又报如下错误:
android-apt-compiler: [android] E:\DevSpace\IntelliJ_Space\android\res\values\style.xml:3: error: Error retrieving parent for item: No resource found that matches the given name 'android:Theme.Holo.Light.DarkActionBar'.
android-apt-compiler: [android] error: Error retrieving parent for item: No resource found that matches the given name 'android:Theme.Holo.Light.DarkActionBar'.
问题出在这里:android:Theme.Holo.Light.DarkActionBar。由于 android 2.3 不支持该风格。所以需要修改该风格。
在android官方API-10中查询,DarkActionBar
见 http://developer.android.com/reference/android/R.style.html
好,那就修改res/values/styles.xml文件:
1 2 3 4 5 6 7 8 9 10 | <?xml version= "1.0" encoding= "utf-8" ?> <resources> <style name= "AppTheme" parent= "@android:Theme.Light" > </style> <style name= "myactionMenuTextAppearance" parent= "@android:style/TextAppearance" > <item name= "android:textSize" >50sp</item> <item name= "android:textStyle" >bold</item> </style> </resources> |
不过后来发现API-10也不支持Fragment。看来要在2.3.7的手机上运行,只有两种办法:
1.升级手机操作系统,刷机到新的android版本,如4.1.2等;
2.修改该App,使用 2.3.7等API-10支持的库。
另外,补充一下:
android中;minSdkVersion、targetSdkVersion、target
在 AndroidManifest.xml中,
<uses-sdk android:minSdkVersion="10" android:targetSdkVersion="10"/>
在project.properties中,
target=android-10
Android API 是向后兼容的,"android:minSdkVersion"是最小的 SDK 版本,这个值是对应 Android 不同版本的 API Level。
如 Android 1.5 对应 3,Android 1.6 对应 4,Android 2.1 对应7,Android2.2对应8 ,Android 2.3.3 对应10,等等...
当用户指定这个值后,Android 系统会用这个指定的值对应的 SDK 版本去编译你的应用程序。
当我们在 androidManifest.xml 中指定的话,必须是比我们新建时的 API Level 小或相等的值,这样 Android 系统在编译的时候,才会用对应的版本的 SDK 进行编译。假如修改后的 android:minSdkVersion 比我们 project 里的 SDK 版本对应的 API level 大,那么Android 系统在编译的时候,就会报错。

赠人玫瑰
手留余香
我们曾如此渴望命运的波澜,到最后才发现:人生最曼妙的风景,竟是内心的淡定与从容……我们曾如此期盼外界的认可,到最后才知道:世界是自己的,与他人毫无关系!-杨绛先生
如果,您希望更容易地发现我的新博客,不妨点击一下绿色通道的
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?