Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/319.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/205.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Android:在JAR中添加资源文件_Java_Android_Android Layout_Android Intent_Android Widget - Fatal编程技术网

Java Android:在JAR中添加资源文件

Java Android:在JAR中添加资源文件,java,android,android-layout,android-intent,android-widget,Java,Android,Android Layout,Android Intent,Android Widget,我计划在android中创建一个SDK,这意味着将我的类文件和资源(布局)共享给另一个需要它们的应用程序。如果我将我的应用程序导出为JAR,它不包括资源文件和R.class。我知道目前Android不支持通过JAR打包资源文件,但我搜索了网络,发现了一个解决方案,如果用源代码编译资源文件,意味着我们可以在其他应用程序中访问资源 因此,我采取了以下方式: 已将所有res文件夹内容复制到我的源文件夹中 src ->com.mypackege ->res--->我把我的res文件夹放在这里 最后,我

我计划在android中创建一个SDK,这意味着将我的类文件和资源(布局)共享给另一个需要它们的应用程序。如果我将我的应用程序导出为JAR,它不包括资源文件和R.class。我知道目前Android不支持通过JAR打包资源文件,但我搜索了网络,发现了一个解决方案,如果用源代码编译资源文件,意味着我们可以在其他应用程序中访问资源

因此,我采取了以下方式:

  • 已将所有res文件夹内容复制到我的源文件夹中

    • src ->com.mypackege ->res--->我把我的res文件夹放在这里
    • 最后,我的src文件夹看起来像

    • src

      com.mypackage

  • 我构建了我的项目,我得到了所有的类文件,包括资源和 r、 在我的箱子里上课

  • 然后我通过jar-cvf mysample.jar com/mypackage手动创建jar/*

  • 最后一个jar包含我项目的所有类和资源 我的包裹

  • 然后我将
    mysample.jar
    添加到另一个应用程序中,比如说
    testapp
    ,这里我将jar放在资产文件夹中(因为布局),并添加到构建路径。我还配置了构建路径

    在这个应用程序中,我从
    mysample.jar
    调用
    myfile.class
    ,这是从该jar加载布局所需的

    问题在于,它没有看到JAR文件下的资源,它只看到当前project res文件夹中的资源,尽管
    NULL指针异常

    但是它从JAR文件调用R.java。此外,我还尝试放置xmlns:custom=”http://schemas.android.com/apk/res-auto“在我的清单文件中,它也不起作用。 我希望我来结束这个问题,它可能是一个资源映射问题。
    你有办法解决这个问题吗

    您不能在jar中存储资源。这是可能的,但很棘手,所以现在Android只提供Android库。否则,您可以分别使用已编译的源代码和资源(通过向您的库提供资源ID)

    如何通过android库将我的资源共享给其他应用程序function@Mr.Cool看看这里
          >myfile.java
         drawable-hdpi
         drawable-ldpi
         drawable-mdpi
         drawable-xhdpi
         com.mypackage.drawable
         com.mypackage.layout
         com.mypackage.menu
         com.mypackage.values