情况一: 
描述:写Android app时,出现activity对应的layout预览图所显示的activity是有标题栏的,但是运行该app,无论是模拟器还是真机,却出现没有了标题栏的情况,而自己没有特地隐藏标题栏。 
解决:此时出现标题栏消失可能是因为activity继承是Activity而不是AppCompatActivity,而我们在创建app之初,AS默认是继承AppCompatActivity,AndroidManifest.xml文件里对应的theme则是

<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">

情况二: 
描述:多个Fargment使用同一layout ID,在进行来回切换操作时出现“Java.lang.IllegalStateException: commit already called”的错误。 
解决:由于本人将FragmentTransaction变量定义为全局变量,导致只能commit一次,所以只要将FragmentTransaction变量定义为局部变量即可。


情况三: 
描述:使用FragmentTransaction的replace方法时出现错误:

'replace(int, android.app.Fragment, java.lang.String)' in 'android.app.FragmentTransaction' cannot be applied to '(int, com.jarwell.learnactionbar.ContentFragment, java.lang.String)'

解决:此种情况发生在ContentFragment所继承的Fragment是android.support.v4.app.Fragment,而FragmentTransaction对象所导入的包是android.app.FragmentTransaction,由此出现不兼容的情况。据此只要统一导入包的类型即可,譬如可以分别:import android.app.Fragment和import android.app.FragmentTransaction


情况四: 
描述:如何添加assets文件夹? 
解决: 
首先,在“工程名.iml”文件里的configuration标签下添加以下代码:

<option name="ASSETS_FOLDER_RELATIVE_PATH" value="/src/main/assets"/>

然后,在main文件夹里新建一个子文件夹并命名为assets,到此完成,之后就可以往里面添加文件了。


情况五: 
描述:在JSON解析时出现了以下错误日志:

08-31 15:36:59.369 13195-13195/? E/dalvikvm: Could not find class 'android.util.ArrayMap', referenced from method com.android.tools.fd.runtime.MonkeyPatcher.monkeyPatchExistingResources
08-31 15:36:59.370 13195-13195/? E/dalvikvm: Could not find class 'android.util.ArrayMap', referenced from method com.android.tools.fd.runtime.MonkeyPatcher.pruneResourceCache
08-31 15:36:59.381 13195-13195/? E/dalvikvm: Could not find class 'android.os.PersistableBundle', referenced from method com.jarwell.learnjson.MainActivity.access$super
08-31 15:36:59.382 13195-13195/? E/dalvikvm: Could not find class 'android.os.PersistableBundle', referenced from method com.jarwell.learnjson.MainActivity.access$super
08-31 15:36:59.382 13195-13195/? E/dalvikvm: Could not find class 'android.media.session.MediaController', referenced from method com.jarwell.learnjson.MainActivity.access$super
08-31 15:36:59.383 13195-13195/? E/dalvikvm: Could not find class 'android.widget.Toolbar', referenced from method com.jarwell.learnjson.MainActivity.access$super
08-31 15:36:59.386 13195-13195/? E/dalvikvm: Could not find class 'android.app.ActivityManager$TaskDescription', referenced from method com.jarwell.learnjson.MainActivity.access$super
08-31 15:36:59.391 13195-13195/? E/dalvikvm: Could not find class 'android.app.SharedElementCallback', referenced from method com.jarwell.learnjson.MainActivity.access$super
08-31 15:36:59.393 13195-13195/? E/dalvikvm: Could not find class 'android.os.PersistableBundle', referenced from method com.jarwell.learnjson.MainActivity.access$super
08-31 15:36:59.395 13195-13195/? E/dalvikvm: Could not find class 'android.transition.TransitionManager', referenced from method com.jarwell.learnjson.MainActivity.access$super
08-31 15:36:59.402 13195-13195/? E/dalvikvm: Could not find class 'android.app.SharedElementCallback', referenced from method com.jarwell.learnjson.MainActivity.access$super
08-31 15:36:59.410 13195-13195/? E/dalvikvm: Could not find class 'android.app.assist.AssistContent', referenced from method com.jarwell.learnjson.MainActivity.access$super
08-31 15:36:59.412 13195-13195/? E/dalvikvm: Could not find class 'android.view.SearchEvent', referenced from method com.jarwell.learnjson.MainActivity.access$super
08-31 15:36:59.416 13195-13195/? E/dalvikvm: Could not find class 'android.os.PersistableBundle', referenced from method com.jarwell.learnjson.MainActivity.access$super
08-31 15:36:59.477 13195-13195/? E/dalvikvm: Could not find class 'android.graphics.drawable.RippleDrawable', referenced from method android.support.v7.widget.AppCompatImageHelper.hasOverlappingRendering
08-31 15:37:32.664 518-795/? E/FWKEXT: Enter GetCurrentOP

解决:出现以上情况,是因为代码所调用的一些方法只能在较高的API level(高于minSdkVersion)上使用,而调试用的机子或模拟器所用的SDK Version小于该API level。如日志第一行提示中的ArrayMap,通过查看Android官方API可得到如下信息:

Added in API level 19

而本人的project的build.gradle如下:

apply plugin: 'com.android.application'

android {
compileSdkVersion 24
buildToolsVersion "24.0.0" defaultConfig {
applicationId "com.jarwell.learnjson"
minSdkVersion 17
targetSdkVersion 24
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
} dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
testCompile 'junit:junit:4.12'
compile 'com.android.support:appcompat-v7:24.2.0'
}

其中所使用的minSdkVersion为17,targetSdkVersion 为24,而run app的机子对应的API level恰好是17(17<19<24),因此出现了以上的错误日志信息,尝试用level为19以上的机子或模拟器则运行正常。

Android studio的更多相关文章

  1. Android Studio配置 AndroidAnnotations——Hi_博客 Android App 开发笔记

    以前用Eclicps 用习惯了现在 想学学 用Android Studio 两天的钻研终于 在我电脑上装了一个Android Studio 并完成了AndroidAnnotations 的配置. An ...

  2. Android Studio 多个编译环境配置 多渠道打包 APK输出配置

    看完这篇你学到什么: 熟悉gradle的构建配置 熟悉代码构建环境的目录结构,你知道的不仅仅是只有src/main 开发.生成环境等等环境可以任意切换打包 多渠道打包 APK输出文件配置 需求 一般我 ...

  3. Android Studio —— 重装 HAXM

    Android Studio -- 重装 HAXM 版权声明:本文为博主原创文章,未经博主允许不得转载. 微博:厉圣杰 文中如有纰漏,欢迎大家留言指出. Android SDK 自带模拟器一直以慢.卡 ...

  4. android studio 使用 jni 编译 opencv 完整实例 之 图像边缘检测!从此在andrid中自由使用 图像匹配、识别、检测

    目录: 1,过程感慨: 2,运行环境: 3,准备工作: 4,编译 .so 5,遇到的关键问题及其解决方法 6,实现效果截图. (原创:转载声明出处:http://www.cnblogs.com/lin ...

  5. 使用 Android Studio 检测内存泄漏与解决内存泄漏问题

    本文在腾讯技术推文上 修改 发布. http://wetest.qq.com/lab/view/63.html?from=ads_test2_qqtips&sessionUserType=BF ...

  6. 【详细教程】论android studio中如何申请百度地图新版Key中SHA1值

    一.写在前面 现在越来越多的API接口要求都要求提供我们的项目SHA1值,开发版目前还要求不高,但是发布版是必定要求的.而目前定位在各大APP中也较为常见,当下主流的百度地图和高德地图都在申请的时候会 ...

  7. 【走过巨坑】android studio对于jni调用及运行闪退无法加载库的问题解决方案

    相信很多小伙伴都在android开发中遇到调用jni的各种巨坑,因为我们不得不在很多地方用到第三方库so文件,然而第三方官方通常都只会给出ADT环境下的集成方式,而谷歌亲儿子android studi ...

  8. android studio你可能忽视的细节——启动白屏?drawable和mipmap出现的意义?这里都有!!!

    android studio用了很久了,也不知道各位小伙伴有没有还在用eclipse的,如果还有,楼主真心推荐转到android studio来吧,毕竟亲儿子,你会知道除了启动速度稍微慢些,你找不到一 ...

  9. 解决Android Studio 无法显示Layout视图问题

    在Android Studio 当中,如果你选择的SDK的版本 与你所显示的视图版本不一致时,会出现这个错误 Exception raised during rendering:com/android ...

  10. Android Studio快捷键

      一.android studio 默认快捷键 刚开始接触一款开发软件,想必很想了解它的快捷方式,这会对你的编程起到很好的帮助,提高工作效率,接下来给你介绍下Android Studio一些常用的快 ...

随机推荐

  1. Java中日期的转化

    4.如何取得年月日.小时分秒? 创建java.util.Calendar实例(Calendar.getInstance()),调用其get()方法传入不同的参数即可获得参数所对应的值,如:calend ...

  2. 模块化你的JS代码

    为什么要使用模块模式? 因为在全局作用域中声明的变量和函数都自动成为全局对象Window的属性,这经常会导致命名冲突,还会导致一些非常重要的可维护性难题,全局变量越多,引入错误BUG的概率就越大!所以 ...

  3. ngrok

    为什么要使用ngrok?/ngrok 作为一个Web开发者,我们有时候会需要临时地将一个本地的Web网站部署到外网,以供它人体验评价或协助调试等等,通常我们会这么做: 找到一台运行于外网的Web服务器 ...

  4. [转]ASP.NET应用程序生命周期趣谈(一)

    这几天一直在看ASP.NET应用程序生命周期,真是太难了,我理解起来费了劲了,但偏偏它又是那么重要,所以我希望能给大家带来一篇容易理解又好用的文章来帮助学习ASP.NET应用程序生命周期.这篇就是了. ...

  5. Android设置图片内存溢出(OOM)问题——Android开发进阶之路6

    ImageView设置图片必备常识技术: Android设备会给每个应用分配16M的内存空间,如果你设置的图片的比较大且同一个页面有多个时,经常会报OOM错误导致程序奔溃.所以在这种情况下我们必须要对 ...

  6. 带调试器(Debugger)的ILSpy(2.2.0.1738)

    2015-03-13 09:40更新: 感谢@dark89757园友提出的调试时不能查看变量的问题. 源码已修改,并提交到了github. 请查看最新发布,二进制文件和源码都在这里: 调试时可查看变量 ...

  7. nginx+tomcat https实践

    1. 安装ssl'证书 使用Let's Encrypt 的免费证书: 下载源代码: git clone https://github.com/letsencrypt/letsencrypt 我时阿里云 ...

  8. c#批量插入数据库Demo

    using System; using System.Collections.Generic; using System.Configuration; using System.Data; using ...

  9. 轻量级ORM框架——第一篇:Dapper快速学习

    我们都知道ORM全称叫做Object Relationship Mapper,也就是可以用object来map我们的db,而且市面上的orm框架有很多,其中有一个框架 叫做dapper,而且被称为th ...

  10. mac 下JDK 与 tomcat 的安装与配置

    一.Mac下JDK的安装 1.先检测Mac是否已经安装过JDK,在终端中输入java 或者 javac 显示说明,表明已经安装过JDK,JDK版本查询终端键入java -version,终端会返回JD ...