做系统做 ROM 的遇到那些隐藏的 API 怎么改?特别是像系统设置这种东西,感觉改起来好难呀。编译的时候编译不过去,还有 @hide 这种方法必须用到的需要怎么做。
1
scys 2017-02-22 14:57:46 +08:00
我只是用过 MTK 范畴的 ROM ,@hide 是不公开的 API ,你直接改代码就行。
如果你修改了 @hide ,就需要提供 SDK 出去给别人编译 APK 用。 |
2
thinkloki OP |
3
scys 2017-02-22 15:19:43 +08:00
你将你代码放在系统内一起编译,就可以用到 hide 的 API
|
4
thinkloki OP |
5
scys 2017-02-22 16:03:10 +08:00
make update-api
需要更新 API 的列表 |
6
Vindroid 2017-02-22 16:03:54 +08:00
改这种,我向来是凭直觉改,导入的包各种红叉,没法很好的判断改没改对,改一点编译一点看有没有问题
|
7
thinkloki OP @scys 我前两天 make update-api 也保这个错误 make: *** [out/target/common/docs/api-stubs-timestamp] Error 45 。
|
9
LancerXin 2017-02-22 16:47:11 +08:00
大厂的 rom,系统内部大多数 app 一般都是用 ide 编译出来的,他们会修改 sdk 添加自己的 android.jar,这里面方法没有 hide 的,而且包含所有 internal 的类和方法.
这样做的好处很明显,就是只需要招应用开发的人才就可以了. 这种做法类似 aosp 和 gms 的关系,gms 是预编译好的. 其实你自己也可以编译自己的 sdk,方法我不多说了,楼上很多都说了. |
10
scys 2017-02-22 16:47:48 +08:00
根据你回复的 Error 45 你只有慢慢细查或者上网查,没头绪
|
13
thinkloki OP |
15
thinkloki OP @scys 4.4.4 的命令还跟别的版本命令不一样?
. build/envsetup.sh lunch sdk-eng make sdk-j4 上面这个命令试过,去掉 @hide 报 Error 45 . build/envsetup.sh lunch sdk-eng make PRODUCT-sdk-sdk 这个也试过,一样的问题。 |
16
jokerman 2017-02-22 17:21:07 +08:00
反射
|
17
thinkloki OP |
21
thinkloki OP |
22
coolypf 2017-02-26 09:45:24 +08:00
|