Android studio常见问题

技术-工具-Android Studio

如何引入so库
方法1:
    在src/main/目录下新建jniLibs目录,工程会自动加载src目录下的so动态库
方法2:
    在app/libs下放入对应不同的CPU架构的so文件,这样工程并不会自动加载libs下的so,需要在gradle编译时,通过加入代码:jniLibs.srcDir'libs'来说明so的路径为该libs路径
Gradle编译问题:
1 问题:
    ':app:transformNative_libsWithStripDebugSymbolForDebug'.
        > java.lang.NullPointerException (no error message)
  解决方法1 :
    可能是ndk版本    引起的问题。
    编辑local.properties文件,注释掉这一行即可:ndk.dir=....
  解决方法2:
    修改gradle-wrapper.properties中distributionUrl的gradle 版本即可。
 
2 问题:
    java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList ...] couldn't find "libAdwoLocker.so"
  解决方法:
    -------------未解决----------
  
3 问题:
    Please configure Android SDK:
  解决方法:
    
4 问题:
    Error:Failed to open zip file.
    Gradle's dependency cache may be corrupt (this sometimes occurs after a network connection timeout.)
    解决方法:
        gradle.zip包下载失败造成的
        改成其他可用版本的zip包,或者下载然后使用离线zip包

5 问题:
    Error:Configuration with name 'default' not found.
  解决方法:
    setting.gradle中引用了不存在的第三方库。
    
6 问题:
    build ' ' gradle project info
  解决方法:
    1 离线Gradle或者使用vpn.
    2 下载离线gradle,解压到~/.gradle/wapper/dists目录下,重启AS即可(推荐)。
    
    
7 问题:
    引入新module时,“Select modules to import” error
  解决方法:
    由于gradle配置错误导致的。
    把module混淆打包时配置了buildTypes,工具会把这个module认为是一个项目,而不再是一个module。解决的方法也就是把buildTypes注释掉即可。
布局显示问题:
1 问题:
    Android studio the following classes could not be instantiated:
         --android.support.v7.internal.widget.ActionBarOverlayLayout
  解决方法:
    You have to do two things:
    be sure to have imported right appcompat-v7 library in your project structure -> dependencies
    change the theme in the preview window to not an AppCompat theme. Try with Holo.light or Holo.dark for example.
如何生成混淆后的jar包:
1 在打包模块build.gradle 中,添加:
buildTypes {
    release {
        minifyEnabled true 
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }
}

I
2 修改该module的proguard-rules.pro文件:

    -keep public class com.admaster.sdk.lan.manager.LanManager {
        public *;
    }
    -keep class * extends android.os.Parcelable {
        public *;
    }

3 在该module的build.gradle文件中编写打包方法:
    task makeJar(type: Copy){
        delete 'build/libs/lan.jar'
        from('build/intermediates/bundles/release/')
        into('build/libs/')
        include('class.jar')
        rename('class.jar','lan.jar')
    }
    makeJar.dependsOn(build)

4 执行gradlew makejar命令:
    gradlew makeJar
5  解决每次执行/.gradlew命令时都会下载的问题:
    方法1:
        下载gradle文件,放到gradle/wrapper目录下
        修改gradle-wrapper.properties的distributionUrl为:
        distributionUrl=gradle-1.11-bin.zip(根据版本不同进行修改)
        
        缺点:
            每个项目都需要这么搞岂不是很累
            而且我的Mac电脑本身磁盘空间就小,一个包有60M左右,有10个项目,就会多占用500M的空间。
    方法2:
        
        
    http://stackoverflow.com/questions/22896569/how-to-use-gradle-zip-in-local-system-without-downloading-when-using-gradle-wrap
如何正确的修改包名:
Project结构下:
    小齿轮按钮--确保Compact Empty Middle Package未选中
Git教程
1 添加忽略文件:
    编辑.gitignore即可。
2 删除远程分支:
    git push origin :branch-name
    注意:冒号前面的空格不能少,原理是把一个空分支push到server上,相当于删除该分支。
3 删除本地分支:
    git branch -D branch-name
4 修改commit内容
    git commit --amend 
        未push
    git rebase -i head~3 
        push之前提交的历史注释
5 重命名分支:
    git branch -M branch-name-old new branch-name-new
6 本地文件添加git管理:
    git init 
        把整个目录变成git可以管理的仓库
    git remote add origin [email protected]:michaelliao/learngit.git
        将本地的仓库和远程仓库关联起来
    git push -u -f origin master
        把本地仓库的所有内容推送到远程仓库上。
        -u 参数:不但会把本地master推送到远程新master分支,还会把本地master和远程master关联起来
        -f 参数:强制推送

插件:

SQLScout:
    查看数据库插件
    http://www.idescout.com/    
参考:

Sean_帅恩的博客

百度sdk嵌入

Gradle入门指南(二)

Android Studio Rendering Problems : The following classes could not be found

git 参考教程

你可能感兴趣的:(Android studio常见问题)