是否可以為您自己的 Android 應(yīng)用程序中沒有源代碼的本機(jī)庫編寫代碼?例如 - RarLab的 android 應(yīng)用程序帶有一個(gè)librarlab_rar.so用于至少 4 個(gè)不同平臺的本機(jī)庫。假設(shè)我這樣做是為了實(shí)驗(yàn),版權(quán)不是問題,而且我不打算在外部分發(fā)該應(yīng)用程序,是否可以編譯一個(gè)基于 Java/Kotlin android 的應(yīng)用程序,只在 android 開發(fā)中包含本機(jī)二進(jìn)制文件Android Studio 或 Eclipse 等工具?
2 回答

慕村225694
TA貢獻(xiàn)1880條經(jīng)驗(yàn) 獲得超4個(gè)贊
您需要反匯編二進(jìn)制.so
文件并自己制定 API。這個(gè)過程稱為逆向工程。
弄清楚如何調(diào)用文件后.so
,您就可以編寫自己的 API 版本,然后可以從 Java/Kotlin 調(diào)用它。

猛跑小豬
TA貢獻(xiàn)1858條經(jīng)驗(yàn) 獲得超8個(gè)贊
lib….so
您放在應(yīng)用程序文件夾下的任何文件jniLibs/$(ABI)
都會(huì)自動(dòng)打包到 APK 并解壓到設(shè)備(前提是ABI匹配)。您可能需要為這些庫編寫您自己的 Java 包裝器,或者從同一個(gè)應(yīng)用程序中重用您需要的 Java 類。
添加回答
舉報(bào)
0/150
提交
取消