APEX now correctly tracks jni_lib dependencies
Bug: 144135069 Test: m (apex_test.go amended) Change-Id: If9dde4e2e62c2642267dbcac68bab76a032682c0
This commit is contained in:
parent
b9a80a0716
commit
8be103b04c
|
@ -1196,7 +1196,7 @@ func (a *apexBundle) GenerateAndroidBuildActions(ctx android.ModuleContext) {
|
|||
if am, ok := child.(android.ApexModule); ok {
|
||||
// We cannot use a switch statement on `depTag` here as the checked
|
||||
// tags used below are private (e.g. `cc.sharedDepTag`).
|
||||
if cc.IsSharedDepTag(depTag) || cc.IsRuntimeDepTag(depTag) {
|
||||
if cc.IsSharedDepTag(depTag) || cc.IsRuntimeDepTag(depTag) || java.IsJniDepTag(depTag) {
|
||||
if cc, ok := child.(*cc.Module); ok {
|
||||
if android.InList(cc.Name(), providedNativeSharedLibs) {
|
||||
// If we're using a shared library which is provided from other APEX,
|
||||
|
|
|
@ -2460,6 +2460,7 @@ func TestApexWithApps(t *testing.T) {
|
|||
srcs: ["foo/bar/MyClass.java"],
|
||||
sdk_version: "none",
|
||||
system_modules: "none",
|
||||
jni_libs: ["libjni"],
|
||||
}
|
||||
|
||||
android_app {
|
||||
|
@ -2469,6 +2470,13 @@ func TestApexWithApps(t *testing.T) {
|
|||
system_modules: "none",
|
||||
privileged: true,
|
||||
}
|
||||
|
||||
cc_library_shared {
|
||||
name: "libjni",
|
||||
srcs: ["mylib.cpp"],
|
||||
stl: "none",
|
||||
system_shared_libs: [],
|
||||
}
|
||||
`)
|
||||
|
||||
module := ctx.ModuleForTests("myapex", "android_common_myapex_image")
|
||||
|
@ -2477,6 +2485,7 @@ func TestApexWithApps(t *testing.T) {
|
|||
|
||||
ensureContains(t, copyCmds, "image.apex/app/AppFoo/AppFoo.apk")
|
||||
ensureContains(t, copyCmds, "image.apex/priv-app/AppFooPriv/AppFooPriv.apk")
|
||||
ensureContains(t, copyCmds, "image.apex/lib64/libjni.so")
|
||||
}
|
||||
|
||||
func TestApexWithAppImports(t *testing.T) {
|
||||
|
|
|
@ -430,6 +430,11 @@ type jniDependencyTag struct {
|
|||
target android.Target
|
||||
}
|
||||
|
||||
func IsJniDepTag(depTag blueprint.DependencyTag) bool {
|
||||
_, ok := depTag.(*jniDependencyTag)
|
||||
return ok
|
||||
}
|
||||
|
||||
var (
|
||||
staticLibTag = dependencyTag{name: "staticlib"}
|
||||
libTag = dependencyTag{name: "javalib"}
|
||||
|
|
Loading…
Reference in New Issue