Adding a prebuilt jar dependency to frameworks

148 views
Skip to first unread message

Pjex Xue

unread,
Jan 12, 2017, 10:39:23 AM1/12/17
to Android Building
I want add a prebuilt jar dependency to frameworks, my Android.mk like this :

LOCAL_PATH := $(my-dir)

include $(CLEAR_VARS)
LOCAL_MODULE := pjjartof
LOCAL_SRC_FILES := gvr.jar
LOCAL_MODULE_TAGS := optional
LOCAL_MODULE_SUFFIX := .jar
LOCAL_MODULE_CLASS := JAVA_LIBRARIES
LOCAL_MODULE_PATH := $(TARGET_OUT_JAVA_LIBRARIES)
include $(BUILD_PREBUILT)


i can built it and the result is succeed :

target Prebuilt: pjjartof (out/target/common/obj/JAVA_LIBRARIES/pjjartof_intermediates/classes.jar)
target Prebuilt: pjjartof (out/target/common/obj/JAVA_LIBRARIES/pjjartof_intermediates/javalib.jar)
target Prebuilt: pjjartof (out/target/product/rk3288/obj/JAVA_LIBRARIES/pjjartof_intermediates/pjjartof.jar)
Install: out/target/product/rk3288/system/framework/pjjartof.jar

and then , i add pjjartof to framework/base/Android.mk
and framework/base/services/core/Android.mk

but when i use the class in jar through a so file , it will be  appear some error :

I/art     (  469): Rejecting re-init on previously-failed class java.lang.Class<com.google.common.logging.nano.Vr$VREvent$SdkConfigurationParams>

I/art     (  469): Rejecting re-init on previously-failed class java.lang.Class<com.google.common.logging.nano.Vr$VREvent$SdkConfigurationParams>

I/art     (  469): Rejecting re-init on previously-failed class java.lang.Class<com.google.common.logging.nano.Vr$VREvent$SdkConfigurationParams>

W/System.err(  469): java.lang.NoClassDefFoundError: com.google.common.logging.nano.Vr$VREvent$SdkConfigurationParams

W/System.err(  469): at com.google.vr.ndk.base.SdkConfigurationReader.<clinit>(SourceFile:37)

W/System.err(  469): at com.google.vr.cardboard.VrParamsProviderJni.readSdkConfigurationParams(SourceFile:82)

W/System.err(  469): at com.android.server.pjgyro.Pjni.nativeCreateGvrCtx(Native Method)//my service in framework

W/System.err(  469): at com.android.server.pjgyro.PJGyroManagerService.getAppContextAndAntvrsdk(PJGyroManagerService.java:94)

W/System.err(  469): at com.android.server.pjgyro.PJGyroManagerService.isCreateContext(PJGyroManagerService.java:79)

W/System.err(  469): at com.android.server.pjgyro.PJGyroManagerService.getGyro(PJGyroManagerService.java:127)

W/System.err(  469): at android.os.IPJGyroManager$Stub.onTransact(IPJGyroManager.java:48)

W/System.err(  469): at android.os.Binder.execTransact(Binder.java:446)


pls tell me This approach is correct enough, and my jni method use jar class to init something , 

and is there any other way to implement a dynamic link library that references a static jar library.




Reply all
Reply to author
Forward
0 new messages