显示RAM信息的核心代码是大蛋的,我只不过是整理下教程而已!
大蛋应该不会介意的吧,首先你需要apktool和SystemUI.apk,framework-res.apk
然后开始加载框架和反编译...
$ apktool if framework-res.apk $ apktool d SystemUI.apk
然后把附件里的东西直接解压进去,附件点我
然后添加ID,打开res/values/public.xml,增加下面的ID
memory_info_total
memory_info_free
memory_info_buffers
memory_info_cached
memory_info_swapcached
然后也在res/values/ids.xml也加入上面的ID
最后修改smali/com/android/systemui/recent/MemoryInfoLayout.smali里的ID为你增加的对应ID即可!
接着在res/layout-land/下的Recent panel布局文件中加入以下内容
<com.android.systemui.recent.MemoryInfoLayout android:gravity="center_vertical" android:layout_gravity="bottom" android:clickable="true" android:layout_width="fill_parent" android:layout_height="30.0dip"> <View android:visibility="invisible" android:layout_width="5.0dip" android:layout_height="fill_parent" /> <ImageView android:background="#ff04ff11" android:layout_width="12.0dip" android:layout_height="12.0dip" /> <TextView android:textSize="12.0dip" android:textColor="@color/status_bar_recents_app_label_color" android:ellipsize="marquee" android:id="@id/memory_info_total" android:paddingLeft="5.0dip" android:paddingRight="5.0dip" android:layout_width="wrap_content" android:layout_height="wrap_content" /> <ImageView android:background="#ff061ef2" android:layout_width="12.0dip" android:layout_height="12.0dip" /> <TextView android:textSize="12.0dip" android:textColor="@color/status_bar_recents_app_label_color" android:ellipsize="marquee" android:id="@id/memory_info_free" android:paddingLeft="5.0dip" android:paddingRight="5.0dip" android:layout_width="wrap_content" android:layout_height="wrap_content" /> <ImageView android:background="#fff901e4" android:layout_width="12.0dip" android:layout_height="12.0dip" /> <TextView android:textSize="12.0dip" android:textColor="@color/status_bar_recents_app_label_color" android:ellipsize="marquee" android:id="@id/memory_info_buffers" android:paddingLeft="5.0dip" android:paddingRight="5.0dip" android:layout_width="wrap_content" android:layout_height="wrap_content" /> <ImageView android:background="#fffae602" android:layout_width="12.0dip" android:layout_height="12.0dip" /> <TextView android:textSize="12.0dip" android:textColor="@color/status_bar_recents_app_label_color" android:ellipsize="marquee" android:id="@id/memory_info_cached" android:paddingLeft="5.0dip" android:paddingRight="5.0dip" android:layout_width="wrap_content" android:layout_height="wrap_content" /> <ImageView android:background="#fffd1505" android:layout_width="12.0dip" android:layout_height="12.0dip" /> <TextView android:textSize="12.0dip" android:textColor="@color/status_bar_recents_app_label_color" android:ellipsize="marquee" android:id="@id/memory_info_swapcached" android:paddingLeft="5.0dip" android:layout_width="wrap_content" android:layout_height="wrap_content" /> </com.android.systemui.recent.MemoryInfoLayout>
还需要在res/layout/或者res/layout-port/里的Recent panel布局文件里加入以下内容
<com.android.systemui.recent.MemoryInfoLayout android:gravity="center_vertical" android:layout_gravity="bottom" android:clickable="true" android:layout_width="fill_parent" android:layout_height="30.0dip"> <View android:visibility="invisible" android:layout_width="5.0dip" android:layout_height="fill_parent" /> <ImageView android:background="#ff04ff11" android:layout_width="10.0dip" android:layout_height="10.0dip" /> <TextView android:textSize="10.0dip" android:textColor="@color/status_bar_recents_app_label_color" android:ellipsize="marquee" android:id="@id/memory_info_total" android:paddingLeft="5.0dip" android:paddingRight="5.0dip" android:layout_width="wrap_content" android:layout_height="wrap_content" /> <ImageView android:background="#ff061ef2" android:layout_width="10.0dip" android:layout_height="10.0dip" /> <TextView android:textSize="10.0dip" android:textColor="@color/status_bar_recents_app_label_color" android:ellipsize="marquee" android:id="@id/memory_info_free" android:paddingLeft="5.0dip" android:paddingRight="5.0dip" android:layout_width="wrap_content" android:layout_height="wrap_content" /> <TextView android:textSize="10.0dip" android:textColor="@color/status_bar_recents_app_label_color" android:ellipsize="marquee" android:id="@id/memory_info_buffers" android:visibility="gone" android:layout_width="wrap_content" android:layout_height="wrap_content" /> <ImageView android:background="#fffae602" android:layout_width="10.0dip" android:layout_height="10.0dip" /> <TextView android:textSize="10.0dip" android:textColor="@color/status_bar_recents_app_label_color" android:ellipsize="marquee" android:id="@id/memory_info_cached" android:paddingLeft="5.0dip" android:layout_width="wrap_content" android:layout_height="wrap_content" /> <TextView android:textSize="10.0dip" android:textColor="@color/status_bar_recents_app_label_color" android:ellipsize="marquee" android:id="@id/memory_info_swapcached" android:visibility="gone" android:layout_width="wrap_content" android:layout_height="wrap_content" /> </com.android.systemui.recent.MemoryInfoLayout>
然后重新编译并替换dex跟布局文件就好了