韌館-LearnHouse

Archive for the '程式&軟體' Category

[轉]Android.mk常用常數

一樣為了預防好文章之後失連,因此在這備份一下,同時可以參考之前紀錄的-Android.mk的用法和基礎

資料來源:https://blog.csdn.net/syk12138/article/details/120730227

Read more...

2024年6 月 posted by admin in 程式&軟體 and have No Comments

[Android]透過am start並加入參數啟動特定app

由於需要反覆啟動某隻app做一些事情後再關閉,如果用程式來啟動寫法如下,但這樣就會是建構在自己寫的app之上

Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("http://www.xxxx.com/watch/81721411"));
intent.addFlags(Intent.FLAG_INCLUDE_STOPPED_PACKAGES);
intent.setPackage("com.xxxx.yyyy");
startActivity(intent);

Read more...

2024年5 月 posted by admin in 程式&軟體 and have No Comments

[Android]確保APP或Service不被Kill (LowMemoryKiller) 的方法

在講方法前,先來說說一下它的原理,如果沒興趣是也可以直接拉到最下面看作法

Android中的程序是託管的,當系統記憶體資源不足時會發出java.lang.OutOfMemoryError時(即OOM),此時會依照優先順序自動進行程序的回收。 而回收的標準則是透過oom_adj、oom_score、oom_score_adj的值來決定

  • oom_score: kernel根據oom_score_adj值,結合該處理程序使用的記憶體量算出的值,後面無論是oom killer還是lmkd都是根據這個值來決定殺哪些處理程序的。
  • oom_score_adj: 取值為-1000---1000,如果賦值為-1000將關閉oom killer對他的管理(如init、surfaceflinger等native 處理程序)。它和oom_adj都是kernel留給使用者空間更改處理程序被殺優先順序的介面

Android將程序分為不同等級,它們依優先順序由高到低依序是:

Read more...

2024年3 月 posted by admin in 程式&軟體 and have No Comments

[Android]如何在APP透過USB OTA zip實作AB update

由於一開始是在trace原生的AOSP在recovery mode下是如何透過USB更新,因此這裡還是會紀錄一下native下是如何進行的,然後再說如何使用UpdateEngine這個Java layer的API來實作。

Read more...

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

執行CTS一直遇到 AAPT_PARSER_FAILED

運行CTS會發現有些測項會出現類似以下的error message:

Early failure resulting in no testRunStart. Results might be inconsistent:
com.android.tradefed.targetprep.TargetSetupError[AAPT_PARSER_FAILED|520050|DEPENDENCY_ISSUE]: AaptParser failed for file CtsContentTestCases.apk. The APK won't be installed [XXXX AA]

代表你的aapt2版本太舊,需要到官網下載最新版本取代
https://maven.google.com/web/index.html#com.android.tools.build:aapt2
Read more...

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

[轉][Android]兩個APP如何實作IPC呼叫

資料來源:https://givemepass.blogspot.com/2015/11/aidl_27.html

為了預防哪天該網站的重要資料失聯,因此在這裡備份一下,以下為該網誌的內容:

如果想要透過另外一個Process幫你執行程式, 你可以利用AIDL去跟Process溝通,
如何使用AIDL中有簡單介紹一下AIDL,
但是其實有很多細節並沒有說明, 所以這邊來實作非同步的範例。
更多的AIDL可以參考[官網]。

Read more...
2022年11 月 posted by admin in 程式&軟體 and have No Comments