向 AOSP 添加新应用

Adding a new app to AOSP

我已经能够构建 AOSP。但是,我正在尝试将此应用程序添加到 AOSP 并使用 mm ghetto-unlock 构建它,但我收到错误消息,指出无法找到符号并且 @Override 方法未覆盖任何内容。我相当确定问题在于该应用程序未与正确的库或 API 绑定,但我不确定我做错了什么。任何帮助将不胜感激。

首先确保你有这些库:libs/sc-light-jdk15on-1.47.0.2.jar libs/scprov-jdk15on-1.47.0.2.jar

Override问题是AOSP master分支将TrustAgentService的方法"onSetTrustAgentFeaturesEnabled"修改为"onConfigure",对比lollipop release分支(lollipop, master)

所以修改GhettoTrustAgent.java 如下所示,它应该没有错误地构建。

import android.os.PersistableBundle;
import java.util.List;

......

//@Override
//public boolean onSetTrustAgentFeaturesEnabled(Bundle options) {
//    Log.v(TAG, "Policy options received: " + options.getStringArrayList(KEY_FEATURES));
//
//    return true; // inform DPM that we support it
//}

@Override
public boolean onConfigure(List<PersistableBundle> options) {
    return true; // inform DPM that we support it
}

......

使其成为系统应用程序并打包到system.img。

  1. Android.mk,把这两行改成这样:

  2. 创建一个名为proguard.flags的新文件,其内容:

  3. 修改布局文件,所有android:text都要本地化,像这样android:text="@string/string_name"

  4. 修改[aosp_root]/build/target/product/full_base.mk,添加你的包名:

就是这样。现在使用 mm/mmm 构建它,它应该安装在 system/app 中,当 运行 使用 make 进行完整构建时,它应该打包在 system.img 中。