把B项目设置为Lib:
project->properties->Android->Library->Is Library 这个勾选上。
在A项目中把B项目添加进去:
project->properties->Android->Library->Add..,,里面把B项目选上。这样之后default.properties里面就会有
android.library.reference.3=../XXXX.XXX.XXXX
的项。这样就可以编译了,编译的时候会把B项目的代码也一起编译。如果B项目不作为一个lib来处理,那也就没办法了。
解决方案 »
- 安卓 设置“已启用数据”功能项
- Valid ABIs: no ABIs ABI的问题
- android : cant find 'test.apk' to install
- 怎样获得系统的广播,比如屏幕的关闭与开启广播
- Eclipse中找不到Google map的AVD???
- 谁能帮我看看一段复制到sim卡短信的PDU解析?
- 关于android系统的两台平板电脑实现远程控制的软件
- 请问如何使用HTTPClient在多线程的情况下保证cookies各自独立?
- jni java传递参数到C++
- 求 android 7.0 双屏多任务解决方案
- android显示图片内存溢出问题
- 问一个关于Service的问题
<target name="compile" depends="dirs, resource-src, aidl">
<echo>libs_classpath..${basedir}/libs/</echo>
<javac encoding="UTF-8" target="1.6" extdirs="" srcdir="."
destdir="${outdir-classes}" bootclasspath="${android-jar}"
includeantruntime="on" source="1.6">
<compilerarg value="-Xlint" />
<!-- 第三方的工程 -->
<src path="${third_lib}/src" />
<src path="src" />
<src path="gen" />
<!-- 第三方工程里的导入包 -->
<!-- <classpath refid="libs_pro"/> -->
<classpath refid="libs_classpath"/>
<src path="${third_lib_2}/src" />
<src path="src" />
<src path="gen" />
<classpath refid="libs_pro_2"/>
</javac>
<echo>libs_classpath..${libs_classpath}</echo>
</target> 希望能帮助到你们,但我还是遇到个问题,这个方法可以加载第三方工程的src但无法加载第三方工程的res资源和自定义view的自定义属性,如果有用到就会编译不通过。苦恼呀...
<path id="libs_pro">
<fileset dir="${third_lib}/libs/">
<include name="*.jar"/>
</fileset>
</path>
-code-gen:
[mergemanifest] Found Deleted Target File
[mergemanifest] Merging AndroidManifest files into one.
[mergemanifest] Manifest merger disabled. Using project manifest only.
[echo] Handling aidl files...
[aidl] No AIDL files to compile.
[echo] ----------
[echo] Handling RenderScript files...
[echo] ----------
[echo] Handling Resources...
[aapt] Generating resource IDs...
[aapt] invalid resource directory name: F:\workspace\Zlib\bin\res/crunchBUILD FAILED
D:\Android\sdk\tools\ant\build.xml:601: The following error occurred while executing this line:
D:\Android\sdk\tools\ant\build.xml:653: The following error occurred while executing this line:
D:\Android\sdk\tools\ant\build.xml:698: null returned: 1这个路径老不对,怎么改啊
找到如下一行,value设置为crunch 即可
<property name="aapt.ignore.assets" value="crunch" />
[mergemanifest] Found Deleted Target File
[mergemanifest] Merging AndroidManifest files into one.
[mergemanifest] Manifest merger disabled. Using project manifest only.
[echo] Handling aidl files...
[aidl] No AIDL files to compile.
[echo] ----------
[echo] Handling RenderScript files...
[echo] ----------
[echo] Handling Resources...
[aapt] Generating resource IDs...
<span style="color: #FF0000;">[aapt] invalid resource directory name: F:\workspace\Zlib\bin\res/crunch</span>BUILD FAILED
D:\Android\sdk\tools\ant\build.xml:601: The following error occurred while executing this line:
D:\Android\sdk\tools\ant\build.xml:653: The following error occurred while executing this line:
D:\Android\sdk\tools\ant\build.xml:698: null returned: 1#15 楼说修改sdk 》tools》ant》build.xml文件中的<property name="aapt.ignore.assets" value="crunch" />,
方法可行,但仔细看一下上面的解释,就可以看到"Default is "!.svn:!.git:.*:<dir>_*:!CVS:!thumbs.db:!picasa.ini:!*.scc:*~"",
如果直接修改了sdk里面的配置,个人觉得不太妥,那么可以在自己项目的根目录下build.xml文件中加入:
<property name="aapt.ignore.assets" value="!.svn:!.git:\x3Cdir\x3E_*:.*:!CVS:!thumbs.db:!picasa.ini:!*.scc:*~:crunch" />
这样子就只对自己的项目生效!
为什么会有\x3Cdir\x3E这个东西,其实就是<dir>,不过ant build.xml中不允许使用'<'字符,所以要转义一下。