【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 系统在编译的时候,就会报错。



本文转自 念槐聚 博客园博客,原文链接:http://www.cnblogs.com/haochuang/p/3492199.html,如需转载请自行联系原作者

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值