标签: android-source

如何轻松找到android类的源代码

我知道我可以从https://android.googlesource.com访问android源代码,但如果我只知道软件包和android类的名称,那么很难选择正确的git repo.

是不是有办法在https://android.googlesource.com中找到文件?

android android-source

8
推荐指数
1
解决办法
2万
查看次数

ADB,Android Debug Bridge,Android开源项目中的组件源代码在哪里

这篇文章中,我知道Android Debug Bridge由三个组件组成:

  1. 亚行客户

  2. ADB服务器

  3. 设备或模拟器上的守护进程

我想从各自的源代码中更深入地了解这些组件.现在,我发现:

  1. ADB客户:./ system/core/add/adb_client

  2. ADB服务器:./ system/core/add/adb

  3. 设备或模拟器上的守护进程:不知道它在框架项目中的位置......

android adb android-source

8
推荐指数
1
解决办法
5714
查看次数

如何在自定义应用程序中使用Android Stock Calendar中的视图(月,日,周)

在Google Stock Android日历中存在多个视图(月,周,议程,周),从Google Android Sources Repositories下载的源代码具有相同的应用程序,通过探索代码,命名包com.android.calendar具有负责呈现这些活动的主视图:

在此输入图像描述

通过努力解决代码,我使用了两个包com.android.calendar.month,com.android.calendar但无法实现我的目标,这是我使用的示例:

在此输入图像描述

以及主要的以下代码:

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
}
Run Code Online (Sandbox Code Playgroud)

这是我的xml代码:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/month"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:fillViewport="true"
    android:paddingTop="1dip"
    android:background="@null">

    <TextView android:id="@+id/month_name"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:paddingTop="10dip"
        android:visibility="gone"
        style="@style/MonthView_MiniMonthLabel" />

    <include android:id="@+id/day_names" layout="@layout/full_month_header" />

     <View
        android:background="@color/calendar_grid_line_inner_vertical_color"
        android:layout_height="1px"
        android:layout_width="match_parent" />

    <com.android.calendar.month.MonthListView
        android:id="@android:id/list"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:drawSelectorOnTop="false" />

</LinearLayout>
Run Code Online (Sandbox Code Playgroud)

直到这里代码工作正常,但有一个空白的白色屏幕和一个操作栏,如果我的问题不明确请尝试编辑它.

What should be done to include Calendar Views (Month, Week, Day) in a custom application ?
Run Code Online (Sandbox Code Playgroud)

android android-source android-xml android-view

8
推荐指数
1
解决办法
1万
查看次数

如何在没有整个回购历史的情况下仅下载AOSP源代码的工作目录?

最新的AOSP源代码的大小相当大(.repo目录大约为30-35 Gb,工作目录大约为15 Gb).有没有办法只下载最新版本的源代码(官方棉花糖版本)的快照,而没有整个回购历史记录?这样可以节省很多带宽和存储空间.

git android android-source

8
推荐指数
1
解决办法
4010
查看次数

Android的源代码中DISALLOW_FUN的含义是什么?

http://developer.android.com/reference/android/os/UserManager.html,我们可以找到名为DISALLOW_FUN的奇怪字符串变量,该变量指定是否允许用户玩得开心.

但是,我无法理解它的含义.

任何解释?

android android-source

8
推荐指数
2
解决办法
1800
查看次数

Android系统服务的SELinux策略定义:如何设置?

我之前写过一个独立的守护进程来访问自定义设备(/ dev/mydev0).看看AOSP源代码,我认为我需要在以下文件中设置策略才能使其工作:

新文件device.te包含:

type mydev_device, dev_type;
Run Code Online (Sandbox Code Playgroud)

新文件mydevsrvc.te包含

# service flash_recovery in init.rc
type mydevsrvc_type, domain;
type mydevsrvc_type_exec, exec_type, file_type;

init_daemon_domain(mydevsrvc_type)

allow mydevsrvc_type mydev_device:chr_file rw_file_perms;
Run Code Online (Sandbox Code Playgroud)

编辑file_contexts添加:

/dev/mydev[0-9]*    u:object_r:mydev_device:s0
Run Code Online (Sandbox Code Playgroud)

编辑service_contexts添加:

mydevsrvc                  u:object_r:mydevsrvc_type:s0
Run Code Online (Sandbox Code Playgroud)

并通过编辑init.flo.rc来启动守护进程以包含以下行:

service mydevsrvc /system/bin/mydevsrvc
    class main
    user system
    group system
    seclabel u:r:mydevsrvc_type:s0
    oneshot
Run Code Online (Sandbox Code Playgroud)

现在,我需要访问Android应用程序中的设备,所以我必须将守护进程更改为Android系统服务.

我可以使用BOOT_COMPLETED意图启动服务(线程),如前一个问题中所述

我无法弄清楚如何设置SELinux策略,以便此java服务也能够访问dev文件.

[更新]为此,我继续使用特权守护进程.我的java服务通过套接字连接到守护进程.我没有更好的解决方案.

service android selinux android-source

8
推荐指数
1
解决办法
9327
查看次数

如何在我的应用程序打开且屏幕打开时允许Android打瞌睡?

我正在创建一个应用程序,它将在设备锁定时运行Activity#setShowWhenLocked(true).我不想阻止设备进入低功耗状态.我知道系统会这样做Always-On Display,并且显示器具有相关的电源模式:

/frameworks/base/core/java/android/view/Display.java

286    /**
287     * Display state: The display is dozing in a low power state; it is still
288     * on but is optimized for showing system-provided content while the
289     * device is non-interactive.
290     *
291     * @see #getState
292     * @see android.os.PowerManager#isInteractive
293     */
294    public static final int STATE_DOZE = ViewProtoEnums.DISPLAY_STATE_DOZE; // 3
295
296    /**
297     * Display state: The display is dozing in a suspended low power …
Run Code Online (Sandbox Code Playgroud)

android android-source android-doze-and-standby android-doze android-9.0-pie

8
推荐指数
1
解决办法
453
查看次数

Jenkins Android构建失败 - 无法构建libwebviewchromium.so

需要一些建议或想法.

我正在尝试用Jenkins构建Android 5.1.1 Lollipop.但它无法构建libwebviewchromium.so:

...
out/target/product/generic/obj/GYP/shared_intermediates/blink/bindings/core/v8/V8SVGNumber.cpp:55: error: undefined reference to 'blink::SVGNumberTearOff::setValue(float, blink::ExceptionState&)'
out/target/product/generic/obj/STATIC_LIBRARIES/third_party_WebKit_Source_core_webcore_generated_gyp_intermediates/SVGElementFactory.cpp:383: error: undefined reference to 'blink::SVGMetadataElement::create(blink::Document&)'
external/chromium_org/third_party/WebKit/Source/core/svg/SVGNumberTearOff.h:45: error: undefined reference to 'blink::SVGNumberTearOff::SVGNumberTearOff(WTF::PassRefPtr<blink::SVGNumber>, blink::SVGElement*, blink::PropertyIsAnimValType, blink::QualifiedName const&)'
collect2: error: ld returned 1 exit status
make: *** [out/target/product/generic/obj/SHARED_LIBRARIES/libwebviewchromium_intermediates/LINKED/libwebviewchromium.so] Error 1
Run Code Online (Sandbox Code Playgroud)

同时,当我尝试手动构建它时,它成功:

. build/envsetup.sh
set_stuff_for_environment
lunch zh2_qemu_eng
make clean
make -j24
Run Code Online (Sandbox Code Playgroud)

我想知道当使用控制台时相同的操作可以成功,并且在使用Jenkins时失败.你能和我分享你的想法吗?

PS构建机器有24GB RAM和15GB交换文件,以及512 GB SSD闪存盘(62%可用).操作系统是Ubuntu 14.04LTS,64位.

$ free -m
             total       used       free     shared    buffers     cached
Mem:         24021      22079       1942         75       4778       8768
-/+ buffers/cache:       8532      15488
Swap:        16036        345      15691
Run Code Online (Sandbox Code Playgroud)

android android-source jenkins webviewchromium android-5.1.1-lollipop

8
推荐指数
2
解决办法
221
查看次数

无论如何要控制宋什么时候选择Android.bp,什么时候不?

随着新的构建系统,即"Soong",Android的替代Android.mk使用Android.bp。Android Q 以后,无论文件在哪里,Soong都会选择所有Android.bp文件。早些时候,对于 2 级和 3 级模块,除非 .bp 指示,否则不会拾取 Android.bp 文件"optional_dirs"。现在这也已被弃用。引用 android 源代码的platform/build/soong/root.bp

// Soong finds all Android.bp and Blueprints files in the source tree,
// subdirs= and optional_subdirs= are obsolete and this file no longer
// needs a list of the top level directories that may contain Android.bp
// files.
Run Code Online (Sandbox Code Playgroud)

我查看了Soongapi 并找到了一个叫做"visibility" 的东西,使用它我们可以将包设为私有或公开或隐藏;但无论哪种方式,它都不会停止Soong挑选包裹的Android.bp. 现在似乎没有办法说不Soong选择特定的Android.bp …

android go android-source

8
推荐指数
0
解决办法
1227
查看次数

重建 android 代码时出现错误“连接到 Jack 服务器时出现 SSL 错误。尝试“插孔诊断”

系统:ubuntu 18.04环境?VirtualBox 第一次在Ubuntu 18.04上编译AOSP源码,通过了,第二次编译失败。这是一条错误消息。

[ 10% 538/4980] Ensuring Jack server is installed and started
FAILED: setup-jack-server 
/bin/bash -c "(prebuilts/sdk/tools/jack-admin install-server prebuilts/sdk/tools/jack-launcher.jar prebuilts/sdk/tools/jack-server-4.11.ALPHA.jar  2>&1 || (exit 0) ) && (JACK_SERVER_VM_ARGUMENTS=\"-Dfile.encoding=UTF-8 -XX:+TieredCompilation\" prebuilts/sdk/tools/jack-admin start-server 2>&1 || exit 0 ) && (prebuilts/sdk/tools/jack-admin update server prebuilts/sdk/tools/jack-server-4.11.ALPHA.jar 4.11.ALPHA 2>&1 || exit 0 ) && (prebuilts/sdk/tools/jack-admin update jack prebuilts/sdk/tools/jacks/jack-4.32.CANDIDATE.jar 4.32.CANDIDATE || exit 47 )"
Jack server already installed in "/home/user/.jack-server"
Communication error with Jack server (35), try 'jack-diagnose' or see Jack server log
SSL error when …
Run Code Online (Sandbox Code Playgroud)

android curl openssl libcurl android-source

8
推荐指数
1
解决办法
3633
查看次数