以下内容均为在MTK android 7.0上修改
1.修改默认壁纸
a.在/frameworks/base/core/res/res/drawable-nodpi中添加自定义的壁纸custum_default_wallpaper.png(名称自定义)
b.在/frameworks/base/core/res/res/values/symbols.xml中把名称添加上
<java-symbol type="drawable" name="custum_default_wallpaper" />
c.修改/frameworks/base/core/java/android/app/WallpaperManager.java
public static InputStream openDefaultWallpaper(Context context, @SetWallpaperFlags int which) {
final String whichProp;
final int defaultResId;
if (which == FLAG_LOCK) {
/* Factory-default lock wallpapers are not yet supported
whichProp = PROP_LOCK_WALLPAPER;
defaultResId = com.android.internal.R.drawable.default_lock_wallpaper;
*/
//pang add start 20180107
whichProp = PROP_LOCK_WALLPAPER;
defaultResId = com.android.internal.R.drawable.custum_default_wallpaper ;
//pang end
return null;
} else {
whichProp = PROP_WALLPAPER;
//pang temp
defaultResId = com.android.internal.R.drawable.custum_default_wallpaper ;
//defaultResId = com.android.internal.R.drawable.default_wallpaper;
}
......
}
private InputStream openDefaultWallpaperRes(Context context, @SetWallpaperFlags int which) {
IWallpaperPlugin mWallpaperPlugin = null;
InputStream is = null;
/// M: Init mWallpaperPlugin for Operators @{
try {
mWallpaperPlugin = (IWallpaperPlugin) MPlugin.createInstance(
IWallpaperPlugin.class.getName(), context);
} catch (Exception e) {
Log.e(TAG, "Catch IWallpaperPlugin exception: ", e);
}
/// @}
if (mWallpaperPlugin == null || mWallpaperPlugin.getPluginResources(context) == null) {
is = context.getResources().openRawResource(
com.android.internal.R.drawable.custum_default_wallpaper);
//com.android.internal.R.drawable.default_wallpaper);
} else {
Log.d(TAG, "get the wallpaper image from the plug-in");
is = mWallpaperPlugin.getPluginResources(context).openRawResource(
mWallpaperPlugin.getPluginDefaultImage());
}
return is;
}
2.修改默认中文输入法,我用的是讯飞输入法
a.在frameworks/base/core/res/res/values/string.xml中添加
string name="default_inputmethod">com.iflytek.inputmethod/.FlyIME</string>
b.在/frameworks/base/core/res/res/values/symbols.xml中添加
<java-symbol type="string" name="default_inputmethod" />
c.在frameworks/base/packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java中
private void loadSecureSettings(SQLiteDatabase db) {
.......
loadStringSetting(stmt, Settings.Secure.ENABLED_INPUT_METHODS,
com.android.internal.R.string.default_inputmethod);
loadStringSetting(stmt, Settings.Secure.DEFAULT_INPUT_METHOD,
com.android.internal.R.string.default_inputmethod);
......
}
d.默认激活所有输入法,/frameworks/base/core/java/com/android/internal/inputmethod/InputMethoeUtils.java
public void enableAllIMEsIfThereIsNoEnabledIME() {
//pang temp 20180107
//if (TextUtils.isEmpty(getEnabledInputMethodsStr())) {
if (!TextUtils.isEmpty(getEnabledInputMethodsStr())) {
StringBuilder sb = new StringBuilder();
final int N = mMethodList.size();
for (int i = 0; i < N; i++) {
InputMethodInfo imi = mMethodList.get(i);
Slog.i(TAG, "Adding: " + imi.getId());
if (i > 0) sb.append(':');
sb.append(imi.getId());
}
putEnabledInputMethodsStr(sb.toString());
}
}
d.在vendor/mediatek/proprietary/packages/3rd-party/中创建xunfei文件夹,在里面放置xunfei.apk, Android.mk和armeabi文件夹, 其中armeabie中放置的是讯飞输入法的32位so库,如下
libmsc-v8.so
libsmartaiwrite-jni-v16.so
libsmartaiwrite-jni-v17.so
libsmartaiwrite-jni-v18.so
libsmartaiwrite-jni-v19.so
Android.mk的内容
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
# Module name should match apk name to be installed
LOCAL_MODULE := xunfei
LOCAL_MODULE_OWNER := mtk
LOCAL_MODULE_TAGS := optional
LOCAL_SRC_FILES := $(LOCAL_MODULE).apk
LOCAL_DEX_PREOPT := false
LOCAL_MODULE_CLASS := APPS
LOCAL_MODULE_SUFFIX := $(COMMON_ANDROID_PACKAGE_SUFFIX)
LOCAL_CERTIFICATE := PRESIGNED
#LOCAL_MODULE_PATH := $(TARGET_OUT)/vendor/operator/app
LOCAL_MODULE_PATH := $(TARGET_OUT)/app
LOCAL_PREBUILT_JNI_LIBS :=\
armeabi/libmsc-v8.so \
armeabi/libsmartaiwrite-jni-v16.so \
armeabi/libsmartaiwrite-jni-v17.so \
armeabi/libsmartaiwrite-jni-v18.so \
armeabi/libsmartaiwrite-jni-v19.so \
armeabi/libvadLib-v5.so
LOCAL_MULTILIB := 32
include $(BUILD_PREBUILT)
e.在/device/mediatek/common/device.mk中添加
PRODUCT_PACKAGES += xunfei