标签: android-source

如何使用Android源代码编译Helloworld

我想用AOSP运行helloworld应用程序并在模拟器中看到它.[不通过Android SDK设置]

我按照http://source.android.com/source/download.html中的步骤操作, 并成功编译了/ directory中的完整代码.

我可以在〜/ mydroid/out/target/product/generic/system/app中看到contacts.apk,camera.apk所有应用程序apk.

我尝试了两件事.

1 - 去/ package/apps文件夹.拿了一个helloworld应用程序(在android-sdk中创建的helloworld文件夹),并从Launcher2文件夹中复制了一个'Android.mk'文件,保留了我的应用程序新名称,并将该文件夹放在packages/app文件夹中并在/编译.我看不到为〜/ mydroid/out/target/product/generic/system/app创建的.apk文件.

2 - 我在'Android,mk'文件的packages/app文件夹中更改了Launcher2的软件包名称,并在root用户编译.我无法在〜/ mydroid/out/target/product/generic/system/app下的新打包名称上看到新的apk.

我尝试了几次活动名称,manifest.xml文件中的应用程序名称的更改.没有什么能反映出来.但是可以肯定的是,helloworld和包名的变化都会在编译时被拾取.我可以看到中间类被创建了.〜/ mydroid/out/target/common/obj/APPS/manifirst_intermediates/src/com/android/mani - > manifirst就像我创建和运行的helloworld.〜/ mydroid /出/目标/普通/ OBJ/APPS/Launcher2_intermediates/src目录/ COM /安卓/发射器

任何人都可以分享在AOSP中编写一个简单的Helloworld程序的步骤.

谢谢,玛尼

android android-source

6
推荐指数
1
解决办法
3639
查看次数

如何下载Android的谷歌源代码

如您所知,https://android.googlesource.com/中列出了数百个项目.我想在windows机器上全部下载它们.根据谷歌的文件,

To install, initialize, and configure Repo:

$ curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
$ chmod a+x ~/bin/repo


To clone the entire platform, install repo, and run:

mkdir mydroid
cd mydroid
repo init -u https://android.googlesource.com/platform/manifest
repo sync
Run Code Online (Sandbox Code Playgroud)

但是,在我的机器中,我无法在Git Bash中"repo init",因为它说它没有python.我安装了python,但git bash无法识别它.请注意,我也将python目录设置为系统路径.如果有人能给出小费,我将不胜感激.谢谢

更新:我认为新版本的Git Bash for Windows存在问题.系统路径根本不适用于Git Bash - 我可以轻松测试系统路径是否与命令提示符一起使用.无论如何,我尝试了这个,当然它实际上运行错误.

  /c/python27/python.exe  ../bin/repo init -u https://android.googlesource.com/platform/manifest
Run Code Online (Sandbox Code Playgroud)

错误消息是

 $ /c/python27/python.exe ../bin/repo init -u https://android.googlesource.com/platform/manifest
 Traceback (most recent call last):
   File "../bin/repo", line 91, in <module>
    import readline
 ImportError: No module named readline …
Run Code Online (Sandbox Code Playgroud)

python windows git android android-source

6
推荐指数
1
解决办法
8050
查看次数

Android AOSP项目导入eclipse

所以,这不像其他问题.我基本上有一个问题

Android项目构建系统使用Android.mk文件.

是否有任何eclipse插件可以解析mk文件并允许我将这些项目加载到eclipse中?基本上导入Android.mk文件项目...

eclipse android makefile android-source

6
推荐指数
1
解决办法
7128
查看次数

我能以编程方式在Android上播放电台吗?

我在我的s2上有一个预定义的应用程序,让我收听广播.它不使用互联网,而是使用周围的无线电波.有什么方法可以使用该功能以编程方式启动无线电并搜索广播电台?

android android-source

6
推荐指数
1
解决办法
2488
查看次数

如何调试android框架服务?

是否可以调试android框架的系统服务?

我遇到过这些链接,但没有成功调试系统服务.

http://android.opensourceror.org/2010/01/18/android-source/

debugging service android frameworks android-source

6
推荐指数
2
解决办法
7913
查看次数

我应该如何分叉AOSP应用程序?

背景

我正在研究拨号器应用程序.我愿意使应用程序opensource.我努力分叉AOSP拨号器应用程序(链接).

但是,我以前没有经历过AOSP申请.几个小时后,我发现它非常困难.

方法尝试

我正在使用Android Studio工作.我已将AOSP组件的资源和源代码复制为我项目中的模块.依赖关系可以解决.

主要困难

  1. 依赖性过多.从make文件(链接),拨号器依赖于ContactsCommon(链接),InCallUI(链接),android-common(链接),vcard(链接)等.我尝试通过导入这些模块解决依赖关系.然而,出现了更多的问题.

  2. 只有权限才能被授予系统应用程序.

  3. 有些方法只能由系统应用程序看到.它们对用户应用程序是隐藏的.

  4. 具有重复名称和产品属性的字符串资源.我已经读过它们应该在预编译时处理.但是,是否可以使用Gradle处理它们?

目标

我的目标是发布类似于ExDialer(链接)的增强型拨号器应用程序.我没有制作另一台拨号器来替换自定义ROM中的原始拨号器.

因此,根本不需要许多依赖性和权限.我只是不知道如何分离AOSP应用程序的"系统"部分和"用户"部分.

提议的方法

我很可能会复制和修改资源和源代码,而不是分支原始的AOSP拨号器.他们是否有更好的方法来分配AOSP应用程序,从而重用现有资源和源代码?

android android-source

6
推荐指数
0
解决办法
710
查看次数

有选择地下载Android源代码

我正在关注Google关于如何下载Android源代码的文档。但是我的ISP速度很慢,我已经下载了5天了。

我已经注意到它下载了许多我不想要的设备(例如LG nexus等)的支持。是否可以轻松地仅下载核心源代码和对Nexus 7(2013,flo)的支持?

android android-source repo

6
推荐指数
1
解决办法
831
查看次数

Fastboot flash system.img错误

当我尝试通过fastboot system.img(从我的自定义AOSP版本)闪存到Sony Xperia Z3时,我收到以下错误:

# fastboot flash system system.img 
sending 'system' (584106 KB)...
OKAY [ 18.294s]
writing 'system'...
FAILED (remote: size too large)
finished. total time: 18.297s
Run Code Online (Sandbox Code Playgroud)

Z3有大约2GB的系统分区,我不知道为什么闪存失败.

android sony android-source fastboot

6
推荐指数
2
解决办法
4万
查看次数

在Android上通过libhardware使用GPS

在AOSP有libhardare库包含接口,GPS驱动器- gps.h.使用此界面,您可以在低级别(C++)上访问GPS驱动程序,打开GPS并获取设备的当前位置.

在互联网上有几个项目,使用这个GPS接口.例如,这个由kanru创建.这段代码几乎完美 - 我可以连接到GPS驱动程序并获得正确的位置.

但是我遇到了一个问题.如果您使用kanru项目打开GPS驱动程序,并在一段时间后通过标准方法(在GUI中)打开GPS,那么C++程序将突然停止从GPS驱动程序接收信息.同时在GUI中,您可以看到GPS已开启,您可以启动Google地图或任何其他GPS相关应用程序并获取坐标.

我尝试GpsInterface通过hw_device_t指针重启,关闭和打开GPS驱动程序,甚至重启整个C++可执行文件 - 没有效果.重启程序后GPS驱动程序改变状态GPS_STATUS_ENGINE_ON然后 - 静音.

我还试图改变行动的顺序.我在GUI中启用了GPS,启动了Google地图并等了几分钟才到达我的位置.然后我开始了我的C++程序.它成功连接到GPS驱动程序并开始获取位置数据.同时GUI与GPS驱动器"丢失"连接.

我尝试在Android 4.2和5.1的几个设备上测试我的程序,并在大多数设备上遇到同样的问题.只有搭载Android 5.1的三星S6,我的程序能够在各种条件下完美运行.

在某些设备上似乎配置了GPS驱动程序,以便它只能与一个数据消费者一起使用.

也许有人遇到过类似的问题?

c++ gps android android-source

6
推荐指数
0
解决办法
837
查看次数

Android O HIDL不可用

我有Android O HIDL的问题.失败日志显示它无法找到服务.

但是我可以看到它 adb shell ps -A | grep fingerprint

system       18758     1   17408   3276 pipe_wait  7c79e93e08 R android.hardware.biometrics.fingerprint@2.1-service`
Run Code Online (Sandbox Code Playgroud)

任何人都可以给我一个如何解决问题的提示吗?我检查了https://source.android.com/devices/architecture/hidl/但无法获得解决方案.

错误日志:

08-21 06:00:35.864  1890  2264 V FingerprintService: mDeamon was null, reconnect to fingerprint
08-21 06:00:35.864  1890  2264 I system_server: Looking for service android.hardware.biometrics.fingerprint@2.1::IBiometricsFingerprint/default
08-21 06:00:35.864  2240  2240 D wpa_supplicant: nl80211: Set mode ifindex 24 iftype 2 (STATION)
08-21 06:00:35.866   566   566 W /system/bin/hwservicemanager: getTransportFromManifest: Cannot find entry android.hardware.biometrics.fingerprint@2.1::IBiometricsFingerprint in either framework or device manifest, using default transport. …
Run Code Online (Sandbox Code Playgroud)

android hal android-source android-hardware android-8.0-oreo

6
推荐指数
2
解决办法
7410
查看次数