韌館-LearnHouse

Archive for the '程式&軟體' Category

[Android]OTA差分包(Incremental OTA)升級失敗訊息與解法

我們都知道要產生Incremental OTA的方法可以透過下列指令:

$./build/tools/releasetools/ota_from_target_files -v --block -p out/host/linux-x86 -k YOUR_KEY -i target_files-old.zip target_files-new.zip update.zip

其中
-k YOUR_KEY指的是你的KEY路徑,通常是vendor/company/security/releasekey
-i target_files-old.zip是上一次build的target file,產生在./out/target/product/device/obj/PACKAGING/target_files_intermediates下;target_files-new.zip則是這次build的,路徑也是在一樣的地方;update.zip則是要產生的差分包。
紅色的部分是依你的project不同則有不同的名稱。
Read more...

2021年8 月 posted by admin in 程式&軟體 and have No Comments

[Android]監聽螢幕狀態與主動喚醒螢幕

由於需要APP能在Android TV進入sleep mode後還能透過網路被喚醒並播放聲音,經過一陣子的survey,發現可以用以下的方法來達到效果,先用wake lock喚醒螢幕再播放聲音。
首先要加入權限

<uses-permission android:name="android.permission.WAKE_LOCK" />

Read more...

2021年1 月 posted by admin in 程式&軟體 and have No Comments

[Android]透過Parcelable在Activity間傳遞ArrayList物件

Android開發人員都知要傳遞物件給Activity,不能直接寫一個public的function來set資料
而要透過intent來夾帶傳遞的訊息,能傳遞的資料型態又不能是自己定義的object
別說自己定義的了,就連ArrayList,也無法隨意的塞進去intent來傳遞
只能是以下幾種:
Read more...

2020年12 月 posted by admin in 程式&軟體 and have No Comments

[Android]用程式執行adb shell指令

開發APP有時候會遇到想直接用shell指令的方式來執行想要的程式,而不想為了一個功能寫了一堆Java code
透過程式執行shell指令有兩中方式,一種是只要執行,不管執行結果的回覆內容比較簡單,如下:

try {
    Runtime.getRuntime().exec("you shell command");
} catch (Exception e) {
    Log.e("Error: ", e.getMessage());
}

Read more...

2020年7 月 posted by admin in 程式&軟體 and have No Comments

[Android]實現APK靜默安裝(Silent Install)

當初為了達到自動安裝APK,而不會跳出任何訊息,且又不能使用非法的API或Java Reflection。
研究超久,試了網路上好多人的做法,一直無法成功,直到以下的方法才有效達到我想要的效果。
由於是很久以前試出來的,我也忘記出處在哪了,為了預防哪天我寫的的測試程式不小心被我清掉。因此在這裡備份一下程式碼。
Read more...

2020年7 月 posted by admin in 程式&軟體 and have No Comments

[Android]AOSP升級android.support到androidx

Android 9之後已經啟動androidx的library,也就是將來support library將不再maintain了

由於google官網只提供Android studio的升級步驟,對於開發AOSP寫Android.mk的卻都沒有著墨

參考了google在AOSP上的其它APP,整理測試後可依下列步驟修改來進行升級到androidx

Read more...

2020年1 月 posted by admin in 程式&軟體 and have No Comments