zoukankan      html  css  js  c++  java
  • 【Android】The application has stopped unexpectedly.Please try again.

    打出的android APK在android4.0.2手机上运行正常,但是在2.3.7的MOTO DEFY ME525上运行失败。

    android 2.3.3版本的模拟器上面运行失败:

    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:DevSpaceIntelliJ_Spaceandroid esvaluesstyle.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文件:

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

  • 相关阅读:
    uva 10280(欧拉函数)
    uva 11121(-2进制)
    uva 10673(扩展欧几里德)
    uva 106(勾股定理)
    uva 128(简单题)
    Codeforces Round #238 (Div. 1) 解题报告
    2018(1)系统分析/需求分析
    2015(1)进度管理/时间管理
    序列图
    [转贴] 软件测试职业发展的 A 面和 B 面
  • 原文地址:https://www.cnblogs.com/haochuang/p/3492199.html
Copyright © 2011-2022 走看看