The method of importing modules separately in Android source code

The method of importing modules separately in the source code:

1. First create a directory of your own module in the directory of the same level as the source code

2. Put the script file import.sh in this directory

3. Run the script file

4. Use studio to import the created folder

The following is the specific content of import.sh

SOURCE_TOP_DIR=/mnt/admn/tianyajun/8.1-A14
CURRENT_DIR=`pwd`

unset ez_LinkDir
ez_LinkDir = (\
    #".git" \
    "frameworks/base/core" \
   "frameworks/base/media" \
    #"frameworks/av" \
    #"frameworks/ex" \
    "frameworks/support" \
   "frameworks/base/packages/SystemUI" \
   "frameworks/base/packages/Keyguard" \
   "frameworks/base/services/core" \
   "frameworks/base/telephony" \
   "frameworks/base/packages/SettingsLib" \
   "frameworks/base/packages/SettingsProvider" \
    "frameworks/opt/telephony" \
    "frameworks/opt/net/wifi" \
    #"frameworks/opt/bluetooth" \
    "packages/apps/Settings" \
    #"packages/apps/FMRadio" \
    #"packages/apps/Camera2" \
    #"packages/apps/Gallery2" \
    #"packages/apps/Launcher3" \
    #"packages/apps/AudioProfile" \
    #"packages/apps/Music" \
   #"packages/apps/MusicFX" \
    #"packages/apps/MobileManager" \
    "packages/apps/CountrySelect" \
    #"packages/services/Telecomm" \
   vendor/sprd/plugins/frameworks/base/packages \
   vendor/sprd/feature_configs/base/overlay/frameworks/base \
   vendor/sprd/platform/frameworks/base \
    "vendor/sprd/platform/packages/apps/ScreenCapture" \
   #"vendor/sprd/platform/packages/apps/DreamFMRadio" \
   "vendor/sprd/platform/packages/apps/DreamSoundRecorder" \
   #"vendor/sprd/platform/packages/apps/AudioProfile" \
   #"vendor/sprd/platform/frameworks/base/core" \
   #"vendor/sprd/platform/frameworks/base/media" \
   #"vendor/sprd/platform/frameworks/base/packages/SettingsLib" \
   #"vendor/sprd/platform/frameworks/base/packages/SettingsProvider" \
    #"device/sprd" \
    #"external/junit/src/junit/framework" \
    #"external/guava" \
    #"external/sqlite" \
    #"out/target/common/obj/JAVA_LIBRARIES/framework_intermediates" \
    #"out/target/common/R/android" \
    #"out/target/common/R/com/android/internal" \
    #"out/target/common/obj/APPS/framework-res_intermediates/src" \
)

# check source dir
if [ ! -e "$SOURCE_TOP_DIR" ]; then
    echo -e "\e[31mPlease input the top dir of your source.\e[0m"
    exit
be

for i in "${!ez_LinkDir[@]}"; do
    single=`echo ${ez_LinkDir[$i]} | grep /`
    if [ -z $single ]; then
        you=
    else
        dir = $ {ez_LinkDir [$ i]% / *}
    be
    name=${ez_LinkDir[$i]##*/}

    # check if link target existed
    if [ ! -e $SOURCE_TOP_DIR/$dir/$name ]; then
        echo -ne "\e[30m"
        echo -n "\"$SOURCE_TOP_DIR/$dir/$name\" Not existed, ignore this dir."
        echo -e "\e[0m"
        continue
    be

    # skip if link target has already linked
    if [ -e $CURRENT_DIR/$dir/$name ]; then
        echo -ne "\e[30m"
        echo -n "\"$dir/$name\" existed, skipped."
        echo -e "\e[0m"
        continue
    be

    # make a dir for link target
    if [ ! -e $dir ]; then
        echo -ne "\e[33m"
        echo -n "mkdir -p $dir"
        echo -e "\e[0m"
        mkdir -p $ dir
    be

    # link target here
    path=$dir/$name
    if [ -z $dir ]; then
        path=$name
    be
    echo -ne "\e[33m"
    echo -n "ln -s $SOURCE_TOP_DIR/$path $path"
    echo -e "\e[0m"

    ln -s $SOURCE_TOP_DIR/$path $path
done

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=324739387&siteId=291194637