How to build intermediate classes.jar in android N

in Android M, you can achieve that by using LOCAL_JACK_ENABLED = disabled variable in your makefile.

In Android N it is more tricky...it is broken and the solution to this is yet to come in AOSP mainline of Android N.
Solution is available in master.

Checked in 7.1.1 Android N.

You need to make use of javac-check target. This has been implemented for this purpose.

make javac-check-$(LOCAL_MODULE)

So, if your module name is "ABCD"

make javac-check-ABCD

This generates a classes-full-debug.jar, in the common\obj\JAVA_LIBRARIES\ ABCD_intermediates.

This is the jar which you can use in your Studio environment.

Most important, this solution is not yet visible in any of the tags on Android N branch. It is part of the master hence you need to add this solution to your branch manually.


Add targets for building individual modules using javac

This is needed in order to be able to run error prone (which is
a plugin replacement for javac) on a subset of the java code.

Bug: 31507496
Test: Build javac-check-core-tests and check the resulting JAR
Change-Id: I5a556920572fcdad7b39d67e3f00fe0e0f1f8f46
diff --git a/core/host_java_library.mk b/core/host_java_library.mk
index 0a7dd8a..cc26d7c 100644
--- a/core/host_java_library.mk
+++ b/core/host_java_library.mk
@@ -73,6 +73,7 @@
 	$(transform-host-java-to-package)
 
 javac-check : $(full_classes_compiled_jar)
+javac-check-$(LOCAL_MODULE) : $(full_classes_compiled_jar)
 
 # Run jarjar if necessary, otherwise just copy the file.
 ifneq ($(strip $(LOCAL_JARJAR_RULES)),)
diff --git a/core/java.mk b/core/java.mk
index e505ffb..606b474 100644
--- a/core/java.mk
+++ b/core/java.mk
@@ -416,6 +416,7 @@
 	$(transform-java-to-classes.jar)
 
 javac-check : $(full_classes_compiled_jar)
+javac-check-$(LOCAL_MODULE) : $(full_classes_compiled_jar)
 
 # Run jarjar if necessary, otherwise just copy the file.
 ifneq ($(strip $(LOCAL_JARJAR_RULES)),)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值