2013年3月25日 星期一

[Linux] 多檔案一次取代文件字元

find -iname  "[file_name]" | xargs sed -i 's/[old_string]/[new_string]/g'

ex: find -iname  "note.txt" | xargs sed -i 's/adb/def/g'

2013年3月20日 星期三

[Android] 使用需系統權限的APP的方法

需要系統權限的APP預設安裝進去device
是無法取得系統權限的
需取得系統權限有兩種方法

1. sign與image相同的platform key
$ java -Xmx2048m -jar linux-x86/framework/signapk.jar -w keys/platform.x509.pem keys/platform.pk8 [unsigned_app] [signed_app]

2. 將app push到/system/app底下,APP即可取得系統權限
$ adb root
$ adb remount
$ adb push [app_name] /system/app




ref1:[Android] 查看Android device key:app sign key

ref2:[Android] 修改system權限

--

2014/2/7 note

key在codebase的build/target/product/security中

[Android] 修改system權限

/system的權限預設都為read only
若要修改權限,直接下chmod是無法改變權限的
需透過adb remount,將/system權限改為read. write

$ adb root
$ adb remount

=>補充:adb remount為重新將系統掛載為R/W模式

2013年3月15日 星期五

[Git] 取消git add


當不小心將檔案git add
要取消add的指令
$ git reset HEAD [file_name]

[Engineer] 工程術語:EVT-DVT-PVT-MP

EVT : Engineering Verification Test (工程驗證測試階段) 
一般這個階段所生產出來的樣品只有電路板,而且是那種很大一片的板子,我們通常稱之為【Big Board】,研發工程師通常會先把他想要驗證的想法或是無法決定的設計擺在這種板子上面。所以這種設計通常是硬體電路的工程驗證(verification)、除錯(debug)之用而已


DVT: Design Verification Test (設計驗證測試階段) 
這個階段的機構外殼可能一開始只拿一塊大的樹脂用雷射雕刻所製作出來的樣品(mockup),或是用軟模具所生產出來的產品而已,目的是希望在模具發包真正生產前,用來驗證機構外殼的設計是否符合需求。
這個階段要驗證整機的功能,重點是把設計及製造的問題找出來,以確保所有的設計都符合規格,而且可以生產。


PVT: Production Verification Test (生產驗證測試階段) 
這個階段的產品設計應該已經全部完成了,所有設計的驗證也必須告一段落。這個階段試產的目的是要做大量生產前的製造流程測試,所以必須要生產一定數量的產品,而且所有的生產程序都要符合製造廠的標準程序。


MP:Mass Production (導入量產階段)



refs: http://www.researchmfg.com/2010/07/evt-dvt-pvt/

[Git] 刪除Branch

1. 刪除local branch
$ git branch -d [branch_name]

2. 刪除local branch(強制)
當branch裡有commit,可能需要-D強制刪除branch
$  git branch -D [branch_name]

3. 刪除remote branch
$ git push origin :[branch_name]

2013年2月27日 星期三

[Android] 調整APP螢幕亮度

以下調整當下activity亮度
與系統的亮度沒有關聯

若要調整系統亮度的寫法
因需要系統權限,app需sign key
則會另開一篇文章分享

//=====================================

螢幕亮度的值為0-255

import android.view.WindowManager;

private void setBrightnessLevel(final int brightness_level) {
 WindowManager.LayoutParams lp = getWindow().getAttributes();
 lp.screenBrightness = Float.valueOf((brightness_level) * (1f / 255f));
 getWindow().setAttributes(lp);
}


[Android] string及R.String在textview的轉換

在Android中,字串可宣告在程式之中
也可宣告在strings.xml成為resource使用

以下範例列出
在使用textview.setText()中,要使用這些字串的方式
並列出若是使用html的效果的方式

分別兩者之中宣告變數
[程式]
private String hello = "Hello World";
private String hello_html = "<b>Hello World</b>";

[String.xml]
<string name="bye">Bye Bye</string>
<string name="bye_html">
<![CDATA[
<b>Bye Bye</b>
 ]]>
</string>

textview1.setText(hello);
textview2.setText(Html.fromHtml(hello_html));

textview3.setText(R.string.bye)
textview4.setText(Html.fromHtml(getString(R.string.bye_html)));



[Android] 讓textview顯示html效果

讓textview顯示html的效果,只要在setText內多加Html.fromHtml()

要使用的html效果可加在宣告string的內容中
也可直接加在Html.fromHtml()之中

private String status_result = "Please press PASS/FAIL button.";

textview_status1.setText(Html.fromHtml(status_result));

textview_status2.setText(Html.fromHtml("Please press PASS/FAIL button."));

textview_status3.setText(Html.fromHtml(getString(R.string.status_result)));

[Android] xml檔註記html的方式

若在strings.xml中,所宣告的string需包含html的格式
前後需夾註
<![CDATA[
]]>

  <![CDATA[
        Please press PASS/FAIL button.
        ]]>