Android 硬編碼提取工具

  • 原文發(fā)布與個人博客KuTear,轉載請注明 *

英文文檔

英文

GITHUB

Android 硬編碼提取工具

提取Android Layout硬編碼的string和dimens出來

點擊下載|Download

用法

Example
#linux/mac
./Fuck-Hard-Code -input="{layout path}" -output="{layout output path}"

#windows
Fuck-Hard-Code.exe -input="{layout path}" -output="{layout output path}"

執(zhí)行之后你可以在這個目錄{layout output path}/out/看見兩個文件strings.xmldimens.xml以及其他所有的layout文件在{layout output path}/

實例

找到自己App的Layout目錄(或新建Application),
下面展示其中一個文件

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal">
    <TextView
        android:id="@+id/content"
        android:layout_width="wrap_content"
        android:layout_height="40dp"
        android:text="Hello Word"
        android:textSize="20sp" />
</LinearLayout>

運行工具

> Fuck-Hard-Code -input="{project path/app/src/main/res/layout}" -output="{out path/layout}"

之后我們可以在{out path/layout}下看到對應文件的內容被修改為

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal"
    android:gravity="top">
    <TextView
        android:id="@+id/content"
        android:layout_width="wrap_content"
        android:layout_height="@dimen/dp_0040_0"
        android:text="@string/strings_0"
        android:textSize="@dimen/sp_0020_0" />
</LinearLayout>

{out path/layout/out} 中有兩個文件,strings.xml 和 dimens.xml,內容分別為

<!--strings.xml-->
<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string name="strings_0">Hello Word</string>
</resources>
<!--dimens.xml-->
<?xml version="1.0" encoding="utf-8"?>

<resources>
    <dimen  name="dp_0040_0">40.0dp</dimen>
    <dimen  name="sp_0020_0">20.0sp</dimen>
</resources>

這樣就替換了布局中所有的硬編碼格式。可以使用文件比較工具查看之后,沒有問題就替換掉以前的布局代碼

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • Spring Cloud為開發(fā)人員提供了快速構建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,578評論 19 139
  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 179,108評論 25 709
  • 1.創(chuàng)建文件夾 !/bin/sh mkdir -m 777 "%%1" 2.創(chuàng)建文件 !/bin/sh touch...
    BigJeffWang閱讀 10,495評論 3 53
  • 每個人都有喜歡做的事情,這不同于工作,而更像是一種純粹的消遣。 前段時間有幾位好朋友找我去給他們拍藝術照,他們知...
    做舊時光閱讀 498評論 1 2
  • 轉眼間,我在家工作已經(jīng)有3個月的時間了。 在這樣的三個月的時間里面,我的內心變化非常的大。 回想起,我剛開始畫三維...
    普通女孩閱讀 218評論 0 0

友情鏈接更多精彩內容