解决方案 »

  1.   


    兄弟,这个我还是知道的。工程本身已经是Library,项目一期的代码目前接近完成,我的问题是怎么把这个Android Library工程打成JAR包?
      

  2.   

    直接导出JAR文件,不就好了,选择 export 中的Java 中的JAR file,选择你要导出的内容就好了
      

  3.   

    http://www.360doc.com/content/12/1124/14/10388890_249940327.shtml 有点小复杂
      

  4.   


    这个方法我早就试过。如果Android Library Project中没有资源文件,可以这么做。如果涉及到资源文件(Android工程res目录),eclipse export导出的JAR包不能直接使用,新建一个Android Application Project,并将导出的JAR包置于lib目录下,只能保证编译通过,运行直接ERROR。
      

  5.   

    有资源文件就不能打jar包了,只能引用工程。
      

  6.   

    你这个需求我也遇到过,如果有资源文件那简单的办法只有引入工程。
    我之前做过一些努力,可以有限制地导出jar供其它工程使用:
    1 你的资源文件放到asset中或raw中,且大小和文件后缀类型有限制(超过1m的只能是指定后缀的文件)
    2 生成jar时不会自动将这些文件包括进来,要手动将它们加进去(jar只是简单的压缩格式可以随意打开编辑)并保持asset或raw目录结构
    3 jar中只能用AssetManager来读这些文件
    这方法貌似要求导入这个jar的工程目前只能在eclipse中编译,我不知道aptana能不能用。
    另外layout也有变通的导入方法,但相对更复杂
      

  7.   

    2.将工程A做成android library project。设置工程A,右键->Properties->Android,将Is library项选中,然后Apply。设置工程B,右键->Properties->Android,在Library中,点击Add按钮,将A工程加入,然后Apply。此时在B中就引入了A中的资源和代码,这些资源和代码都可以直接调用。需要注意的是,因为A已经不再是一个完整的Android应用,而是一个类库工程,所以有一些内容还需要在B中配置一下。比如A中有lib库引用,则B中也要加入该lib库;比如A中的AndroidManifest.xml文件的内容,在B的AndroidManifest.xml文件中也要相应加上
    如果不需要引用A工程的资源文件,同样只需得到jar文件,
    设置工程A,右键->Properties->Android,将Is library项选中,然后Apply。在A工程的bin目录下能得到一个jar文件,可以copy到B工程中的libs目录下直接引用。
      

  8.   


    如果你在引用工程A中有用到这样的代码, switch (id) {
        case R.id.button1:
            action1();
            break;
        case R.id.button2:
            action2();
            break;
        case R.id.button3:
            action3();
            break;
    } 会报错,[color=#FF0000]改成 if..else 就行了[/color]