發表文章

目前顯示的是 5月, 2016的文章

架設Jenkins伺服器自動建置Android apk檔

圖片
在Android開發的過程難免我們會需要在寫完一定的功能之後,就將目前完成的內容打包成apk交付給其他的人員安裝測試,所以應該是會滿常會遇到:Android build了測試的apk之後,每次都要改版本號,然後再上傳到dropbox空間,然後再發信通知測試人員。 但其實這些機械化的動作,可以交給Jenkins去處理就好。所以最近也就開始研究Jenkins的架設,這篇整理介紹的內容能夠達成以下幾項任務: A.架設Jenkins Server B.自動從Git抓取程式碼 C.自動將Android的code build成apk檔案(並且檔名自動加上Jenkins Build Number) D.自動將apk上傳至Dropbox E.自動發信通知測試人員 一、架設Jenkins Server 1.到Jenkins官網 下載war檔 之後,使用Terminal輸入指令來啟動服務 java -jar jenkins.war 2.開啟瀏覽器,在網址列輸入: localhost:8080 3.輸入預設的管理密碼 這個時候會出現要你輸入啟動安裝的管理者密碼,畫面上會提示放置密碼的位置,通常都是放在使用者資料夾下的.jenkins/screts目錄下的initialAdminPassword檔案裡 所以可以直接用vi去打開來看(關閉vi時,輸入冒號、按q再按Enter的指令),或是直接用文字編輯軟體打開該檔案就能夠看到裡面寫的一長串的文字密碼 4.安裝外掛(plug-in) 接下來會要求安裝一些外掛,在這個階段可以先選擇建議的外掛選項就好,日後也都還可以進到Jenkins後台新增移除外掛 正在開始下載並安裝外掛 5.設定管理者帳號密碼 6.Jenkins已架設完成 二、Jenkins後台設定 1.管理外掛程式 透過這項功能可以將外掛程式新增/刪除/更新。進入的路徑: ①管理Jenkins ②管理外掛程式 進入管理外掛程式的頁面之後: ①選擇「可用的」分頁 ②透過「過濾條件」快速找到想要安裝的外掛,然後勾選下列的外掛程式 Android Emulator Plugin 、 Android Lint Plugin 、 Gradle plugin 、 Email Extension Plugin

Android 6.0實作在Acitivty及Fragment取得權限的方法

最近開始收到一些使用者反映,原本可以使用的功能,手機升級為Android 6.0之後卻不能用了,原因在於Android 6.0的權限管理,將一些列為危險等級的功能權限都預設關閉起來,如此便造成了某些功能因為權限沒有允許而沒有辦法使用。 關於解決的方法在Android官方網站很早就有列出如何透過程式的方法重新取得使用者的授權,只是因為一直沒有遇到需求,所以才會到現在才處理Android 6.0的權限部份。 整個開發的設計流程為: a.透過程式的方法要求所須的權限 b.取得權限成功與失敗的結果 c.如果使用者提供授權就執行該功能(本例為playMusic()) d.如果使用者取消授權就跳出對話框再次詢問(告知為何需要使用者的權限) e.如果使用者依然拒絕提供授權就不執行該功能 以下是開發實作的過程: 1.製作取得權限的公用函式 /** * 取得權限(for Android 6.0) * * @param activity * @param permission * @param permissionCode */ public static void getPermission(Activity activity, String permission, int permissionCode) { if (ContextCompat.checkSelfPermission(activity.getApplicationContext(), permission) != PackageManager.PERMISSION_GRANTED) { ActivityCompat.requestPermissions(activity, new String[]{permission}, permissionCode); } } 直接將取得授權寫成一個公用函式的好處,在於可以在不同的頁面隨時都能夠傳入不同的權限參數,就可以觸發取得所屬權限的功能,而且也可以在呼叫程式碼的時候變得簡潔。而其中第一個參數: Activtiy,如果是在Fragment的時候也可以傳入getActivity(),一樣可以使用這個函式。 2.設定權限的requestCode: 自訂的requestCode來做為判斷要求的