Linux系统编译Win32版本adb

源码版本:android 7.0

步骤1:source build/envsetup.sh

步骤2:lunch

步骤3:选择编译设备目标

步骤4:make adb USE_MINGW=y

 

下面是应对编译失败的对策:

错误:没有规则创建AdbWinApi.a

很奇葩的一个错误,即使手动拷贝至

out/host/windows-x86/obj32/STATIC_LIBRARIES/AdbWinApi_intermediates

也是无解

只好自己手动写Makefile,使用android源码里面的mingw工具链来编译了

1. 将out/host/windows-x86/obj32/STATIC_LIBRARIES/里面的静态库拷贝出来备用

2.书写makefile

 1 all:adb
 2 
 3 CXX := android_source/prebuilts/gcc/linux-x86/host/x86_64-w64-mingw32-4.8/bin/x86_64-w64-mingw32-g++ -m32
 4 STRIP := android_source/prebuilts/gcc/linux-x86/host/x86_64-w64-mingw32-4.8/bin/x86_64-w64-mingw32-strip
 5 adb_version := edd2a148a60c-android
 6 CFLAGS := \
 7     -Wall -Werror \
 8     -Wno-unused-parameter \
 9     -DADB_REVISION='"$(adb_version)"' \
10     -D_GNU_SOURCE \
11     -DADB_HOST=1 \
12     -DHAVE_WINSOCK=1 \
13     -std=c++11
14 INCLUDES := -I../include -I../base/include -Iandroid_source/development/host/windows/usb/api
15 LDLIBS := -L./lib -ladb -lbase -lcrypto_static -lcutils -llog -lAdbWinApi -lws2_32 -lgdi32 
16 
17 adb:adb_main.o console.o commandline.o adb_client.o services.o file_sync_client.o \
18         usb_windows.o sysdeps_win32.o get_my_path_windows.o
19     ${CXX} $^ -o $@ ${LDLIBS}
20     ${STRIP} $@
21     cp -f $@ $@.exe
22 
23 %.o:%.cpp
24     ${CXX} $< -c -o $@ ${INCLUDES} ${CFLAGS} 
25 
26 .PHONY:clean
27 clean:
28     rm -rf *.o

其中的lib文件夹保存的是上一步备用的静态库文件

android_source是android的源码目录,需要使用全路径

3. cd到adb所在目录执行

    cd android_source/system/core/adb

    make adb

转载于:https://www.cnblogs.com/jojodru/p/6430379.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值