亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

新手 , Android 的一些問題

新手 , Android 的一些問題

BIG陽 2018-10-10 10:10:12
Android 的socket 是用Java的socket嗎 ?還有安卓系統是Linux之上的,那如果Android底層使用c/c++,是不是要用Linux平臺的c/c+的函數,那要怎么生成Linux平臺的c/c+的dll給java調用
查看完整描述

2 回答

?
函數式編程

TA貢獻1807條經驗 獲得超9個贊

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

查看完整回答
反對 回復 2018-11-03
?
米琪卡哇伊

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程序移植上去。

查看完整回答
反對 回復 2018-11-03
  • 2 回答
  • 0 關注
  • 499 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號