as的一些常见问题

    • assets文件的存放目录在”src/main/”目录下,和java、res文件夹平级;

    • aidl文件需要单独在”src/main/”目录下新建一个文件夹,然后创建对应的包名,将aidl文件放在包名对应的包下。

  • 引用libs文件夹中的so,需要在对应module下的build.gradle文件的android标签下加上如下属性:

    android {
    sourceSets {
    main {
    jniLibs.srcDirs = ['libs']
    }
    }
    }
  • android studio的编译时屏蔽掉lint检查,可以避免由于编译条件太过严格而编译不过的问题:

    lintOptions {
    abortOnError false
    }
  • 如果遇到多个jar包中的某个文件冲突,可以在对应module下的build.gradle文件的android标签下加上如下属性:

    packagingOptions {
    exclude 'META-INF/NOTICE.txt'// 这里是具体的冲突文件全路径
    exclude 'META-INF/LICENSE.txt'
    }
  • 调整logcat文件显示的颜色:File→Setting→Editor→Colors&Fonts→Android Logcat→在界面的右侧调节logcat每个级别日志的颜色;

  • 显示行号:File→Setting→Editor→General→Appearance→勾选“Show line numbers”;

  • Logcat的console中,显示”no debuggable applications”的问题:Tools→Android→Enable ADB Integration;

  • 如果依赖工程和主工程中有同名同类型的资源文件,需要修改依赖工程中的资源名称编译时才不会报错,如果依赖工程中的这个资源文件是整个工程都不需要用到的,可以直接删掉;

  • Android Studio中一个主工程依赖多个library的模式编译时很慢(clean和rebuild时,之前Eclipse中是这种模式),因为这种工程框架是主工程和每个依赖工程中都有一个build.gradle,编译起来会消耗比较长的时间,可以将没有资源文件和so的依赖工程打包成jar包,有资源文件和so的打包成aar文件,然后在主工程中引用,这样编译会很快;

  • Android Studio对九图的要求很严格,如果文件以”.9.png”结尾但是图片不是9图,编译的时候会报错,解决方案是直接在AS中打开这张图片,通过9图编辑工具编辑成9图即可;

  • 修改Module之间的依赖关系有两种方式:(1)直接修改每个module的build.gradle文件中的dependencies;(2)右键project→Open Module Settings→在弹出面板的左侧Modules一栏中选中要修改依赖关系的Module,点击右侧的Depencencies标签修改即可;

  • Android Studio自动导包:File→Settings→Editor→General→Auto Import→Java→切换“Insert imports on paste”为“All”→勾选“Add unambigious imports on the fly”;

  • 代码格式化快捷键:CTRL+ALT+L;

  • 重命名文件夹或者文件的快捷键:ALT+SHIFT+R;

  • 鼠标悬浮在某个方法上时,显示该方法的信息:Preferences→Editor→Show doc on mouse move;

  • 删除一个Module,直接在IDE中选中Module后按Delete是删不掉的,需要先右键project→Open Module Settings→在弹出面板的左侧Modules一栏中选中要删除的Module→点击面板左上角的“-”符号→点击OK后回到IDE,然后选中要删掉的Module,按Delte快捷键删掉即可;

  • Android Studio中执行Lint等工具对代码的检测,Analyze→Inspect Code;

  • 导入aar:将aar拷贝到libs文件夹,在module的build.gradle文件增加下面这段话:

    repositories {
    flatDir() {
    dirs 'libs'
    }
    } 然后在build.gradle的dependencies标签中按照如下格式引用aar文件即可:
    compile(name:'aar包名不带扩展名', ext:'aar')
上一篇:防止重复提交demo


下一篇:web自动化框架之一介绍与环境搭建(Selenium+Eclipse+Python)