Android.mk 使用 UpdateEngine (SystemApi) 的文件
Android.mk file for using UpdateEngine (SystemApi)
我找到了一个使用 OTA 更新的例子。但我需要使用 android.os.UpdateEngine
这是 SystemApi,我发现了这个 ,答案被写入 android.mk
文件 LOCAL_SDK_VERSION := system_current
我以前从未使用过 android.mk 文件,所以我创建了它并放入 app/android.mk
这就是我的 android.mk 文件中的所有内容:
LOCAL_PATH := $(call my-dir)
LOCAL_SDK_VERSION := system_current
我还把这个添加到 build.gradle 文件(我不在我的应用程序中使用 NDK,但我不知道其他使用 android.mk 文件的方法)
sourceSets.main {
jniLibs.srcDir 'src/main/libs' //set libs as .so's location instead of jniLibs
jni.srcDirs = [] //disable automatic ndk-build call with auto-generated Android.mk
}
externalNativeBuild {
ndkBuild {
path 'Android.mk'
}
}
但是无论如何,当我写 import android.os.UpdateEngine
时,我得到无法解析符号 "UpdateEngine"
我试图在 Stack 上搜索,Google,但找不到解决方案。
我在没有 makefile 或 NDK 的情况下使用来自此 repo 的修改后的 android.jar 文件让它工作:https://github.com/anggrayudi/android-hidden-api
下载合适的 android.jar 文件并将其放置在项目中的 app/libs-sdk 处。
将以下依赖项添加到您的应用 build.gradle 文件中:
compileOnly fileTree(include: ['*.jar'], dir: 'libs-sdk')
在顶级 build.gradle 文件中添加以下代码以使 Android Studio 使用修改后的 android.jar.
allprojects {
gradle.projectsEvaluated {
tasks.withType(JavaCompile) {
options.compilerArgs.add('-Xbootclasspath/p:/android.jar')
}
}
}
完成这些步骤后,我可以从我的项目中访问 android.os.UpdateEngine class。
唯一没有解决的问题是访问某些 SystemApi 方法(不是 classes),例如 RecoverySystem#verifyPackageCompatibility。
我找到了一个使用 OTA 更新的例子。但我需要使用 android.os.UpdateEngine
这是 SystemApi,我发现了这个 android.mk
文件 LOCAL_SDK_VERSION := system_current
我以前从未使用过 android.mk 文件,所以我创建了它并放入 app/android.mk
这就是我的 android.mk 文件中的所有内容:
LOCAL_PATH := $(call my-dir)
LOCAL_SDK_VERSION := system_current
我还把这个添加到 build.gradle 文件(我不在我的应用程序中使用 NDK,但我不知道其他使用 android.mk 文件的方法)
sourceSets.main {
jniLibs.srcDir 'src/main/libs' //set libs as .so's location instead of jniLibs
jni.srcDirs = [] //disable automatic ndk-build call with auto-generated Android.mk
}
externalNativeBuild {
ndkBuild {
path 'Android.mk'
}
}
但是无论如何,当我写 import android.os.UpdateEngine
时,我得到无法解析符号 "UpdateEngine"
我试图在 Stack 上搜索,Google,但找不到解决方案。
我在没有 makefile 或 NDK 的情况下使用来自此 repo 的修改后的 android.jar 文件让它工作:https://github.com/anggrayudi/android-hidden-api
下载合适的 android.jar 文件并将其放置在项目中的 app/libs-sdk 处。
将以下依赖项添加到您的应用 build.gradle 文件中:
compileOnly fileTree(include: ['*.jar'], dir: 'libs-sdk')
在顶级 build.gradle 文件中添加以下代码以使 Android Studio 使用修改后的 android.jar.
allprojects {
gradle.projectsEvaluated {
tasks.withType(JavaCompile) {
options.compilerArgs.add('-Xbootclasspath/p:/android.jar')
}
}
}
完成这些步骤后,我可以从我的项目中访问 android.os.UpdateEngine class。 唯一没有解决的问题是访问某些 SystemApi 方法(不是 classes),例如 RecoverySystem#verifyPackageCompatibility。