2 回答

TA貢獻1807條經驗 獲得超9個贊
// 那要怎么生成Linux平臺的c/c+的dll給java調用 ?
dll文件是對于Windows平臺的文件,在Linux中是用so文件。 生成so文件,需要下載android的NDK開發庫。
在AndroidStudio創建一個新項目時,勾選NDK支持就好了。默認的會產生一個能生成so文件的項目。
記得在AndroidStudio里面配置一下NDK的路徑,后者直接通過Androidstudio下載一個也行。

TA貢獻1998條經驗 獲得超6個贊
android平臺沒有“dll”,dll是windows平臺才有的。linux下類似的是 so。不建議在android上使用原生的代碼和直接使用socket。和pc機不同,100%的pc機都使用和x86兼容的cpu硬件。
但是在android上,不同的設備使用的cpu是完全不同的。比如有intel x86的cpu,有arm的cpu,有arm 64的cpu,還有定制的cpu,聯發科的那種,還有mips的cpu……如果你使用原生的代碼,必須針對碎片化的硬件設備和環境做適配,除非你是硬件生產廠家預裝特定的應用,否則你會遇到前所未有的麻煩。雖然你會看到有很多使用jni去調用 so的案例,但是對于軟件開發者(isv)來說,基本上都是在調用系統庫(類似windows下的開發者調用win32 api)。
至于socket,大部分設備的權限、網絡環境和節能要求都不允許你這么做。android和windows平臺的編程模型有很大的不同,后臺的應用被設計為掛起而不是繼續運行的。而你應該不想設計一種切換到后臺就收不到數據的應用吧。
總之,你應該去學習這個平臺的基礎知識,而不是把pc程序移植上去。
- 2 回答
- 0 關注
- 499 瀏覽
添加回答
舉報