android studio使用詳解

        我一直android開發以來使用的都是eclipse開發的,在android studio剛出來的時候,嚐鮮了一下,發現並沒有想象中的好用,而且一些開發習慣很難改過來,所以就又繼續用eclipse了,直到最近,發現github上很多開源項目都是用的gradle開發的,我纔想起了android studio,經過一週的練習使用,從下載安裝到現在的APP簽名發佈,基本算是流程走了一遍,雖然關於gadle的配置還有很多不瞭解的地方,但是總算對之也有了一些全面的認識,特此把其中遇到的問題記錄下來。

  1. 新建項目或者導入項目的時候會遇到提示android studio building gradle project info,一直卡在這裏很久,這是因爲studio需要下載gradle,這個比較耽誤時間,我不曉得它選擇的從哪下的,但是很慢。解決方法:到電腦的C:\Users\Administrator\.gradle\wrapper\dists目下會看到studio下載的版本,點一個進去,看下studio下載的哪個版本,然後到gradle官網下載當前版本的gradle,放到文件夾下就OK。如下圖:


     
  2. 快捷鍵習慣問題,在eclipse轉到android studio的時候,快捷鍵很不順手,影響開發進度,很簡單,打開studio, File->settings->keymap如下圖設置:


     選中eclipse後,我們就可以使用像eclipse一樣的快捷鍵了
  3. 項目配置問題,使用android studio,我們不需要再AndroidMainfest.xml裏配置SDK版本,只用在build.gradle裏配置就ok。以下算是一個簡略的模板,僅供參考:
    apply plugin: 'android'
    
    android {
        compileSdkVersion 19
        buildToolsVersion "19.0.0"
    
        defaultConfig {
            minSdkVersion 8
            targetSdkVersion 19
            versionCode 16
            versionName "1.6"
        }
    
        signingConfigs {
            release {
                storeFile file("jclick")
                storePassword "xxxx"
                keyAlias "xxxx"
                keyPassword "xxx"
            }
        }
        buildTypes {
            release {
                runProguard true
                proguardFiles 'proguard-rules.txt'
                signingConfig signingConfigs.release
            }
            debug{
                runProguard false
                proguardFiles 'proguard-rules.txt'
            }
        }
    }
    
    dependencies {
        compile fileTree(dir: 'libs', include: ['*.jar'])
        compile 'com.actionbarsherlock:actionbarsherlock:4.4.0@aar'
    }
    
     以上配置支持我們在打包時候使用proguard進行代碼混淆以及簽名。jclick爲我的keystore文件,proguard-rules.txt是我的代碼混淆文件,它們都位於module的根目錄下。打包發佈的前提是安裝gradle,具體安裝方法爲官網下載gradle然後把bin目錄配置到環境變量path裏,然後cmd執行gradle -v看是否配置成功,然後到cmd到module的根目錄下,執行:gradle assembleRelease命令,就會在module的build目錄下生成一堆文件,我們可以在apk文件夾裏找到apk文件。另外一種打包方法:菜單Build->Generate Signed APK->選擇打包的module->配置keystore信息->OK,這種打包方式我發現一個問題,就是它不會進行proguard代碼混淆,直到現在也不清楚原因,所以我一直都是cmd進行打包。
  4. 引用library進行代碼混淆時候出錯,例如我在項目中用到了sherlock,它一直提示混淆失敗,XXX BuildConfig,起初我一直不清楚什麼原因,後來才發現是因爲*.aar沒有BuildConfig,所以在使用sherlock的時候,我的progurad文件裏是這麼配置的:
    -dontwarn com.actionbarsherlock.**
    -keep class android.support.v4.app.** { *; }    
    -keep class android.support.v4.view.** { *; }
    -keep interface android.support.v4.app.** { *; }    
    -keep public class * extends android.support.v4.**
    -keep class com.actionbarsherlock.** { *; }
    -keep interface com.actionbarsherlock.** { *; }
     

    以上問題是讓我糾結時間比較久的問題,特分享出來
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章