
做系统做 ROM 的遇到那些隐藏的 API 怎么改?特别是像系统设置这种东西,感觉改起来好难呀。编译的时候编译不过去,还有 @hide 这种方法必须用到的需要怎么做。
1 scys 2017 年 2 月 22 日 我只是用过 MTK 范畴的 ROM ,@hide 是不公开的 API ,你直接改代码就行。 如果你修改了 @hide ,就需要提供 SDK 出去给别人编译 APK 用。 |
2 thinkloki OP |
3 scys 2017 年 2 月 22 日 你将你代码放在系统内一起编译,就可以用到 hide 的 API |
4 thinkloki OP |
5 scys 2017 年 2 月 22 日 make update-api 需要更新 API 的列表 |
6 Vindroid 2017 年 2 月 22 日 改这种,我向来是凭直觉改,导入的包各种红叉,没法很好的判断改没改对,改一点编译一点看有没有问题 |
7 thinkloki OP @scys 我前两天 make update-api 也保这个错误 make: *** [out/target/common/docs/api-stubs-timestamp] Error 45 。 |
9 LancerXin 2017 年 2 月 22 日 大厂的 rom,系统内部大多数 app 一般都是用 ide 编译出来的,他们会修改 sdk 添加自己的 android.jar,这里面方法没有 hide 的,而且包含所有 internal 的类和方法. 这样做的好处很明显,就是只需要招应用开发的人才就可以了. 这种做法类似 aosp 和 gms 的关系,gms 是预编译好的. 其实你自己也可以编译自己的 sdk,方法我不多说了,楼上很多都说了. |
10 scys 2017 年 2 月 22 日 根据你回复的 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 年 2 月 22 日 反射 |
17 thinkloki OP |
21 thinkloki OP |
22 coolypf 2017 年 2 月 26 日 |