解决方案 »

  1.   

    LOCAL_PREBUILT_STATIC_JAVA_LIBRARIES := foo:lib/third.jar 
    LOCAL_PREBUILT_STATIC_JAVA_LIBRARIES := foo:third.jar 
    试一下
      

  2.   

    这个不是原因,只不过你说的把jar放在代码根目录下了,一样的效果的,不过还是谢谢你!
      

  3.   

    jar与你的源码环境有没有冲突,比如你的jar的功能、定义等源码中已经有啦
      

  4.   

    是怪了你把LOCAL_MODULE_TAGS := optional加上试试。
    把foo改成libfoo试试(照理没区别)
    确定jar包在lib下面,不是libs吗?只能瞎猜了
      

  5.   

    比较下adt插件环境与源码环境
      

  6.   

    1. 你的 第三方库应该新建一个工程目录, 例如 thirds
    2. thirds 应该就是你的第三方库prebuilt工程配置, Android.mk 怎么写你应该清楚
    2. apk  的 Android.mk 脚本中除了你写的那些, 有没有加上如下一行:include $(callall-makefiles-under,$(LOCAL_PATH))这样才能保证能找到你第三方库位置, 从而copy
      

  7.   

    源码编译不会把jar文件打进APK压缩包,所以你要在mk文件中把jar文件复制到系统的lib目录中,并且还要build配置把该jar编入系统才可。
      

  8.   

    好像系统的lib下只有so类型的库,jar库不会放在里边吧。。
    求教。
      

  9.   


    这个。。,看错了,把jar文件copy到系统framework目录下。
      

  10.   

    好像是不会有 jar 文件, 应该是都被android处理过了, 转换成 dalvik 识别的字节码;
    apk 的所有java代码最终都 集中到 classes.dex 这个文件
      

  11.   

    这位仁兄说的对。
    我仔细研究了一下。
    编译apk的流程是这样的,先把资源res打包进去,
    然后把java 代码用java正常编译工具编译成class文件组成的jar文件,
    最后再用androi的特有的dx工具把classes.jar变成dex.
    最后apk里就有res和dex组成。由上,如果我们要用第三方的jar包(一般是由class文件构成的,我这个jar包里关键是还有res),源码的make好像默认支持不了啊。
      

  12.   

    对于包含资源文件的 jar, 请参考:
    http://blog.csdn.net/arui319/article/details/8123396http://tech.it168.com/a2012/0406/1334/000001334145.shtml
      

  13.   

    你这两篇讲的是adt如何使用jar的,和我的主题如何用make使用无关 呵呵,谢谢!
      

  14.   

    你就不能变通下? 
    最终编译不还是靠android提供的那些工具?
    资源引用的机制还能脱离android?
    需要的工程你不能不用adt创建?
      

  15.   

    变通谁不会,用adt早就搞定了啊。
    现在就是要用make。
    继续等高人解答。
      

  16.   

    我说的变通不是让你去用 ADT,   是指借用ADT的处理方式
    算了, 等吧
      

  17.   

    我看了一路的讨论,我之前编译的都是只编译自己写的工程文件,我还真没有加载过别人jar包!
      

  18.   


    如果jar与源码有冲突,请问如何解决??
      

  19.   

    是不是因为你虽然Android.mk文件中加了这个jar包,但代码里面并没有使用jar包里面的内容,被android编译的时候优化删掉了,遇到过这种情况,只要代码里用到就能在最后的apk中找到了
      

  20.   

    我是这样写的mk文件,可以编译过的,你试下:LOCAL_STATIC_JAVA_LIBRARIES := android-common com.android.emailcommon com.android.emailsync guava android-common-chips libphotoviewer
    #LOCAL_STATIC_JAVA_LIBRARIES += android-support-v4
    LOCAL_STATIC_JAVA_LIBRARIES += android-support-v7-gridlayout
    LOCAL_STATIC_JAVA_LIBRARIES += android-support-v13
    LOCAL_STATIC_JAVA_LIBRARIES += mylib #这个是我自己加的jar包名字,名字任意写...include $(BUILD_PACKAGE)include $(CLEAR_VARS)   
    LOCAL_PREBUILT_STATIC_JAVA_LIBRARIES := mylib:libs/android-support-v4.jar  #我要编译的jar包存放位置
    include $(BUILD_MULTI_PREBUILT)
      

  21.   

    1、初步判断不是第三方jar的问题,一般来说jar没打包进去程序会运行报错
       这个可以反编译apk确定是否有打包进去2、达不到原来的效果,这个应该指的是UI上的效果吧
       eclipse和源码编译是有不同的,尤其有些UI上样式是不一样的
      

  22.   

    LOCAL_PROGUARD_ENABLED := disabled
      

  23.   

    我的这个方法是经过验证的:LOCAL_PROGUARD_ENABLED := disabled ,肯定是这个原因
      

  24.   

    你看能不能把这个jar单独编译成dex,,拷贝到一个目录,将这个路径加到系统CLASSPATH环境变量中,这样apk应该能调用到