【问题标题】:Android library (jar) needs functionality from another libraryAndroid 库 (jar) 需要来自另一个库的功能
【发布时间】:2014-03-29 06:39:46
【问题描述】:

我正在尝试编写一个从另一个库中获取功能的 android 库,问题本质上是一个应用内计费库,我想将它的接口编写为一个单独的 jar 库以包含在项目中.

如果可能的话,我该怎么做?如果不是,我有什么选择?我尝试在我的 jar 库中构建类,但是当我尝试从其他库调用函数时,出现以下错误:

AndroidJavaException: java.lang.ExceptionInInitializerError

完整的logcat:

--------- /dev/log/system 的开头 --------- /dev/log/main D/Unity (14530) 的开头: GL_OES_rgb8_rgba8 GL_OES_EGL_sync GL_OES_fbo_render_mipmap GL_NV_depth_nonlinear GL_NV_draw_path GL_NV_texture_npot_2D_mipmap GL_OE S_EGL_image GL_OES_EGL_image_external GL_OES_vertex_half_float GL_OES_mapbuffer GL_NV_draw_buffers GL_NV_multiview_draw_buffers GL_EXT_Cg_shader GL_EX T_packed_float GL_OES_texture_half_float GL_EXT_texture_array GL_OES_compressed_ETC1_RGB8_texture GL_EXT_texture_compression_latc GL_NV_texture_compression_latc GL_EXT_texture_compression_dxt1 GL_EXT_texture_compression_s3tc GL_NV_texture_compression_s3tc GL_EXT_texture_filter_anisotropic GL_NV_get_tex_image GL_NV_read_buffer GL_NV_shader_framebuffer_fetch GL_NV_copy_image GL_NV_fbo_color_attachments GL_EXT_bgra GL_EXT_texture_format_BGRA8888 GL_EXT_unpack_subimage GL_NV_pack_subimage GL_NV_texture_compression_s3tc_update GL_NV_read_depth GL_NV_read_stencil GL_NV_uniform_buffer_object GL_EXT_r obustness GL_OES_standard_derivatives GL_NV_EGL_stream_consumer_external GL_NV_3dvision_settings GL_EXT_debug_marker GL_EXT_debug_label GL_NV_D/Unity (14530): coverage_sample GL_EXT_occlusion_query_boolean GL_NV_timer_query 我/统一(14530):AndroidJavaException: java.lang.ExceptionInInitializerError I/Unity (14530):在 UnityEngine.AndroidJNISafe.CheckException () [0x00000] in :0 I/Unity (14530): at UnityEngine.AndroidJNISafe.CallStringMethod (IntPtr obj, IntPtr methodID, UnityEngine.jvalue[] args) [0x00000] in :0 I/Unity (14530): at UnityEngine.AndroidJavaObject._Call[String] (System.String methodName, System.Object[] args) [0x00000] in :0

I/Unity (14530):在 UnityEngine.AndroidJavaObject.Call[String] (System.String methodName, System.Object[] args) [0x00000] in :0

I/Unity (14530): 在 CallJavaCode.Start () [0x00000] in :0 I/Unity (14530): I/Unity (14530): (文件名: Line: -1)

【问题讨论】:

  • 请添加完整的堆栈跟踪

标签: java android jar java-native-interface


【解决方案1】:

我发现我可以从 Java 中的异常打印堆栈跟踪,当我这样做时,我注意到它询问是否调用 Looper.prepare(),当我首先调用该函数时,它解决了我遇到的问题。

我从另一个 jar 集成功能的方式是简单地合并它们的内容。

【讨论】:

    猜你喜欢
    • 2010-12-04
    • 1970-01-01
    • 1970-01-01
    • 2011-02-27
    • 2013-07-07
    • 1970-01-01
    • 1970-01-01
    • 2013-07-04
    • 2017-06-06
    相关资源
    最近更新 更多