Summary: Pull Request resolved: https://github.com/facebook/yoga/pull/994 After building yoga aar, we found several issues: 1. More dynamic so files. This is bad as lower-end Android devices cannot load that many sos. 2. Size increase. 3. (Minor) The libs are stored in asset folder rather than "libs/". We apply the following optimizations: 1. Remove dependency on memalign16 (this is brought in by a pure header dependency jni-hack); 2. Enable native relinker to remove unused symbols in the so files. 3. Link yogacore statically to reduce size churn. Reviewed By: SidharthGuglani Differential Revision: D20808623 fbshipit-source-id: 6c6bbd4f71b6bf6ad272ec05dd56696ddb14a8e0
31 lines
822 B
Python
31 lines
822 B
Python
# Copyright (c) Facebook, Inc. and its affiliates.
|
|
#
|
|
# This source code is licensed under the MIT license found in the
|
|
# LICENSE file in the root directory of this source tree.
|
|
|
|
load("//tools/build_defs/oss:yoga_defs.bzl", "ANDROID_JAVA_TARGET", "ANDROID_RES_TARGET", "JAVA_TARGET", "PROGUARD_ANNOTATIONS_TARGET", "yoga_android_aar", "yoga_android_resource")
|
|
|
|
yoga_android_aar(
|
|
name = "android",
|
|
enable_relinker = True,
|
|
manifest_skeleton = "src/main/AndroidManifest.xml",
|
|
visibility = [
|
|
"PUBLIC",
|
|
],
|
|
deps = [
|
|
ANDROID_JAVA_TARGET,
|
|
ANDROID_RES_TARGET,
|
|
JAVA_TARGET,
|
|
PROGUARD_ANNOTATIONS_TARGET,
|
|
],
|
|
)
|
|
|
|
yoga_android_resource(
|
|
name = "res",
|
|
package = "com.facebook.yoga.android",
|
|
res = "src/main/res",
|
|
visibility = [
|
|
"PUBLIC",
|
|
],
|
|
)
|