Den*_*nis 4 gradle android-source
我有一个 Android 系统应用程序,目前正在使用 Android 构建系统构建。使用的 SDK 是 system_current,因为它使用了一些系统 api。
出于外部依赖性原因、易于开发、调试等原因,最好将此应用程序移至 Android Studio 并使用 Gradle 进行构建。
将源代码转换为使用 Gradle 进行构建非常简单。但是,在构建时,无法找到系统 API,因为这些 API 在普通 SDK 中不可用。我认为通过从 AOSP 源生成 SDK,我可以获得一个可以使用的 SDK,但目标输出似乎也没有可用的系统 API。
如何更改我的 gradle 构建以便能够使用 System SDK 进行编译?
有两种方法,具体取决于您是否只是尝试使用当前的非公共 API,或者您自己添加了自定义 API 并尝试访问这些 API。
如果您只是尝试使用当前的系统级 API,则可以android.jar从此存储库中使用https://github.com/anggrayudi/android-hidden-api
如果您添加了一些不属于标准 AOSP 的新方法,那么这将是一项更多的工作。
所有方法不显示为 Android SDK 的一部分的原因是,在 AOSP 代码中,它们都用@hide. 这意味着当生成 SDK 时,它们被排除。
您需要删除要使用的方法的注释。那么你需要
make update-api以更新项目的公共 API。还可以通过运行时反射访问方法,而无需生成 SDK。但编码速度更慢且更混乱。
| 归档时间: |
|
| 查看次数: |
4843 次 |
| 最近记录: |