Reputation: 873
I have an aosp code copy, and do a full build some days ago, recently I sync the code to the latest, and try to modify some code in Contacts module, and try to build it with:
mmm packages/apps/Contacts
there is an error:
1 error during configuration. Try --help-properties for help.
Property 'jack.library.import' (in Options): element #1: The version of the library file 'out/target/common/obj/JAVA_LIBRARIES/android-support-test_intermediates/classes.jack' is not supported anymore. Library version: 3.4 - Current version: 3.5 - Minimum compatible version: 3.5
ninja: build stopped: subcommand failed.
build/core/ninja.mk:84: recipe for target 'ninja_wrapper' failed
make: *** [ninja_wrapper] Error 1
I search android-support-test in opengrok, and find android-support-test in prebuilts/misc/common/android-support-test then I do:
mmm prebuilts/misc/common/android-support-test/
still error:
1 error during configuration. Try --help-properties for help.
Property 'jack.classpath': element #1: The version of the library file 'out/target/common/obj/JAVA_LIBRARIES/sdk_v23_intermediates/classes.jack' is not supported anymore. Library version: 3.4 - Current version: 3.5 - Minimum compatible version: 3.5
ninja: build stopped: subcommand failed.
build/core/ninja.mk:84: recipe for target 'ninja_wrapper' failed
make: *** [ninja_wrapper] Error 1
but I can't find sdk_23 module in opengrok.
then I delete
out/target/common/obj/JAVA_LIBRARIES/android-support-test_intermediates/classes.jack
and do
make android-support-test
It doesn't rebuild the module.
So, how can I solve the dependency when using "mmm" building a module?
Upvotes: 4
Views: 2312
Reputation: 2200
Looks like Jack keeps on not liking your prebuilt material (/out
dir), is it from an entire different Android version?
I would suggest to do make clean
OR just delete all /out/ directory from root repo.
Then do mma Contacts
from root repo directory.
For further info on mm, mmm, mma, etc. Check build/envsetup.sh:
Invoke ". build/envsetup.sh" from your shell to add the following functions to your environment:
lunch: lunch <product_name>-<build_variant>
tapas: tapas [<App1> <App2> ...] [arm|x86|mips|armv5] [eng|userdebug|user]
croot: Changes directory to the top of the tree.
m: Makes from the top of the tree.
mm: Builds all of the modules in the current directory, but not their dependencies.
mmm: Builds all of the modules in the supplied directories, but not their dependencies.
To limit the modules being built use the syntax: mmm dir/:target1,target2.
mma: Builds all of the modules in the current directory, and their dependencies.
mmma: Builds all of the modules in the supplied directories, and their dependencies.
cgrep: Greps on all local C/C++ files.
jgrep: Greps on all local Java files.
resgrep: Greps on all local res/*.xml files.
godir: Go to the directory containing a file.
Upvotes: 4