将 gradle 文件转换为 MK 文件( build.gradle 到 Android.mk )

Ran*_* KP 6 android build.gradle android.mk

我使用下面的 gradle 来构建我的示例应用程序。

构建.gradle

apply plugin: 'com.android.application'

android {
    defaultConfig {
        resConfigs "en","ja"
    }
    buildTypes {
        release {
           shrinkResources true
           useProguard true 
           minifyEnabled true
           proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
    splits {
       density {

            enable true
            exclude 'ldpi', 'tvdpi', 'xxxhdpi'
        }
        abi {

            enable true
            reset()
            include 'x86', 'armeabi-v7a', 'mips'
            universalApk false

        }
    }
}
Run Code Online (Sandbox Code Playgroud)

本次测试的目的

1.从应用程序中删除未使用的资源文件

2.更好地理解资源处理。

我使用 gradle 在 android studio 中成功完成了这项工作。

现在,我想对 ASOP 构建做同样的事情。

Android.mk file
--------------------------------------------
ifneq ($(TARGET_BUILD_PDK), true)
LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
LOCAL_SRC_FILES := $(call all-java-files-under, src)

LOCAL_RESOURCE_DIR := $(LOCAL_PATH)/res \
frameworks/support/v7/appcompat/res \
frameworks/support/design/res

LOCAL_PACKAGE_NAME := sampleapp
LOCAL_STATIC_JAVA_LIBRARIES := android-support-v4
LOCAL_STATIC_JAVA_LIBRARIES += android-support-v7-appcompat
LOCAL_CERTIFICATE := platform
LOCAL_MODULE_TAGS := optional
LOCAL_PRIVILEGED_MODULE := true
LOCAL_USE_AAPT2 := true
LOCAL_DEX_PREOPT := true

LOCAL_PROGUARD_ENABLED := full

LOCAL_AAPT_FLAGS := --auto-add-overlay
include $(BUILD_PACKAGE)
endif
Run Code Online (Sandbox Code Playgroud)

但是在进行 ASOP 构建时,我不知道如何在 Android.mk 文件中设置以下标志。

收缩资源真

minifyEnabled true

排除“ldpi”、“tvdpi”、“xxxhdpi”

请指导我解决这个问题。