How to create a single module and resolve dependency in Android source code

I have a copy of the AOS code and am doing a complete assembly a few days ago, recently I synchronize the code to the latest version and try to change the code in the Contacts module and try to create it with:

mmm packages/apps/Contacts

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 am looking for android-support-test in opengrok and find android-support-test support in prebuilts / misc / common / android-support-test then I do:

mmm prebuilts / misc / common / android-support-test /

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 not find the 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 does not restore the module.

So, how can I solve the dependency when using "mmm" to build a module?

+4
source share
1

, (/out dir), Android?

make clean all/out/ .

mma Contacts .

mm, mmm, mma .. 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.
+2

Source: https://habr.com/ru/post/1670208/


All Articles