1 Star 0 Fork 1

defeng2020/wdf

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
gen_ohos_ndk.sh 5.93 KB
一键复制 编辑 原始数据 按行查看 历史
defeng2020 提交于 2022-07-28 09:33 +08:00 . webndk
#!/bin/bash
##sourcedir="/home/00code/harmony_L2_only"
echo "all parameters: "$@
if [ ! -n "$1" ]; then
echo "please input harmony code path param:"
echo " usage: ./gen_ohos_ndk.sh /home/00code/harmony_L2_only"
exit
elif [ ! -f "$1/build.sh" ]; then
echo "please input correct harmony code path!"
exit
elif [ ! -d "$1/out" ]; then
echo "please build harmony code first!"
exit
fi
curdir=`pwd`
sourcedir=$1
target_includes_dir="includes"
if [ -z "$2" ]; then
echo "please input valid product type"
exit
fi
if [ "$2" == "wgr" ]; then
sourcedir_libs=$sourcedir/out/ohos-arm-release/packages/phone/system/lib
targetdir="src/ohos_ndk_aosp"
target_libs_dir="libs"
elif [ "$2" == "wgr_64" ]; then
sourcedir_libs=$sourcedir/out/ohos-arm64-release/packages/phone/system/lib64
targetdir="src/ohos_ndk_aosp"
target_libs_dir="libs64"
elif [ "$2" == "rk3568" ]; then
sourcedir_libs=$sourcedir/out/rk3568/packages/phone/system/lib
targetdir="src/ohos_ndk"
target_libs_dir="libs"
elif [ "$2" == "rk3568_64" ]; then
sourcedir_libs=$sourcedir/out/rk3568/packages/phone/system/lib64
targetdir="src/ohos_ndk"
target_libs_dir="libs64"
else
echo "please input valid procduct type"
echo " usage: ./gen_ohos_ndk.sh /home/00code/harmony_L2_only wgr"
exit
fi
echo "sourcedir_libs: $sourcedir_libs"
echo "target_libs_dir: $target_libs_dir"
echo "curdir: $curdir, hormony source dir: $sourcedir"
#if [ ! -d $targetdir ]; then
# mkdir $targetdir
#else
# rm -rf $targetdir/*
#fi
#
## toolchains
#src_llvm_dir="prebuilts/clang/host/linux-x86/clang-r353983c"
#target_llvm_dir="toolchains/"
#echo "copy llvm toolchains from $sourcedir/$src_llvm_dir to $targetdir/$target_llvm_dir"
#mkdir -p $targetdir/$target_llvm_dir
#cp -r $sourcedir/$src_llvm_dir $targetdir/$target_llvm_dir/
#
## ndk
#src_ndk_dir="prebuilts/aosp_prebuilt_libs"
#target_ndk_dir="aosp_prebuilt_libs/"
#echo "copy ndk from $sourcedir/$src_ndk_dir to $targetdir/$target_ndk_dir"
#cp -r $sourcedir/$src_ndk_dir $targetdir/$target_ndk_dir/
#
## gcc
#src_gcc_dir="prebuilts/gcc"
#target_gcc_dir="gcc/"
#echo "copy ndk from $sourcedir/$src_gcc_dir to $targetdir/$target_gcc_dir"
#cp -r $sourcedir/$src_gcc_dir $targetdir/$target_gcc_dir/
# ohos includes and libs
declare -A src_ohos_includes=(
["hilog"]="base/hiviewdfx/hilog/interfaces/native/innerkits/include/hilog"
["inputmethod_controller"]="base/miscservices/inputmethod/frameworks/inputmethod_controller/include"
["inputmethod_ability"]="base/miscservices/inputmethod/frameworks/inputmethod_ability/include"
["ipc_core"]="foundation/communication/ipc/interfaces/innerkits/ipc_core/include"
["inputmethod_services"]="base/miscservices/inputmethod/services/include"
["utils"]="utils/native/base/include"
["libeventhandler"]="base/notification/eventhandler/interfaces/inner_api"
["common"]="foundation/graphic/graphic_2d/interfaces/inner_api/common"
["display"]="drivers/peripheral/display/interfaces/include"
["graphic_util"]="foundation/graphic/graphic_2d/utils/buffer_handle/export"
["media"]="foundation/multimedia/media_standard/interfaces/inner_api/native"
["peripheral"]="drivers/peripheral/base"
["surface"]="foundation/graphic/graphic_2d/interfaces/inner_api/surface"
["multimodalinput"]="foundation/multimodalinput/input/interfaces/native/innerkits/event/include"
["location"]="base/location/interfaces/inner_api/include"
["location_utils"]="base/location/interfaces/inner_api/include"
["location_callback"]="base/location/services/location_locator/callback/include"
["location_request_config"]="base/location/interfaces/inner_api/include"
["system_ability"]="foundation/distributedschedule/samgr/interfaces/innerkits/samgr_proxy/include/"
["accesstoken"]="base/security/access_token/interfaces/innerkits/accesstoken/include/"
["aafwk"]="foundation/aafwk/standard/ability_base/interfaces/inner_api"
["json"]="third_party/json/include/"
["appexecfwk"]="foundation/bundlemanager/bundle_framework/interfaces/inner_api/appexecfwk_base/include"
["ohos_adapter"]="base/web/webview/ohos_adapter/interfaces"
["hitrace_meter"]="base/hiviewdfx/hitrace/interfaces/native/innerkits/include/hitrace_meter"
["soc_perf"]="foundation/resourceschedule/resource_schedule_service/soc_perf/include"
["safwk_service"]="foundation/distributedschedule/safwk/services/safwk/include"
)
src_ohos_libs=(
libhilog.so
libinputmethod_client.z.so
libipc_core.z.so
libinputmethod_ability.z.so
libutils.z.so
libeventhandler.z.so
libmedia_client.z.so
libsurface.z.so
liblocator_sdk.z.so
liblbsservice_common.z.so
libaccesstoken_sdk.z.so
libapp_manager.z.so
libbase.z.so
libwant.z.so
libappexecfwk_common.z.so
libappexecfwk_base.z.so
libsamgr_proxy.z.so
libnweb_ohos_adapter.z.so
libhitrace_meter.so
libsocperf_client.z.so
)
rm -rf $targetdir/$target_includes_dir/*
rm -rf $targetdir/$target_libs_dir/*
mkdir $targetdir/$target_includes_dir
mkdir $targetdir/$target_libs_dir
for inc_dir in "${!src_ohos_includes[@]}"; do
echo "copy includes form $sourcedir/${src_ohos_includes[$inc_dir]} to $targetdir/$target_includes_dir/$inc_dir"
cp -r $sourcedir/${src_ohos_includes[$inc_dir]} $targetdir/$target_includes_dir/$inc_dir
done
for lib in ${src_ohos_libs[*]}; do
echo "copy lib form $sourcedir_libs/$lib to $targetdir/$target_libs_dir"
cp $sourcedir_libs/$lib $targetdir/$target_libs_dir/
done
echo "make ohos ndk success! plase enter $targetdir to check!"
echo "should modify some ndk file for build chromium issue if use aosp ndk: __ANDROID__"
echo " 1. toolchains/clang-r353983c/include/c++/v1/support/android/locale_bionic.h:29"
echo " 2. aosp_prebuilt_libs\asdk_libs\ndk\libcxx\include\support\android\locale_bionic.h"
echo " 3. toolchains\clang-r353983c\include\c++\v1\iterator"
echo " template <class _Tp> struct __is_cpp17_contiguous_iterator : public false_type {};"
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/defeng2020/wdf.git
git@gitee.com:defeng2020/wdf.git
defeng2020
wdf
wdf
master

搜索帮助