Android 如何使用通过修改aosp框架代码构建的sdk?
我是Android开源项目(ASOP)的新手。为了研究的目的,我一直在尝试用我自己的修改来制作一个定制的android版本。我在acitivity.java类的框架中更改了一些代码。添加了我的自定义函数,如下所示:Android 如何使用通过修改aosp框架代码构建的sdk?,android,android-source,Android,Android Source,我是Android开源项目(ASOP)的新手。为了研究的目的,我一直在尝试用我自己的修改来制作一个定制的android版本。我在acitivity.java类的框架中更改了一些代码。添加了我的自定义函数,如下所示: public final void requestPermissions(@NonNull String[] permissions, int requestCode, String permReason, String dataScope) { Log.i(&q
public final void requestPermissions(@NonNull String[] permissions, int requestCode, String permReason, String dataScope) {
Log.i("PermissionTracker", "Rashed Tracking Permission Manager having requestCode"+Integer.toString(requestCode));
Log.i("PermissionReason", "I am asking permission because of "+permReason);
Log.i("PermissionReason", "The data scope would be "+dataScope);
/*
Rashed edit end April 23, 2021
*/
if (requestCode < 0) {
throw new IllegalArgumentException("requestCode should be >= 0");
}
if (mHasCurrentPermissionsRequest) {
Log.w(TAG, "Can request only one set of permissions at a time");
// Dispatch the callback with empty arrays which means a cancellation.
onRequestPermissionsResult(requestCode, new String[0], new int[0]);
return;
}
Intent intent = getPackageManager().buildRequestPermissionsIntent(permissions);
startActivityForResult(REQUEST_PERMISSIONS_WHO_PREFIX, intent, requestCode, null);
mHasCurrentPermissionsRequest = true;
}
我的目标是生成自定义sdk,它可以在Android studio中使用,也可以在我正在另一个应用程序中使用。我想从Android Studio中的应用程序调用我修改过的函数。我已经成功地更新了Android Studio sdk目录。但问题是,我无法在Android Studio中看到修改后的代码。有人能帮我吗?提前感谢您的建议。如果您的修改是android框架的一部分,您需要从android Studio项目中的out/target/common/obj/JAVA_LIBRARIES/framework_mediates(for ex)/classes.jar复制修改后的jar 您还需要修改顶级gradle build以添加:
allprojects {
repositories {
jcenter()
}
gradle.projectsEvaluated {
tasks.withType(JavaCompile) {
options.compilerArgs << '-Xbootclasspath/p:app/src/main/lib/framework.jar'
}
}
所有项目{
存储库{
jcenter()
}
gradle.项目评估{
tasks.withType(JavaCompile){
options.compilerArgs仍然不起作用。我检查了classes.jar,发现我的实现在那里。我认为它仍然使用默认的sdkSorry…你的解决方案起作用了…我的问题在别处…谢谢你的帮助。
allprojects {
repositories {
jcenter()
}
gradle.projectsEvaluated {
tasks.withType(JavaCompile) {
options.compilerArgs << '-Xbootclasspath/p:app/src/main/lib/framework.jar'
}
}