windowsandroid源碼編譯
再電腦上查看android源碼,需要搭建android開發環境:
1、jdk下載並安裝
2、Eclipse編譯器下載安裝,並安裝ADT插件和android SDK
待編譯環境搭建完成,導入android工程源碼,就可以順利打開了!
2. 如何在linux下編譯windows版android sdk-czxttkl
1.下好Android源碼
2.在Terminal中輸入:$ sudo apt-get install mingw32
tofrodos
mingw32是一個交叉編譯器,
tofrodos用於unix和dos之間命令轉換
映像中交叉編譯器的定義是能跨平台編譯某些代碼所需要的東西.
其他的還得仔細研究
3. 先編譯好默認的android平台和linux版的sdk,在Terminal中跳轉到android源碼目錄,輸入:
$
. build/envsetup.sh
$ lunch full-eng
$
make
$
. build/envsetup.sh
$ lunch sdk-eng
$ make
sdk
若不先編譯android默認的平台和linux版的sdk,很可能產生不可預知的錯誤,例如:
Error:
Install:
out/host/windows-x86/bin/sdklauncher.exe
make[1]: *** No rule to make
target out/host/linux-x86/bin/emugen,
needed
by
`out/host/windows-x86/obj/STATIC_LIBRARIES/
lib_renderControl_dec_intermediates/renderControl_dec.cpp'.
Stop.
make[1]: Leaving directory
make: *** [winsdk-tools] Error
2
4.正式開始編譯windows版的android
sdk。在Terminal中跳轉到android源碼目錄,輸入:
$ . build/envsetup.sh
$ lunch
sdk-eng
$
make win_sdk
5.最後生成的sdk位於:
ANDROID_SOURCE_ROOT/out/host/windows/sdk
3. vlc for android 源碼能不能在windows環境下編譯
1. 准備編譯環境
基本上按照這篇wiki的介紹就足夠了,為了順利完成編譯,建議首先保證相關的軟體或者依賴庫都已經下載好了,我再強調一下幾個重點注意事項。
(1) Android SDK:必須使用SDK Platform Android 5.0, API 21,因為VLC-for-android用到了Android 5.0 的一些API。
(2) 最好通過apt-get install 把下面這些依賴的軟體都安裝一遍,或更新到最新版
git,apache-ant (or ant), autoconf, automake, autopoint, cmake,
gawk (or nawk), gcc, g++, libtool, m4, patch, pkg-config, ragel,
subversion, unzip.
2. 下載源碼包
直接通過git下載VLC-for-android最新的源碼即可:
git clone git://git.videolan.org/vlc-ports/android.git
3. 編譯VLC源碼和VLC Android工程
(1) 配置編譯環境變數
具體參考wiki的介紹,你可以寫個shell腳本來執行,避免每次編譯都要配置,下面是我的環境變數,可以根據你的路徑修改:
#! /bin/sh
export ANDROID_SDK=/opt/android/sdk/
export ANDROID_NDK=/opt/android/android-ndk-r10/
export ANT_DIR=/opt/android/ant/
export PATH=$PATH:$ANDROID_SDK/platform-tools:$ANDROID_SDK/tools:$ANT_DIR
export ANDROID_ABI=armeabi-v7a
(2) 執行編譯
sh compile.sh
VLC不愧是使用這么廣泛的播放器,它的編譯腳本寫得非常強大和智能,直接通過執行compile.sh,它會自動check所有的依賴,並通過網路去下載缺失的庫。
首先,它會下載vlc的源碼,並存放在當前目錄下。然後去下載依賴的第三方庫文件。
當然,由於GFW的存在,有的時候下載會失敗,這個時候,就需要你手動去Google搜索它正在下載的依賴文件,手動下載好了之後放到 vlc/contrib/tarballs目錄下,然後再回到命令行重新執行 sh compile.sh
它依賴的全部第三方庫文件如圖所示:
(3) 編譯問題
編譯過程還算順利,只出現過一個大問題,如下:
google/protobuf/unittest.proto:853:21: Missing field number.
google/protobuf/unittest.proto:862:1: Reached end of input in message definition (missing '}').
make[3]: *** [unittest_proto_middleman] Error 1
網上也搜不到解決方案,我看了下GitHub上Protobuf的Readme,然後下載了最新的protobuf放到vlc/contrib
/tarballs/contrib-android-arm-linux-androideabi/protobuf目錄下,執行.
/configure --disable-shared,再編譯,沒想到就直接過了。
4. 載入VLC-For-Android的Java工程
編譯通過後,就可以直接在vlc-android/bin目錄下看到debug版的apk了,下面簡單說說在Eclipse中載入vlc-android的整個工程。
打開Eclipse,選擇Import,把vlc-for-android目錄下所有的工程到導入到Eclipse中(我去掉了TV工程),如圖所
示,有5個必須的工程,其中,VLC是主工程,其他四個都是Lib工程。沒有什麼意外的話,直接運行VLC工程,就可以在Android手機上看到VLC
播放器應用了!
4. android development 怎麼編譯
很多開發者可能下載後編譯的Android SDK是Linxu下使用的,如何編譯Windows下的Android SDK呢? 這里Android123總結如下:
1. 首先必須在Linux下執行完源碼下載,就是reop sync後,首先做一次完整編譯,執行make,然後編譯Linux下的SDK,執行make sdk即可,在這之前的操作,可以參考 Android源碼編譯相關問題匯總
2. 這時候在生成out目錄下的內容考回到Windows下,如果你用虛擬機這一步只需要拖動操作即可,比較簡單。
3. 下載Cygwin,Android開發網提示安裝時記住選擇Unix/binary而不是DOS/text國內的很多文章均寫錯了,不然無法正確編譯,這在Android官方的howto_build_SDK.txt中寫的很詳細,具體為When installing Cygwin, set Default Text File Type to Unix/binary, not DOS/text. This is really important, otherwise you will get errors when trying to checkout code using git
4. 安裝Cygwin需要下載的包有 autoconf, bison, curl, flex, gcc, g++, git, gnupg, make, mingw-zlib, python, zip, unzip,建議安裝 diffutils, emacs, openssh, rsync, vim, wget ,不要安裝readline。
5. 然後在Windows下將從Linux從預編譯生成的zip一般名為android-sdk_eng.[你電腦的名稱]_linux-x86.zip文件找出來,這是Linux下的SDK。
6. 按照howto_build_SDK.txt的步驟,其中最後一步為development/build/tools/make_windows_sdk.sh /path/to/macos/or/linux/sdk.zip ~/mysdk、
最後Android123提示大家,make_windows_sdk.sh是你在Linux下development/build/tools/才有的。