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 git@github.com: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 參考教程

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容