※ Xposed framework 不一定支援所有機型以及 ROM
※ 安裝前請先確定自己的手機型號以及 ROM 是否支援
Xposed Official Site : http://repo.xposed.info/ (Xposed Installer , 建議下載 stable 版本)
官方網站中的 Browse modules 或者安裝完 Xposed Installer 也可以在裡面看到
有登錄的 modules (或稱 plugin)的 Repository , 當然有的 plugin 不會再上面顯
示,可以到 XDA 或者 Google 上面尋找。
XDA 整理的 plugin list : Xposed Modules Collections (推薦看這裡,原因底下會說明)
※ 安裝 Xposed framework
安裝完 Xposed framework ,給予 root 權限後,點選「框架」後,在裡面進行安裝。
安裝完後如果能夠重開成功,那應該就沒有問題了。(代表你的 ROM 可以使用)
※ 安裝 Xposed plugin
由於 Xposed 是針對 system 等級的 framework 進行修改,因此就會有 ROM 相容
性的問題,在 Repository可以看到幾乎大多數的 plugin 都有寫支援的 ROM 或者
不支援的 ROM,因此下載前要先看清楚,不然還是有可能無法開機的。
XDA 的那篇文章前方有使用 [] 標色,標出這個 plugin 適用於那些 ROM , 在尋找上
會輕鬆許多。
安裝完 plugin 之後,要到 Xposed Installer 中勾選啟用,並重新開機。
底下就是自己使用過覺得不錯的 Plugin以及簡單的介紹。
無聊技術研究
2099年1月1日 星期四
2018年6月3日 星期日
開發 Xposed Module in Android Studio
之前曾經寫過開發 Xposed Module 開發的 tutorial , 不過當時還在使用 Eclipse + ADT 套件,現在應該大部分的人都改用 Android Studio 了,所以稍微更新一下使用 Android Sutdio 開發 Xposed Module 的前置作業 (gradle-based):
XposedBridge 放在 jcenter, 所以記得 project build.gradle先加入 jcenter:
repositories {
jcenter();
}
接著在 Module 的 build.gradle 加入 XposedBridge :
dependencies {
provided 'de.robv.android.xposed:api:82'
provided 'de.robv.android.xposed:api:82:sources'
}
如果不需要 source 可以不 import , 但建議一起放進來比較好開發,注意要用 provide 不是 compile 或 implementation,這樣在編譯的時候不會把 Code 編譯進 apk 中,而是使用手機上 Xposed Framwork 的 classes
至於目前 Xposed 到哪一個版本可以參考官方 github 的 release :
https://github.com/rovo89/XposedBridge/wiki/Using-the-Xposed-Framework-API
剩下的就和原本的相同,包含建立 xposed_init 和在 AndroidManifest.xml 加入資訊...等
可以參考之前寫的文章:
Xposed Module 開發教學 - 以 MoPTT 為例
XposedBridge 放在 jcenter, 所以記得 project build.gradle先加入 jcenter:
repositories {
jcenter();
}
接著在 Module 的 build.gradle 加入 XposedBridge :
dependencies {
provided 'de.robv.android.xposed:api:82'
provided 'de.robv.android.xposed:api:82:sources'
}
如果不需要 source 可以不 import , 但建議一起放進來比較好開發,注意要用 provide 不是 compile 或 implementation,這樣在編譯的時候不會把 Code 編譯進 apk 中,而是使用手機上 Xposed Framwork 的 classes
至於目前 Xposed 到哪一個版本可以參考官方 github 的 release :
https://github.com/rovo89/XposedBridge/wiki/Using-the-Xposed-Framework-API
剩下的就和原本的相同,包含建立 xposed_init 和在 AndroidManifest.xml 加入資訊...等
可以參考之前寫的文章:
Xposed Module 開發教學 - 以 MoPTT 為例
2017年3月30日 星期四
FMSync - 自製 FileMaker 同步工具 (Not plugin)
FMEasySync 是將 Server Side當作外部資料來源進行同步,特點是也可以將 Clent 端作為 Server 使用,使用 FileMaker 內部通訊方式,有加密較安全。
支援 FileMaker Go , 但由於 Runtime solution 不支援 Perform Script On Server 和外部資料來源,因此無法用於 Runtime solution。
而其餘 plugin 類型的雖然可用於 Runtime solution 但大多要錢,而且重點是 FileMaker Go 不支援,剛好在目前的需求中,必須同時要能夠讓 Runtime 和 Go 使用,因此自行設計了一套 FileMaker Sync 的 Framework : FMSync (PS: 後來發現已經有同名的 plugin...)
2017年3月2日 星期四
RegExp 應用: lookahead , lookbehind
正規表示法一直都是我很推大家學習的東西,在字串處理上真的有很大很大的幫助以及好處,前幾天朋友工作上需要用到正規表示法處理字串,目的是:「在一個字串中找出連續數字 6~8 個」,這邊要注意的是,連續九個的話是不要的。
例如: 12345 XD Hi12345678ab666666cd987654321
要找出: 12345678 和 666666;但不可以找出 987654321 中的 98765432 或者 87654321
於是我第一個想到的東西就是 Lookahead 和 lookbehind。
先來看一下如果直接使用 \d{6,8} 會取出什麼:Visual Regex Tester
可以看到,直接使用 \d{6,8} 是會連後方的 987654321 取出來。
最後我給的的解法是:(?<!\d)\d{6,8}(?!\d),結果:Visual Regex Tester
重點就在前面的 (?<!\d) 和後面的 (?!\d) 這兩個表示法,他們分別代表的是
negative lookbehind 和 negative lookahead
例如: 12345 XD Hi12345678ab666666cd987654321
要找出: 12345678 和 666666;但不可以找出 987654321 中的 98765432 或者 87654321
於是我第一個想到的東西就是 Lookahead 和 lookbehind。
先來看一下如果直接使用 \d{6,8} 會取出什麼:Visual Regex Tester
可以看到,直接使用 \d{6,8} 是會連後方的 987654321 取出來。
最後我給的的解法是:(?<!\d)\d{6,8}(?!\d),結果:Visual Regex Tester
重點就在前面的 (?<!\d) 和後面的 (?!\d) 這兩個表示法,他們分別代表的是
negative lookbehind 和 negative lookahead
2017年2月26日 星期日
Code 128-C 最佳化規則及轉碼
若還沒看過《由 Code 128 Font 建立 BarCode (含規則) 》建議先前往了解基本的 Code 128 規則。
此文章主要介紹當遇到一串條碼文字時,該如何進行長度最佳化以及特殊控制碼的應用。
同樣記得搭配此份表格服用。
此文章主要介紹當遇到一串條碼文字時,該如何進行長度最佳化以及特殊控制碼的應用。
同樣記得搭配此份表格服用。
2017年2月25日 星期六
由 Code 128 Font 建立 BarCode (含規則)
建立 barcode 其實不難,網路上有很多的 js-Lib 都可以產生各式各樣的 barcode,但由於這次要透過 FileMaker 製作 BarCode 過程相當繁複 (要透過 WebViewer + Windows Only Trick),因此想到是否可以透過 BarCode font 直接製作,於是稍微找了一下 barcode font , 也順便研究了一下關於 barcode 的建立規則。
Code 128 免費字體下載 (ttf):Fonts2U (GNU/GPL)
原本很開心的下載好字體檔,然後打了幾個字,卻發現手機的 Barcode Scanner 完全無法讀取,原來這是因為 barcode 是有固定格式的,因此使用 barcode font 製作 barcode 不能只打幾個字,格式必須要按照 Code 128 的規範才行。
先來了解 Code 128 的格式,共有 5 + 2(頭尾Quiet Zone) 個區域,但這裡可以先不用了解這麼系,簡單來說我們依序需要: 開始、內容、驗證碼、結束 四個不同的區塊,產生出來的 barcode 必須符合這個格式才能被 Reader 讀取。
※ 底下會用到這個表格,請一起參考,提醒:後方的 Character 有部分僅是針對此字體。
Code 128 免費字體下載 (ttf):Fonts2U (GNU/GPL)
原本很開心的下載好字體檔,然後打了幾個字,卻發現手機的 Barcode Scanner 完全無法讀取,原來這是因為 barcode 是有固定格式的,因此使用 barcode font 製作 barcode 不能只打幾個字,格式必須要按照 Code 128 的規範才行。
先來了解 Code 128 的格式,共有 5 + 2(頭尾Quiet Zone) 個區域,但這裡可以先不用了解這麼系,簡單來說我們依序需要: 開始、內容、驗證碼、結束 四個不同的區塊,產生出來的 barcode 必須符合這個格式才能被 Reader 讀取。
※ 底下會用到這個表格,請一起參考,提醒:後方的 Character 有部分僅是針對此字體。
2017年2月24日 星期五
FileMaker 實作 Password Field
FileMaker 聽說在 15 之前並沒有密碼欄可以使用,由於工作上使用 13 和 14 兩版,所以並沒辦法確認 15 版是否真的有這個功能,以及是否有任何其他問題。
這邊單就以 15 之前的版本來說, 若要再 15 前的版本使用密碼輸入欄位,必須要用模擬的方式處理。是的別懷疑,要用模擬的, FileMaker 並不像現在常見的程式語言提供這些東西,他比較類似於 Scratch , 很多功能可能都要自己硬刻出來。
我這邊有作出三種版本,可以參考自己需要哪種,文中都會有介紹:
其中前兩種方法不適用於 Web Direct
這邊單就以 15 之前的版本來說, 若要再 15 前的版本使用密碼輸入欄位,必須要用模擬的方式處理。是的別懷疑,要用模擬的, FileMaker 並不像現在常見的程式語言提供這些東西,他比較類似於 Scratch , 很多功能可能都要自己硬刻出來。
我這邊有作出三種版本,可以參考自己需要哪種,文中都會有介紹:
其中前兩種方法不適用於 Web Direct
- Web Direct 不支援 onObjectKeyStroke
- Web Direct 取得 Get( ActiveSelectionStart ) 有問題,無法計算
2015年11月21日 星期六
XTextList brief introduction
中文版說明:XTextList 2.0 使用說明
XTextList is a Xposed Module. You have to install Xposed framework before using this module.
XTextList provides a text list dialog to let you insert sentences you've defined in this app when you are typing.
Features
See gif demo :
XTextList is a Xposed Module. You have to install Xposed framework before using this module.
XTextList provides a text list dialog to let you insert sentences you've defined in this app when you are typing.
Features
- Ues floating window ( you can customize size , color , opacity and icon)
- Insert texts you've defined quickly
- Clipboard history record
- Two list types : Text , Alias
- Import / Export your text lists
- Use Runtime permission on Android 6.0
See gif demo :
XTextList 2.0 使用說明
English version : XTextList brief introduction
自製 Xposed Module , XTextList 更新到 2.0 ,決定正式來寫一個使用說明,文末是一些小小的心得,稍微抒發一下製作這個程式的心路歷程(?)。
XTextList 是一個 Xposed Module , 手機必須有安裝 Xposed framework 才能使用,主要功能是讓我們可以快速地輸入文字,可以讓大家快速的輸入事先設定好文字內容。
註:手機沒安裝 Xposed 也可以考慮使用我做的另外一個 App : Floating Clipboard,可以參考重灌達人的介紹
XTextList 會在使用者輸入文字的時候,跳出一個浮動視窗,點選後會出現事先設定好的文字列表提供選擇,只要點選指定文字,就可以將文字內容輸入正在打字的地方。
特點介紹:
支援系統: Android 4.0.3 ~ Android 6.0
直接看 gif 動畫效果展示:
自製 Xposed Module , XTextList 更新到 2.0 ,決定正式來寫一個使用說明,文末是一些小小的心得,稍微抒發一下製作這個程式的心路歷程(?)。
XTextList 是一個 Xposed Module , 手機必須有安裝 Xposed framework 才能使用,主要功能是讓我們可以快速地輸入文字,可以讓大家快速的輸入事先設定好文字內容。
註:手機沒安裝 Xposed 也可以考慮使用我做的另外一個 App : Floating Clipboard,可以參考重灌達人的介紹
XTextList 會在使用者輸入文字的時候,跳出一個浮動視窗,點選後會出現事先設定好的文字列表提供選擇,只要點選指定文字,就可以將文字內容輸入正在打字的地方。
特點介紹:
- 使用浮動視窗 ( 可自訂大小與顏色、透明度 )
- 可以快速輸入事先設定的文字
- 提供剪貼簿歷史紀錄功能
- 兩種清單模式:純文字、別名
- 匯出 / 匯入文字清單
- 採用 Android 6.0 的 Runtime permission 設定
支援系統: Android 4.0.3 ~ Android 6.0
直接看 gif 動畫效果展示:
2015年11月16日 星期一
Remix OS Mini 2G/16G 開箱心得 - 文長慎入
之前在 Kickstarter 看到 Remix OS 的時候就抱有很大的興趣,早鳥優惠 $40 真的算是很棒的價格( 1G/8G 版本 $20 ),經過一段時間的等待,終於收到囉!!
目前遇到最大的問題還是在輸入法吧,所以介紹完基本的之後,會先講輸入法的部分。
而重頭戲的多視窗和操作方式會放在後面用比較大的篇幅來介紹。
目前遇到最大的問題還是在輸入法吧,所以介紹完基本的之後,會先講輸入法的部分。
而重頭戲的多視窗和操作方式會放在後面用比較大的篇幅來介紹。
2015年11月12日 星期四
XTextList 重大更新 1.5-Alpha 1
不知道什麼是 XTextList ? 參考:自製 Xposed Module : XTextList
花了一點時間將 XTextList 做了更新,主要是更新文字列表的顯示方式,同樣先參考 GIF 附圖:
花了一點時間將 XTextList 做了更新,主要是更新文字列表的顯示方式,同樣先參考 GIF 附圖:
- 新增「浮動視窗」功能,改變 TextList 出現方式,參考本文說明
- 新增「紀錄上一次使用列表」功能,啟用後可以記錄上次用的列表,下一次直接以該列表呈現
- 一些 UI調整 (但還是很難看 QQ)
2015年10月29日 星期四
自製 Xposed Module : XTextList
這個程式做好很久了,只是都一直都只有自己在使用,沒有發布主要是因為:
底下先來介紹一下這個 Module 的概念和使用方式:
程式名稱是 XTextList , 顧名思義就是文字列表 (TextList) ,
主要的想法是從自製程式: Floating Clipboard 的延伸,也就是
先建立好常用的文字,透過選擇複製的方式來快速輸入文字。
( 這裡有別人寫的介紹:重灌達人 )
XTextList 則是在文字輸入區「Tap & Long Press」呼叫出預先設定好的
文字清單,選擇後直接將文字輸入。
1.5 - Alpha 新增浮動視窗功能,請務必詳讀介紹
主要功能:
參考 GIF 圖片: XTextList Demo (約 1.9MB 可能要稍微等一下)
- 配色適合我自己的手機,沒有測試其他手機
- 沒有針對其他 ROM 做測試,因此不確定其他手機狀況
- 僅針對我常用的 Browser 做設定,沒有做 Chrome 調整
底下先來介紹一下這個 Module 的概念和使用方式:
程式名稱是 XTextList , 顧名思義就是文字列表 (TextList) ,
主要的想法是從自製程式: Floating Clipboard 的延伸,也就是
先建立好常用的文字,透過選擇複製的方式來快速輸入文字。
( 這裡有別人寫的介紹:重灌達人 )
XTextList 則是在文字輸入區「Tap & Long Press」呼叫出預先設定好的
文字清單,選擇後直接將文字輸入。
1.5 - Alpha 新增浮動視窗功能,請務必詳讀介紹
主要功能:
- 紀錄剪貼簿歷史紀錄 (可關閉)
- 自訂多個文字清單分類
- 自訂文字內容
- 可使用「別名」(參考重灌達人的說明,相同的概念)
參考 GIF 圖片: XTextList Demo (約 1.9MB 可能要稍微等一下)
2015年6月24日 星期三
Xposed Module 技巧教學 - 偵測模組啟用
Part 1. Xposed Module 開發教學 - 以 MoPTT 為例
Part 2. Xposed Module 開發教學技巧篇 - 以 MoPTT 為例
Part 3. Xposed Module 技巧教學 - 偵測模組啟用
Xposed Module 在安裝之後,需要在 Installer 中勾選啟用並重新開機後才能運作。
有的 Module 在沒啟用的狀態下開啟 UI,會顯示訊息表示尚未啟用該 Module:
不過上網搜尋資料或者查看 XposedBridgeApi.jar 都看不到取得模組是否被啟
用的方法,而此篇就是介紹該如何偵測模組在 Installer 中的啟用狀態。
PS:這裡指的是我們自己開發的這個 Module
Part 2. Xposed Module 開發教學技巧篇 - 以 MoPTT 為例
Part 3. Xposed Module 技巧教學 - 偵測模組啟用
Xposed Module 在安裝之後,需要在 Installer 中勾選啟用並重新開機後才能運作。
有的 Module 在沒啟用的狀態下開啟 UI,會顯示訊息表示尚未啟用該 Module:
不過上網搜尋資料或者查看 XposedBridgeApi.jar 都看不到取得模組是否被啟
用的方法,而此篇就是介紹該如何偵測模組在 Installer 中的啟用狀態。
PS:這裡指的是我們自己開發的這個 Module
2015年6月23日 星期二
Xposed Module 開發教學技巧篇 - 以 MoPTT 為例
Part 1. Xposed Module 開發教學 - 以 MoPTT 為例
Part 2. Xposed Module 開發教學技巧篇 - 以 MoPTT 為例
Part 3. Xposed Module 技巧教學 - 偵測模組啟用
上篇礙於篇幅,只說明如何停用 MoPTT 的文字過濾,而此篇則講解
如何透過 Xposed Module 修改 MoPTT 發文的簽名檔功能。
由於此功能和上篇相同都是針對 MoPTT 做修改,因此不另外建立一個
專案,使用同一個專案來進行開發。
[ Step 1 - 建立 UI ]
首先,由於可以自訂簽名檔,所以必須要有一個 UI,在此就建立一個
Activity 介面如下:
Part 2. Xposed Module 開發教學技巧篇 - 以 MoPTT 為例
Part 3. Xposed Module 技巧教學 - 偵測模組啟用
上篇礙於篇幅,只說明如何停用 MoPTT 的文字過濾,而此篇則講解
如何透過 Xposed Module 修改 MoPTT 發文的簽名檔功能。
由於此功能和上篇相同都是針對 MoPTT 做修改,因此不另外建立一個
專案,使用同一個專案來進行開發。
[ Step 1 - 建立 UI ]
首先,由於可以自訂簽名檔,所以必須要有一個 UI,在此就建立一個
Activity 介面如下:
2015年6月22日 星期一
Xposed Module 開發教學 - 以 MoPTT 為例
Part 1. Xposed Module 開發教學 - 以 MoPTT 為例
Part 2. Xposed Module 開發教學技巧篇 - 以 MoPTT 為例
Part 3. Xposed Module 技巧教學 - 偵測模組啟用
此文章是針對 Xposed Module 的開發進行教學,關於 Xposed 本身的功能請參考網路文章,這邊就不再贅述。
PS : 底下將 Xposed Module 簡稱為 Mod (懶得打字打太多...)
開發環境: (反正就是要開發 Android App , 如何設定這邊就不再贅述)
建議工具: 反編譯用,這些都可以 Google 找到載點
XDA 的 XposedBridgeAPI 載點文章可能會更新,請根據手機的版本取得對應版
本的 XposedBridgeAPI.jar 檔案,如:XposedBridgeApi-54.jar 就是 54
(在 Xposed Installer 中可以看到你手機使用的版本)。不過還是建議更新到最新
版比較好。
在開始之前,首先簡單介紹一下 Xposed 的運作原理:
Part 2. Xposed Module 開發教學技巧篇 - 以 MoPTT 為例
Part 3. Xposed Module 技巧教學 - 偵測模組啟用
此文章是針對 Xposed Module 的開發進行教學,關於 Xposed 本身的功能請參考網路文章,這邊就不再贅述。
PS : 底下將 Xposed Module 簡稱為 Mod (懶得打字打太多...)
開發環境: (反正就是要開發 Android App , 如何設定這邊就不再贅述)
- Java Development Kit ( JDK )
- Android Studio (或者 Eclipse + Android SDK Tool)
- Xposed Bridge API 的 jar 檔案 ( 在這裡下載 : XDA )
建議工具: 反編譯用,這些都可以 Google 找到載點
- JD-GUI
- dex2jar
- apktool
XDA 的 XposedBridgeAPI 載點文章可能會更新,請根據手機的版本取得對應版
本的 XposedBridgeAPI.jar 檔案,如:XposedBridgeApi-54.jar 就是 54
(在 Xposed Installer 中可以看到你手機使用的版本)。不過還是建議更新到最新
版比較好。
在開始之前,首先簡單介紹一下 Xposed 的運作原理:
訂閱:
文章 (Atom)