標籤: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調試配置