vlc源碼分析(一) vlc-android native調試配置

來源:互聯網
上載者:User

標籤:lan   UI   if判斷   版本   clone   rect   顯示   debugger   .sh   

http://www.cnblogs.com/jiayayao/p/6770479.html

 

1, 按照官網給出的連結,git clone代碼,配置好android sdk,ndk...後運行compile.sh;

2, 出現一個protobuf相關的問題(貌似要求protobuf3),自己去網站下載後安裝,即可編譯通過;

3, 還是找個能上外網的,或者能FQ的帳號吧,編譯過程中會下載好多與google相關的軟體,為了避免出現意想不到的錯誤,你懂的;

4, 配置vlc-android:點擊Edit configurations->Debugger->Debugger type,選Hybrid(或者有的顯示為Dual),Symbol Directories選擇vlc-android/libvlc/jni/obj/local/armeabi-v7a/;

  前4步就可以斷到native的地方了,但是makefile中有最佳化,不能正常debug,關掉最佳化有兩個地方需要注意:

1, vlc目錄下的contrib用的是第三方庫,但是修改第三方庫(如關閉live555的最佳化),android studio中的Build APK操作是不會重新編譯live555,然後使用新版本的live555的,這裡需要你手動make,並且手動將產生的.a檔案拷貝到vlc-android/vlc/contrib/arm-linux-androideabi/lib/目錄下,因為這個目錄才是vlc-android拿出來編譯libvlc.so檔案時用到的;

2,  libvlc工程封裝了vlc工程(compile.sh時下載的)為libvlc.so,vlc工程編譯後產生的檔案放在vlc-android/vlc/build-android-arm-linux-androideabi檔案夾下,vlc-android這麼做應該是為了源碼的整潔考慮。當添加了vlc工程的關閉最佳化操作(--enable-debug, --disable-optim等等,自己看makefile),並重新運行Build APK(實際執行的是compile-libvlc.sh)後,發現vlc-android/vlc/build-android-arm-linux-androideabi檔案夾下的makefile並沒有生效(仍然是-O2),仔細閱讀發現compile-libvlc.sh在configure vlc工程時,加了if判斷。所以暫時把if判斷去掉,執行Build APK後,再加上,因為不加上的話每次都會重新configure,make等,非常耗時。這樣操作後,vlc-android/vlc/build-android-arm-linux-androideabi檔案夾下的makefile已經變成O0了,這樣就可以正常native調試了。

 

vlc源碼分析(一) vlc-android native調試配置

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.