Android P(9.0/API Level 28) 升级不完全教程

自从去年Google强制升级target API到26之后,Google就开始计划着下一波的升级,而这次是要升级到9, 也就是target API level 28,而且日期也已经定了 “November 1, 2019″。

以前每次API升级都是小打小闹,并不会有那种大规模的改动,而这次改动就有点大了。当然这次强制target API升级对国内开发者的影响会小一些,因为毕竟不用发布到Google Play,而国内应用市场这么多,各个要求也都参差不齐,所以短期还是安全的。

这次改动其实动的最大的就是非官方API的调用,也包含”Java Reflection”,基本上可以说国内要用到的那些动态APP升级方案都基本被伤了,网上搜了一下,也找到一些厅淫技巧,可以绕过去官方的这个限制,正所谓道高一尺,魔高一丈,但总的来说这样做是不推荐的,因为不知道系统又做个升级,就把这些方案给干掉。官文给了黑名单列表和灰名单列表,黑名单是一定要修复的,灰名单只是一个过渡阶段,后面看Google的心情什么时候在系统层面强制执行,那就必须都修复。2019年的Google IO大会在即,就看这次Google有什么表示。

具体我们需要做什么/take away

把官方相关的文档都看过了,下面这些是我认为比较重要的地方

  • Migration to androidx/JetPack
  • Network TLS enabled by default, so need double check https is enable by default.
  • Non SDK APIs call scanning,

Android AppWidget如何支持复杂的View

如果看不惯博客排版,请点这里

Android AppWidget如何支持复杂的View

一直想知道如何在AppWidget里面添加 ListView,EditText 这些复杂的View.我们知道要在AppWidget里添加 View都是通过RemoteView来做到了,然而RemoteView本身功能很弱,支持的操作很少,而且支持RemoteView的Widget很少:
在Dev Guide中有下面这段:


A RemoteViews object (and, consequently, an App Widget) can support the following layout classes:

    * FrameLayout
    * LinearLayout
    * RelativeLayout

And the following widget classes:

    * AnalogClock
    * Button
    

Android:快速修改ramdisk.img脚本

有时候要修改Android的ramdisk.img,如果每次都将那些命令都敲一遍,那确实有点烦,那有没有快速简单的方法呢?有,就是将这些命令放在一起,创建了一个简单的脚本:
这个脚本很简单,直接将脚本放到放有ramdisk.img的目录下,运行就行了,
运行时,输入1,会将ramdisk.img解压出来,输入2会将修改后的ramdisk重新打包成ramdisk.img。

root@o-2rl2:/home/percy# cat shell/ramdisk
#!/bin/bash

echo "Modify the ramdisk.img"

echo "1.Inflate the image"
echo "2.Create the image"

read -p "Choose:" CHOOSE

#case ${CHOOSE} in
#1)inflate();;
#2)create() ;;
#esac


if [ "1" = ${CHOOSE} ];then
	echo "inflate()"
	cp ramdisk.img 

Android Browser Introduction:CallbackProxy.java分析

文件在:frameworks\base\core\java\android\webkit
CallbackProxy:
这是一个继承自Handle的类,用来实现UI和WebViewCore之间交换的桥梁.
它里面定义了很多函数,这些函数里面基本上都只是完成了一个sendmessage的作用.它将message发送给自身的HandleMessage().然后按照类型再进去分发.
它定义了一些事件ID:

    // Message Ids
    private static final int PAGE_STARTED         = 100;
    private static final int RECEIVED_ICON        = 101;
    private static final int RECEIVED_TITLE       = 102;
    private static final int OVERRIDE_URL         = 103;
    private static final int 

Android live cd试用及介绍

无意中看到了有人创建了Android live cd镜像文件,能够和linux桌面系统一样,通过镜像文件引导进系统,运行在X86架构的系统之上,看起来真的很不错。心里自然就有了想一探究竟的冲动。
项目主页在这里:http://code.google.com/p/live-android/
据其介绍可以在VirtualBox和Vmware上运行,自然我的首选是VirtualBox,由于前一段时间将VirtualBox删掉了,所以还得重装。装VirtualBox过程中遇到了一些问题,试了好几个版本终于发现XXbin-2.2.2可以用了。
很想知道是否能够在普通的PC上运行,但估计现在是比较困难的。目前好像只能在下列电脑中运行:
EeePC 701 , EeePC 701SD, EeePC 900, EeePC 900A, EeePC 901, EeePC 904HD, EeePC 1000, EeePC 1000HD 见:http://code.google.com/p/patch-hosting-for-android-x86-support/

废话少说,说下过程:
1.下载
在这个地方说得很清楚:http://live-android.googlecode.com/files/readmefirst.txt
下载那两个ISO文件:
wget http://live-android.googlecode.com/files/liveandroidv0.2.iso.001
wget http://live-android.googlecode.com/files/liveandroidv0.2.iso.002
然后把它们组装:
cat liveandroidv0.2.iso.001 liveandroidv0.2.iso.002 liveandroidv0.2.iso
再验证MD5:
md5sum liveandroidv0.2.iso…