Other articles


  1. Kotlin : 使用 VSCode 运行代码

    Published: Thu 26 March 2020
    Updated: Thu 26 March 2020
    By Grape

    In Android.

    tags: Kotlin

    安装扩展

    • Kotlin Language
    • Code Runner

    设置kotlinc路径

    $ANDROID_STUDIO/plugins/Kotlin/kotlinc/bin
    kotlinc -version
    

    安装JDK

    JDK安装完成后,设置路径,使其可以在命令行找到

    java -version
    
    read more
  2. 'Kotlin:object 与 companion object 的区别'

    Title: Kotlin:object 与 companion object 的区别 Date: 2020-03-16 23:24:33 Modified: 2020-03-16 23:24:33 Category: Android Tags: Kotlin Slug: kotlin-object-vs-companion-object

    区别

    • object 可以定义在全局也可以在类的内部使用
    • object 就是单例 …
    read more
  3. Android 8.1 源码分析:PackageInstaller

    Published: Thu 22 August 2019
    Updated: Thu 22 August 2019
    By Grape

    In Android.

    tags: AOSP

    PackageInstallerSession

    源码位置:PackageInstallerSession.java

    commit

    {% include_code lang:java from:689 to:750 aosp/8.1/frameworks/base/services/core/java/com/android/server/pm/PackageInstallerSession.java %} 该方法主要发送了一个MSG_COMMIT消息。下面看Handler如何处理这个消息。

    Handler.Callback

    {% include_code lang:java from …

    read more
  4. The Implementation Details of Android's force-stop

    基于AOSP 8.0.1源码分析force-stop的实现细节。

    使用 force-stop

    am force-stop com.example
    

    com.example 是应用程序包名。

    am命令

    cat /system/bin/am
    #!/system/bin/sh
    if [ "$1" != "instrument" ] ; then
        cmd activity "$@"
    else
        base=/system
        export CLASSPATH=$base/framework/am.jar
        exec app_process $base/bin com …
    read more
  5. Debug Android Framework with Android Studio

    背景

    在阅读Android Framework代码时,有时需要动态调试加深理解,或者想调试某个API的实现原理(如startActivity)时,希望可以使用Android Studio调试,且可以对应到源码的每一行 …

    read more
  6. Android 智能指针

    相关源码

    http://androidxref.com/6.0.1_r10/xref/system/core/include/utils/StrongPointer.h http://androidxref.com/6.0.1_r10/xref/system/core/include/utils/RefBase.h http://androidxref.com/6.0.1_r10/xref/system/core/libutils/RefBase.cpp

    StrongPointer

    INITIAL_STRONG_VALUE 为什么不是0 …

    read more
  7. Android 源码开发

    Title: Android 源码开发 Date: 2019-05-23 15:20:41 Modified: 2019-05-23 15:20:41 Category: Android Tags: Android Slug: build-android-sourcecode

    准备开发环境

    使用docker-aosp搭建

    编译步骤

    source build/envsetup.sh 
    including device/asus/deb/vendorsetup.sh
    including device/asus/flo/vendorsetup …
    read more
  8. Android ClassLoader

    Class

    // http://androidxref.com/6.0.1_r10/xref/libcore/libart/src/main/java/java/lang/Class.java
    public final class Class<T> implements Serializable, AnnotatedElement, GenericDeclaration, Type {
        static native Class<?> classForName(String className, boolean shouldInitialize,
            ClassLoader classLoader) throws ClassNotFoundException;
    }
    

    VMClassLoader

    // http://androidxref.com/6.0.1_r10/xref/libcore/libart/src …
    read more

links

social