`
wangzi6hao
  • 浏览: 209583 次
  • 性别: Icon_minigender_1
  • 来自: sdf
社区版块
存档分类
最新评论

android下调用隐藏源码的问题

阅读更多

在做完android源码编译以后,就开始了自己的一个项目,名叫AutoAnswer。
以下是测试调用其他应用程序里的类进行的试验:

--############//实验调用packages/apps/Phone下的类#############----------------
import android.app.Activity;
import android.os.Bundle;
import com.android.phone.PhoneApp;

public class AutoAnswer extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
PhoneApp m = new PhoneApp();//这个是packages/apps/Phone下的类
}
}
 
wangzi6hao@wangzi6hao-desktop:~/android$ make AutoAnswer
============================================
PLATFORM_VERSION_CODENAME=REL
PLATFORM_VERSION=1.6
TARGET_PRODUCT=generic
TARGET_BUILD_VARIANT=eng
TARGET_SIMULATOR=
TARGET_BUILD_TYPE=release
TARGET_ARCH=arm
HOST_ARCH=x86
HOST_OS=linux
HOST_BUILD_TYPE=release
BUILD_ID=Donut
============================================
build/core/copy_headers.mk:15: warning: overriding commands for target `out/target/product/generic/obj/include/libpv/getactualaacconfig.h'
build/core/copy_headers.mk:15: warning: ignoring old commands for target `out/target/product/generic/obj/include/libpv/getactualaacconfig.h'
Header: out/target/product/generic/obj/include/libpv/getactualaacconfig.h
target Java: AutoAnswer (out/target/common/obj/APPS/AutoAnswer_intermediates/classes)
packages/apps/AutoAnswer/src/com/mythlink/autoanswer/AutoAnswer.java:5: 软件包 com.android.phone 不存在
import com.android.phone.PhoneApp;
^
packages/apps/AutoAnswer/src/com/mythlink/autoanswer/AutoAnswer.java:13: 找不到符号
符号: 类 PhoneApp
位置: 类 com.mythlink.autoanswer.AutoAnswer
PhoneApp m = new PhoneApp();
^
packages/apps/AutoAnswer/src/com/mythlink/autoanswer/AutoAnswer.java:13: 找不到符号
符号: 类 PhoneApp
位置: 类 com.mythlink.autoanswer.AutoAnswer
PhoneApp m = new PhoneApp();
^
3 错误
make: *** [out/target/common/obj/APPS/AutoAnswer_intermediates/classes-full-debug.jar] Error 41

 --############//实验调用packages/apps/Phone下的类#############----------------


注:AutoAnswer是我自己在/packages/apps/AutuAnswer是我自己写的一个应用程序。
这是本人调用了/android/packages/apps/Phone/src下的一个PhoneApp类,原意是想得到打和接电话的方法,不用自己 重写就可以直接调用了。却发现怎么编译也不能通过,提示意思是找不到包,找不到类,根本就无法编译。既然如此就尝试改成以下方法:

import android.app.Activity;
import android.os.Bundle;
import android.provider.Calendar;//这个是android系统隐藏类

public class AutoAnswer extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Calendar c = new Calendar();
}
}

 进入android源码根目录
使用make AutoAnswer可以通过了。。。
相当的郁闷,原来不可以调用其它apps应用程序里的包和类,顶多开发了frmaework下,的隐藏类。看来,还是得把phone下的代码理顺,进行重写了。要不就是把相关的类导入我的包里来,更改相应方法以符合我的需要了。

分享到:
评论
1 楼 zhanglufei2010 2011-03-09  
请问怎么样才能导入@hide类呢?
import android.provider.Calendar;//这个是android系统隐藏类

相关推荐

Global site tag (gtag.js) - Google Analytics