2018年12月29日 星期六

【Android】開發測試平台DeployGate介紹



DeployGate 是一個提拱開發者使用的測試平台,可以輕鬆的上傳並且分享 iOS 以及 Android 應用程式,非常適合用於開發階段提供團隊內成員進行 app 的溝通與協作。以下介紹在 android studio 內使用 Gradle 進行自動打包並部屬 apk 的流程.



1. 相依 gradle-deploygate-plugin 插件

在專安內的 build.gradle 文件中加入:
dependency {
  classpath "com.deploygate:gradle:1.1.5"
}
在專案內的 app/build.gradle 文件中加入:
apply plugin: 'deploygate'




2. 配置 gradle 文件設定

在專安內的 app/build.gradle 文件中加入:
    .
    .
    .

deploygate {
    userName = "[username of app owner]"
    token = "[your API token]"

    apks {
        debug {
            message = "[debug message]"
            releaseNote = "[release note]"
        }

        release {
            message = "[release message]"
            releaseNote = "[release note]"
        }
    }
}

userName 與 token(API key)可以在 DeployGate 的 Account Settings 裡面找到
apks 這整段為非必要 (可加可不加)





3. 運行 deploygate gradle 腳本

打開 android studio 右測的 Gradle 視窗,找到 app-> Tasks -> deplotgate -> uploadDeployGateDebug 並執行,即可自動建置並部屬至 DeployGate







● 其他 gradle 配置設定

我的個人習慣是在開發專案的過程中,會將 keystore 放在專案內(debug/release 皆是),方便不同電腦在 build apk 時可以保持一致性,如果要自定義 debug keystore 的路徑可以這麼做:

1.在專案內的 app/ 資料夾內新增一個資料夾 secret (名稱可以隨便取,但下面路徑記得也要跟著換),用來裝 keystore




2.在專安內的 app/build.gradle 文件中加入:

android {

    .
    .
    .

    signingConfigs {
        debug {
            storeFile file("../app/secret/debug_keystore.jks")
            storePassword "[your debug password]"
            keyAlias "[your debug keyAlias]"
            keyPassword "[your debug password]"
        }
        release {
            storeFile file("../app/secret/release_keystore.jks")
            storePassword "[your release password]"
            keyAlias "[your release keyAlias]"
            keyPassword "[your release password]"
        }
    }
    buildTypes {
        debug {
            minifyEnabled false
            debuggable true
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
            signingConfig signingConfigs.debug
        }
        release {
            minifyEnabled false
            debuggable false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
            signingConfig signingConfigs.release
        }
    }
}

2018年2月20日 星期二

【Android】如何取得SHA1指紋認證與MD5

在很多地方都會需要用到 SHA 指紋認證,要取得 SHA 之前必須先擁有 keystore , keystore 又分為正式版與測試版,測試版的keystore在安裝 Android SDK 時就會一併產生在電腦中,正式版 keystore 則需要自己打包產生,以 Windows 系統為例
測試版 keystore 路徑為 C:\Users\YOUR_NAME\.android\debug.keystore

要取得 SHA 有兩種方式:
1. cmd (windows 命令提示字元) 下 command line
2. 在 Android Studio 內運行 Gradle 指令快速取得(只適用 debug keystore)




● 在 Windows 環境下使用 keytool 取得簽署憑證的 SHA 雜湊值


1.打開 命令提示字元(cmd) 視窗 / (使用Git Bash 也行)
2.切換路徑到 JDK 的 bin 資料夾 指令 : cd C:\Program Files\Java\jdk1.8.0_144\bin (黃字部分自行替換)
3.查詢指令 : keytool -list -v -keystore "C:\Users\YOUR_NAME\.android\debug.keystore" (黃字部分自行替換)
4.打上密碼 (debug.keystore 預設密碼為 android)







● 在 Android Studio 內快速取得 dubug 認證


如果手邊有 AS IDE 的話,打開專案,點開測邊欄的 Gradle 視窗,找到 Tasks 資料夾,這裡面有一些預設寫好的腳本可以執行,接著找到android -> signingReport,直接執行便可以得到電腦內 debug.keystore 的指紋認證等資訊