windows編譯android
1. 在Windows平台下怎麼編譯boost 1.57 for android
這里是使用NDK進行編譯boost的但肯定對我有用吧。。經過一番折騰終於編譯成功,,高興,呵呵! 轉載
下面將主要的過程記錄下來:
1、下載boost 源碼:
Boost for Android
Boost for android is a set of tools to compile the main part of the Boost C++ Libraries for the Android platform.
Currently supported boost versions are 1.45.0, 1.48.0 and 1.49.0.
因此下載最新的 1.49 版本,下載完成後進行打補丁
2、下載補丁代碼
boost-1_49_0
3、打補丁代碼
boost_1_49_0.tar.bz2 放在android的 external 下解壓:
tar -xjvf external/boost_1_49_0.tar.bz2
將boost-1_49_0.patch放在external\boost_1_49_0下面根目錄執行:
patch -Np1 -d external/boost_1_49_0 < external/boost_1_49_0/boost-1_49_0.patch
4、編寫boost的makefile文件,即Android.mk
LOCAL_PATH:= $(call my-dir)
common_SRC_FILES := \
libs/thread/src/pthread/thread.cpp \
libs/thread/src/pthread/once.cpp \
common_SRC_FILES += \
libs/filesystem/v3/src/codecvt_error_category.cpp \
libs/filesystem/v3/src/operations.cpp \
libs/filesystem/v3/src/path.cpp \
libs/filesystem/v3/src/path_traits.cpp \
libs/filesystem/v3/src/portability.cpp \
libs/filesystem/v3/src/utf8_codecvt_facet.cpp \
libs/system/src/error_code.cpp \
libs/system/src/local_free_on_destruction \
include $(CLEAR_VARS)
LOCAL_MODULE:= libboost
LOCAL_SRC_FILES := $(common_SRC_FILES)
prebuilt_stdcxx_PATH := prebuilts/ndk/current/sources/cxx-stl/gnu-libstdc++
LOCAL_C_INCLUDES := \
$(LOCAL_PATH)/boost \
$(prebuilt_stdcxx_PATH)/include \
$(prebuilt_stdcxx_PATH)/libs/$(TARGET_CPU_ABI)/include/ \
LOCAL_C_INCLUDES += \
$(prebuilt_stdcxx_PATH)/include \
$(prebuilt_stdcxx_PATH)/libs/$(TARGET_CPU_ABI)/include/ \
$(prebuilt_supccxx_PATH)/include
LOCAL_CFLAGS += -fvisibility=hidden -lpthread
LOCAL_CPPFLAGS += -fexceptions -frtti
LOCAL_SHARED_LIBRARIES := libc libstdc++ libstlport
LOCAL_LDFLAGS += -L$(prebuilt_stdcxx_PATH)/libs/$(TARGET_CPU_ABI) -lgnustl_static -lsupc++
LOCAL_MODULE_TAGS := optional
include $(BUILD_SHARED_LIBRARY)
比較重要的是上面 紅色 部分文字
最後編譯生成:
target thumb C++: libboost <= external/boost_1_49_0/libs/thread/src/pthread/thread.cpp
target thumb C++: libboost <= external/boost_1_49_0/libs/thread/src/pthread/once.cpp
target thumb C++: libboost <= external/boost_1_49_0/libs/filesystem/v3/src/codecvt_error_category.cpp
target thumb C++: libboost <= external/boost_1_49_0/libs/filesystem/v3/src/operations.cpp
target thumb C++: libboost <= external/boost_1_49_0/libs/filesystem/v3/src/path.cpp
target thumb C++: libboost <= external/boost_1_49_0/libs/filesystem/v3/src/path_traits.cpp
target thumb C++: libboost <= external/boost_1_49_0/libs/filesystem/v3/src/portability.cpp
target thumb C++: libboost <= external/boost_1_49_0/libs/filesystem/v3/src/utf8_codecvt_facet.cpp
target thumb C++: libboost <= external/boost_1_49_0/libs/system/src/error_code.cpp
target SharedLib: libboost (out/target/proct/godbox/obj/SHARED_LIBRARIES/libboost_intermediates/LINKED/libboost.so)
target Symbolic: libboost (out/target/proct/godbox/symbols/system/lib/libboost.so)
target Strip: libboost (out/target/proct/godbox/obj/lib/libboost.so)
Install: out/target/proct/godbox/system/lib/libboost.so
成功生成 libboost.so 庫
2. 在windows環境中怎麼編譯qt for android
1.下載安裝Qt 5.1.0 for Android (Windows 32-bit, 716 MB) 2.打開Qt Creator,打開幫助,輸入android,找到官方說明,按照教程一步步的操作。 3.首先需要下載以下四個軟體: 1)The Android SDK Tools 下載安裝 2)The Android NDK 下載並解壓,注意不能有空格 3)Apache Ant v1.8 or later 下載並解壓,同上 4)OpenJDK v6 or later 下載並解壓 4.打開Qt Creator,選擇工具-選項-android,配置好剛剛安裝的文件路徑,並首答差點擊舉橘【啟動android AVD管理器】 5.點擊 New 新建一個android模擬器,根據自己需要選擇Device 6.點擊ok-ok,並選擇剛剛建立的設備,點擊Start啟動,此過程比較慢,耐心等待。 7.重啟Qt Creator 已經可以看到有設備了,我們檢查 構建和運行 中 構建套件和Qt版本是否正確,確認無誤接下來就可以建立工程 8.新建一個Qt gui項者皮目,選擇android for arm 9.修改代碼,顯示hello Qt #ifndef MAINWINDOW_H #define MAINWINDOW_H #include <QMainWindow> #include <QLabel> class MainWindow : public QMainWindow { Q_OBJECT private: QLabel *label; public: MainWindow(QWidget *parent = 0); ~MainWindow(); }; #endif // MAINWINDOW_H #include "mainwindow.h" MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent) { label=new QLabel("hello Qt",this); label->setGeometry(10,10,100,30); } MainWindow::~MainWindow() { } 10.直接點擊 構建 查看能不能正常編譯,如果此間報錯,可以留言,盡力為大家解決。一切正常的話直接點擊運行,此過程較慢,會編譯成apk文件並且部署到模擬器上。
3. windows下如何編譯android源碼
如果沒記錯,windows下是沒法編譯android框架源代碼的
因為android是基於linux平台的,因此底層的很多東西都是基於linux系統的
如果只是單純的android應用程序,則可以在windows下開發編譯
只需要用Eclipse的adt插件加上windows下開發的Android SDK就行了。
4. android系統如何在windows下編譯
目前官網不提供在windows下對android的支持,只提供對linux/mac(類UNIX)的支持,可參考 http://source.android.com/source/download.html
android基於linux 內核,對其相關編譯和連接環境有依賴。建議在windows上安裝虛擬機,安裝linux來編譯。
5. 在Windows下CodeBlocks能編譯Android下的.so和.a嗎
用CodeBlocks編譯Android的exe文件,可以正常運行,就是斷點很奇怪,選中某個斷點,程序運行到那會停住 ,但是斷點的文件胡正粗卻沒有黃色的箭頭,就是不能看變數值。
加上-fPIC -shared標志編譯控制台應用程序,然後把產生的文件名改成.so就可以了。
對於樓清燃上的,其實我不是很了解Android,我只知道我用CodeBlocks編譯出的是16位的exe文件的控制台文件,在虛擬褲鎮機上可以運行,現在也可以斷點。
我主要也是在windows下寫一些庫,然後可以很方便的移到別的平台,有了CodeBlocks,我可以不需要重新建工程,可以直接編譯這些庫。
6. 如何在windows下編譯android系統
目前官網不提供在windows下對android的支持,只提供對linux/mac(類UNIX)的支持,可參考 http://source.android.com/source/download.html
android基於linux 內核,對其相關編譯和連接環境有依賴。建議在windows上安裝虛擬機,安裝linux來編譯。
7. windows下如何編譯自己寫的android源碼
再電腦上查看android源碼,需要搭建android開發環境:
1、jdk下載並安裝
2、Eclipse編譯器下載安裝,並安裝ADT插件和android SDK
待編譯環境搭建完成,導入android工程源碼,就可以順利打開了!
8. 如何編譯boot和android
1. 執行:apt-get install mingw32安裝了linux-windows交叉編譯環境mingwin 2. 執行:. build/envsetup.sh 3. 執行choosecombo,選擇各個參數 這兩步設置了一些編譯參數和環境變數,按照你正常編譯Android的設置即可。 4. 執行:make USE_MINGW=y adb 5. 執行:make USE_MINGW=y fastboot 最後到out/host/windows-x86/bin目錄下就能找到你剛剛編譯的東西了。
9. 如何編譯Windows平台的Android SDK
如果沒記錯,windows下是沒法編譯棗吵android框架源代碼的段顫
因為android是基於linux平台凳燃侍的,因此底層的很多東西都是基於linux系統的
如果只是單純的android應用程序,則可以在windows下開發編譯
只需要用Eclipse的adt插件加上windows下開發的Android SDK就行了。
10. 在Windows下CodeBlocks能編譯Android下的.so和.a嗎
可以使用的。解析:首先Android就是Linux內核。android應用程序開發環境:包括eclipse、java、androidsdk、adt等。安裝android-ndk開發包,這個開發包可以在googleandroid官網下載:通過這個開發包的工具才能將androidjni的C/C++的代碼編譯成庫android的NDK開發需要在linux下進行:因為需要把C/C++編寫的代碼生成能在arm上運行的.so文件,這就需要用到交叉編譯環境,而交叉編譯需要在linux系統下才能完成。備註:NDK編譯步驟:1.選擇ndk自帶的例子hello-jni,位於E:\android-ndk-r5\samples\hello-jni(根據具體的安裝位置而定)。2.運行cygwin,輸入命令cd/cygdrive/e/android-ndk-r5/samples/hello-jni,進入到E:\android-ndk-r5\samples\hello-jni目錄。3.輸入$NDK/ndk-build,執行成功後,它會自動生成一個libs目錄,把編譯生成的.so文件放在裡面。($NDK是調用我們之前配置好的環境變數,ndk-build是調用ndk的編譯程序)4.此時去hello-jni的libs目錄下看有沒有生成的.so文件,如果有,ndk就運行正常了。