發表文章

如何解決 Your project's Gradle version is incompatible with the Java version that Flutter is using for Gradle.

圖片
前言 為什麼會發生Gradle的問題?  說這個問題之前就要先提到什麼是Gradle,Gradle就是Java的編譯打包工具之一,Android官方指定的打包工具,也就是Android開發者必備的技能之一。 開發過Android的人一定有發生過,舊的專案本來執行都好好的,但是換了新電腦,重新下載Android Studio將舊的專案要進行開發時,有時候就會發生gradle不支援的情形? 原因在於Android Studio的版本有必需的Gradle外掛版本,請見 版本對應表 。 Gradle外掛版本又與專案內部的Gradle版本有相容的問題,請見 版本對應表 。 Java版本也要與Gradle版本相容,請見 版本對應表 本題開始 回到本題,由於Flutter在build Android app的部份,需要使用Gradle這個打包工具來進行編譯成APK。 而Java與Gradle的版本有其對應的關係存在,所以當Flutter專案裡面的Java版本與Gradle的版本對應不相容時,就會出現這個錯誤。在上面的錯誤訊息中也有提示可以前往 版本對應表 ,找出適合的版本。 快速小結一下,解決的方法就是: Java版本要與Gradle版本相容,Gradle版本要再與Android Gradle Plugin版本相容。 解決步驟 1. 修改在專案中的Gradle版本: 修改的方法是找出 gradle-wrapper.properties 檔案,將裡面的distributionUrl裡所列的版本號改成適合的版本號 假設修改為Gradle 7.5版,按下Android Studio的Run之後,就會看到Android Studio已經自動下載了一包對應版號的Gradle檔案。 接下來會發現有新的錯誤訊息: Warning: Mapping new ns http://schemas.android.com/repository/android/common/02 to old ns http://schemas.android.com/repository/android/common/01 Warning: Mapping new ns http://schemas.android.com/repository/android/generic/02 to old ns http://

ISO 27001 LA 主導稽核員 考照心得

圖片
由於資安事件層出不窮,資訊安全日益受到重視,然而資訊安全的層面非常的廣,除了程式開發端、伺服器端,實體資訊工作環境也是需要被防護的一環。 ISO 27001是針對ISMS (Information Security Management System)制定的標準,也是列在行政院資通安全專業證照名單內的其中一張證照。 目前許多的大企業大多有在落實ISO 27001的合規環境,除了寫程式的人常常會被稽核之外,身為App開發人員的我,也想找個時間來了解ISO 27001的規範,就算目前還沒有要當稽核員,對於資訊安全的觀念也會更加全面。 報名 網路上查都有滿多這門課的報名管道,自行選擇喜歡的機構,以及打聽一下上課的地點,有些是在高級的飯店上課,環境、伙食就會都不錯。雖然通過拿到證照才是重點,但同樣都要花這筆大錢了,當然選間上課環境更舒服的地方也會比較開心一點 🤣。 費用 平日:50000、假日班:39900 這次我是自費去上課考照的,由於沒有公司的補助,所以是選擇費用比較便宜一些的假日班去上課。 上課之前 在正式上課之前,上課的機構會先寄一份課前資安調查的題目,要求先做一份對於資訊安全的了解程度的線上測驗。雖然是說分數不達標準就無法參加此課程,但其實題目也不難,大多都是靠想像的就可以選得到正確的選項。題目都是選擇題多選,而且不是我們傳統認為的全部選擇都答對才得分,而是有勾選到正確的選項都會有得到一些分數,所以只要勾選多一點的選項就可以通過了。 開始上課 分組 到了正式上課的第一天,首先會先分組,然後成員的自我介紹。而我們這組有人來自公部門,也有人本身就是PM,也有網管,也有工程師。 老師為了讓同隊的組員有更加深認識組員的機會,用輪流介紹另一位組員的方式進行,也就是A介紹B讓大家認識、B介紹C讓大家認識、C介紹A讓大家認識。 於是就有聽到其中有一組是相關稽核背景的,實力就相當堅強。 上課 課程主要圍繞在ISO 27001:2013的條文,其中包含了「本文」與「附錄A」。 如果你也是跟我一樣是第一次接觸這個領域,一定會有很多都不太懂的地方,上課就要更專心聽,老師會針對條文中的名詞定義,加上稽核實務的對應到的條文加以比對說明。 例如:你是稽核員,當你到了受稽方現場,看到程式碼是公司裡的任何人都可以自由存取,請問不符合哪些條款? 這個時候就要去翻條文,本文跟附錄A都可以找,發現與

Android Studio Arctic Fox 載入 AAR錯誤訊息: Build was configured to prefer settings repositories over project repositories but repository 'flatDir' was added by build file 'app/build.gradle')

圖片
想要導入AAR檔案做為Library使用時,在之前Android Studio Arctic Fox之前的版本,有一項必備的步驟是在app/build.gradle加入了下列的語法,讓libs目錄做為存放library的目錄 repositories { flatDir { dirs 'libs' } } 但是如果是在Arctic Fox的版本,卻會發生以下的錯誤訊息: A problem occurred evaluating project ':app'. > Build was configured to prefer settings repositories over project repositories but repository 'flatDir' was added by build file 'app/build.gradle' 解決的方法: 1. 刪除本來的語法 repositories { flatDir { dirs 'libs' } } 2. dependencies加上 implementation fileTree( dir : 'libs' , include : [ '*.jar' , '*.aar' ]) 參考資料: https://huayig.cn/index.php/archives/101/

Mac建立Flutter開發環境建立時,執行 flutter doctor 的一些錯誤訊息

圖片
之前寫了一篇記錄實作開發環境過程的文章  如何在Mac建立Flutter開發環境 ,後來一些朋友在安裝的過程詢問了一些錯誤訊息,才發現有些執行    flutter doctor   發生的錯誤訊息,會造成有些人無法順利安裝成功,於是將沒有寫完整的部份,在這篇文章一併補充說明: 1. cmdline-tools component is missing 要解決這個問題,只要打開Android Studio的SDK Manager, 安裝最新版的Command-line tools即可。 1.1 進到 SDK Manager / SDK Tools,勾選 Android SDK Command-line Tools 1.2 確認安裝。按下ok 1.3 再次執行    flutter doctor   ,此項問題已解決 2.Some Android licenses not accepted. 這個問題的解決方法,其實有寫在訊息裡,只要需要在Terminal輸入    flutter doctor --android-licenses   即可 2.1 輸入    flutter doctor --android-licenses   ,出現對話訊息後,按下 y,再按下Enter 2.2 接下來在每個對話訊息問你是否同意的項目,都按下 y 之後,再按下Enter 2.3 再次執行    flutter doctor   ,所有Android的部份就已經都解決了 讓我們繼續解決iOS的issue... 3.Xcode installation is incomplete; a full installation is necessary for iOS development. 這個問題的解決方法,其實有寫在訊息裡,只需要在Terminal輸入   sudo xcode-select --switch /Applications/Xcode.app/Contents/Developer    以及   sudo xcodebuild -runFirstLaunch   即可 3.1 輸入    sudo xcode-select --switch /Applications/Xcode.app/Contents/Developer     由於是sudo指令,所以會要求輸

Android Studio Arctic Fox中文顯示失敗

圖片
當Android Studio升級為Arctic Fox之後,發現在中文的顯示會取代成為方塊 甚至在搜尋輸入中文字也會變成方塊,造成無法搜尋中文字的情形 解決方法 1.開啟Android Studio設定 Mac按下快捷鍵 CMD⌘ + , Windows按下快捷鍵 Ctrl+Alt+S 2.修改設定 Appearance & Behavior / Appearance 勾選 Use custom font 按下OK完成設定 3.完成

簡訊實聯制App隱私權政策

App隱私權政策聲明 為了讓您能夠安心使用本App的各項服務與資訊,特此說明本App的隱私權保護政策: 一、隱私權保護政策的適用範圍 隱私權保護政策內容,包括本App如何處理在您使用App服務時收集到的個人識別資料。 二、個人資料的蒐集、處理及利用方式 本App目前均無使用任何可以紀錄、蒐集使用者資料的機制,並且也無開啟網路連線功能。 需要取得使用者同意相機的權限: 相機功能是掃描二維條碼時必須使用的功能,用來讀取二維條碼內容。 使用者自行記錄常用地點: 是單機版記錄在手機裡的資料庫-SQLite,當使用者移除App或是自行清除App的資料,資料將永不復存在。 三、資料之保護 本App目前均無使用任何可以紀錄、蒐集使用者資料的機制。 所以目前均無任何有關您的資料。 四、網站對外的相關連結 本App的網頁提供其他網站的網路連結,您也可經由本App所提供的連結,點選進入其他網站。但該連結網站不適用本App的隱私權保護政策,您必須參考該連結網站中的隱私權保護政策。 五、與第三人共用個人資料之政策 本App目前均無使用任何可以紀錄、蒐集使用者資料的機制。不會與其他人共用您的個人資料。

如何解決Android studio build code時間過久(How to solve Android Studio spend much time for debug build)

圖片
Android在開發的過程,都會經歷多次的debug build來安裝在手機上看執行的結果 然而在經歷了多次的build code之後, 是不是會覺得越build越久? 有時甚至是按下了build,到完成安裝到手機run起來都要6分鐘以上... 因為實在太不合理了,所以這個時候可能已經開始上網去找Android studio加速之類的方法了 常常找到的結果都是叫你把Memory調大、啟用新一代Dex編譯器...之類的方法... 但是如果你跟著照做,但build code還是一樣越來越慢,有可能是因為Java的關係 這個時候可以試著強制把Java關掉的方法來試試看 1.開啟活動監視器 2.關閉Java程序 把所有在活動監視器上看到的Java程序都按下停止的按鈕, 然後再去Android studio按下build, 就會發現瞬間build code的速度又變回剛開Android studio時的速度了