[問題] 如何從native拉出android sdk未支援的功

作者: Pavement ( 行人道 )   2021-02-23 19:43:23
最近有一個需求 目標是在android 11+做出自己的audio effect 需要可以從app端控制 可以跟OEM合作達成
原先的方法是直接從 jni link system/lib/libaudioclient.so來new AudioEffect(...) 這條路最近被Google擋掉了 從app端已經不能直接用system lib
現在想到兩條路可以走
1. 從native做出一個adaptor service 想辦法讓這個service可以直接存取libaudioclient.so 又可以被JNI連接到 問題是不知道可不可行
2. AudioEffect.java提供了base class給其他內建effect延伸(bassboost/eq/...)。我也可以做一個MyAudioEffect.java。但是這似乎會被build進sdk裡?
根據我粗淺的了解,Google希望我們只用到SDK或NDK的介面,但是OEM被允許在不破壞CTS的前提下做出自己的介面來支援進階功能。
假如跟OEM合作的話,請問哪條路是可行的呢?
另外,能否對我這需求推薦相關學習資源?書籍網頁甚至課程都可以。
感謝
作者: smalldra (ha。)   2021-02-23 21:54:00
直接叫oem拉framework接上
作者: ketrobo (貓蘿蔔)   2021-02-23 22:16:00
今天剛好看到12beta的 Non-SDK interface restrictions,後面有一頁解釋測試的方式,其中有寫如果找不到替代的方法,可以提出理由申請新開放API
作者: Pavement ( 行人道 )   2021-02-24 13:01:00
一樓 可以請教一下有沒有參考文件嗎?因為OEM也不會用這個二樓 那個我也有看到 可是我們沒有要做公開的API
作者: okgogogo ( )   2021-02-25 19:47:00
VNDK串到FWK,更新ABI,把新的sdk給客戶

Links booklink

Contact Us: admin [ a t ] ucptt.com