测试环境Android 11®
如下为一般android studio的工程目录及文件。
目标:使用了官方android SDK中未包含的api&class,而且需要在android studio及aosp中编译通过。
方法:
- 在aosp中编译时,需要注意在Android.mk中添加LOCAL_PRIVATE_PLATFORM_APIS := true(如果是使用Android.bp, 则添加platform_apis: true)
- 在AS中编译时,需要在app中放置包含有aosp私有或者隐藏的api&class的jar包;这个jar其实就是由aosp/framworks/base/中的code编译而来,本文中对应framework-all.jar,编译出来的路径为:out/soong/.intermediates/frameworks/base/framework-all/android_common/combined/framework-all.jar,不同的android版本可能对应不同的路径及文件名,详细参考frameworks/base/Android.bp(或Android.mk)。有了jar包后就继续调整build.gradle。
外层build.gradle调整如下(Line:29 ~ 34):