<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[silently_frog的博客]]></title><description><![CDATA[请多多关照]]></description><link>https://blog.youkuaiyun.com/silently_frog</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; silently_frog]]></copyright><item><title><![CDATA[android ---- 多渠道、多模块下自动化发布maven]]></title><link>https://blog.youkuaiyun.com/silently_frog/article/details/127447924</link><guid>https://blog.youkuaiyun.com/silently_frog/article/details/127447924</guid><author>silently_frog</author><pubDate>Wed, 26 Oct 2022 18:17:46 +0800</pubDate><description><![CDATA[多渠道、多模块下自动化发布maven]]></description><category></category></item><item><title><![CDATA[手写android Log 源码（简单版）]]></title><link>https://blog.youkuaiyun.com/silently_frog/article/details/127273933</link><guid>https://blog.youkuaiyun.com/silently_frog/article/details/127273933</guid><author>silently_frog</author><pubDate>Sat, 15 Oct 2022 16:36:17 +0800</pubDate><description><![CDATA[实现android 源码中 log 的 socket通信功能]]></description><category></category></item><item><title><![CDATA[gcc4.9 编译stdatomic.h 异常]]></title><link>https://blog.youkuaiyun.com/silently_frog/article/details/127254533</link><guid>https://blog.youkuaiyun.com/silently_frog/article/details/127254533</guid><author>silently_frog</author><pubDate>Mon, 10 Oct 2022 23:37:30 +0800</pubDate><description><![CDATA[gcc 编译stdatomic.h头文件报错]]></description><category></category></item><item><title><![CDATA[android 消除字体上下间距]]></title><link>https://blog.youkuaiyun.com/silently_frog/article/details/126228367</link><guid>https://blog.youkuaiyun.com/silently_frog/article/details/126228367</guid><author>silently_frog</author><pubDate>Mon, 08 Aug 2022 16:11:47 +0800</pubDate><description><![CDATA[android 字体上下不要间距（留白）]]></description><category></category></item><item><title><![CDATA[shell 的基本用法]]></title><link>https://blog.youkuaiyun.com/silently_frog/article/details/125211080</link><guid>https://blog.youkuaiyun.com/silently_frog/article/details/125211080</guid><author>silently_frog</author><pubDate>Sat, 23 Jul 2022 19:04:54 +0800</pubDate><description><![CDATA[shell 学习记录]]></description><category></category></item><item><title><![CDATA[linux 学习使用gdb]]></title><link>https://blog.youkuaiyun.com/silently_frog/article/details/125566210</link><guid>https://blog.youkuaiyun.com/silently_frog/article/details/125566210</guid><author>silently_frog</author><pubDate>Sun, 03 Jul 2022 23:38:25 +0800</pubDate><description><![CDATA[学习使用linux自带的gdb调试工具]]></description><category></category></item><item><title><![CDATA[Android10 硬件抽象层（HAL）概要介绍和学习计划]]></title><link>https://blog.youkuaiyun.com/silently_frog/article/details/124741899</link><guid>https://blog.youkuaiyun.com/silently_frog/article/details/124741899</guid><author>silently_frog</author><pubDate>Thu, 12 May 2022 23:20:04 +0800</pubDate><description><![CDATA[写本篇文章目的：
参考了罗升阳的《Android硬件抽象层（HAL）概要介绍和学习计划》, 发现老罗的博客内容是很久以前写的。直接运行会有些代码api过时，且android版本太低不太适合我门现在的学习。所以想写了本篇文章，本篇文章代码都会直接复制老罗博客的，并按照他的博客内容格式修改相关过时内容。
编译环境：
   - android 版本 - android-10.0.0_r41
   - 架构 - aosp_x86_64-eng
   - 内核分支：android-goldfish-4.14-gchi]]></description><category></category></item><item><title><![CDATA[android10 在Ubuntu上为Android系统的Application Frameworks层增加硬件访问服务]]></title><link>https://blog.youkuaiyun.com/silently_frog/article/details/124739402</link><guid>https://blog.youkuaiyun.com/silently_frog/article/details/124739402</guid><author>silently_frog</author><pubDate>Thu, 12 May 2022 23:17:37 +0800</pubDate><description><![CDATA[修改…/frameworks/base目录下的Android.bp
然后执行 mmm ./frameworks/base/core/java/android/os/
 注意：千万别执行mmm ./frameworks/base,这个命令会将base中的所有文件都编译一遍，会导致一些多余Apk，导致。。。 
在/frameworks/base/services/ core /java/com/android/server目录下新建HelloService.java文件 （添加了一些日志）
package co]]></description><category></category></item><item><title><![CDATA[android10 在Ubuntu为Android硬件抽象层（HAL）模块编写JNI方法提供Java访问硬件服务接口]]></title><link>https://blog.youkuaiyun.com/silently_frog/article/details/124598782</link><guid>https://blog.youkuaiyun.com/silently_frog/article/details/124598782</guid><author>silently_frog</author><pubDate>Thu, 12 May 2022 23:05:37 +0800</pubDate><description><![CDATA[#define LOG_TAG "HelloService"
#include &lt;nativehelper/JNIHelp.h&gt;
#include "jni.h"
#include &lt;utils/Log.h&gt;
#include &lt;utils/misc.h&gt;
#include &lt;utils/String8.h&gt;
#include &lt;dirent.h&gt;
#include &lt;fcntl.h&gt;
#include &lt;stdio.h&gt;
]]></description><category></category></item><item><title><![CDATA[Android 10增加硬件抽象层（HAL）模块访问Linux内核驱动程序]]></title><link>https://blog.youkuaiyun.com/silently_frog/article/details/124286628</link><guid>https://blog.youkuaiyun.com/silently_frog/article/details/124286628</guid><author>silently_frog</author><pubDate>Wed, 20 Apr 2022 21:32:18 +0800</pubDate><description><![CDATA[error: use of GNU old-style field designator extension [-Werror,-Wgnu-designator]

]]></description><category></category></item><item><title><![CDATA[在Ubuntu上为Android 10 系统内置C可执行程序测试Linux内核驱动程序]]></title><link>https://blog.youkuaiyun.com/silently_frog/article/details/124261023</link><guid>https://blog.youkuaiyun.com/silently_frog/article/details/124261023</guid><author>silently_frog</author><pubDate>Mon, 18 Apr 2022 22:51:25 +0800</pubDate><description><![CDATA[编译环境：
   - android 版本 - android-10.0.0_r41
   - 架构 - aosp_x86_64-eng
   - 内核分支：android-goldfish-4.14-gchips

参考教材：
 罗升阳：https://blog.youkuaiyun.com/luoshengyang/article/details/6571210
 
 依赖前文：https://blog.youkuaiyun.com/silently_frog/article/details/124184244

目的

记录]]></description><category></category></item><item><title><![CDATA[在Ubuntu上为Android 10 系统编写Linux内核驱动程序]]></title><link>https://blog.youkuaiyun.com/silently_frog/article/details/124184244</link><guid>https://blog.youkuaiyun.com/silently_frog/article/details/124184244</guid><author>silently_frog</author><pubDate>Thu, 14 Apr 2022 23:26:49 +0800</pubDate><description><![CDATA[编写环境：
   - android 版本 - android-10.0.0_r41
   - 架构 - aosp_x86_64-eng
   - 内核分支：android-goldfish-4.14-gchips

参考资源
 罗升阳：https://blog.youkuaiyun.com/luoshengyang/article/details/6568411

目的

这篇博客的主要目的是补充罗升阳博客中我认为不够详细的地方和修改部分由于代码过时导致的编译错误。

补充不够详细的地方


内核源码下载参考：htt]]></description><category></category></item><item><title><![CDATA[android ----- goldfish内核编译]]></title><link>https://blog.youkuaiyun.com/silently_frog/article/details/124063445</link><guid>https://blog.youkuaiyun.com/silently_frog/article/details/124063445</guid><author>silently_frog</author><pubDate>Tue, 12 Apr 2022 21:16:06 +0800</pubDate><description><![CDATA[error: Cannot generate ORC metadata for CONFIG_UNWINDER_ORC=y, please install libelf-dev, libelf-devel or elfutils-libelf-devel

sudo apt-get install libelf-dev

fatal error: openssl/bio.h: No such file or directory
21 | #include &lt;openssl/bio.h&gt;

su.]]></description><category></category></item><item><title><![CDATA[android10 源码编译异常记录]]></title><link>https://blog.youkuaiyun.com/silently_frog/article/details/124003593</link><guid>https://blog.youkuaiyun.com/silently_frog/article/details/124003593</guid><author>silently_frog</author><pubDate>Wed, 06 Apr 2022 23:58:16 +0800</pubDate><description><![CDATA[android源码编译异常
编译环境：

ubuntu20.04
android11
emulator x86

1. 启动模拟器后，进入模拟器桌面闪退，并报错：android emulator Segmentation fault (core dumped)
解决方法：
  1. 更新ubuntu 驱动
      android emulator Segmentation fault (core dumped)
  2. 编译目录下的/out/target/product/generic_x86/con]]></description><category></category></item><item><title><![CDATA[Android S 适配问题 “Installed Build Tools revision 31.0.0 is corrupted ”]]></title><link>https://blog.youkuaiyun.com/silently_frog/article/details/119449111</link><guid>https://blog.youkuaiyun.com/silently_frog/article/details/119449111</guid><author>silently_frog</author><pubDate>Fri, 06 Aug 2021 10:53:45 +0800</pubDate><description><![CDATA[主要原因是 SDK 31 缺少了两个文件：dx.bat 和 dx.jar
解决方法：
在sdk\build-tools\31.0.0目录下找到d8.bat,将其名字改为dx.bat.
在sdk\build-tools\31.0.0\lib目录下找到d8.jar，将其名字改为dx.jar

]]></description><category></category></item><item><title><![CDATA[Android ----------- LayoutInflater的由来]]></title><link>https://blog.youkuaiyun.com/silently_frog/article/details/115135015</link><guid>https://blog.youkuaiyun.com/silently_frog/article/details/115135015</guid><author>silently_frog</author><pubDate>Wed, 24 Mar 2021 18:19:21 +0800</pubDate><description><![CDATA[如果我们的 MainActivity 继承的是 AppCompatActivity,则在onCreate()中 设置LayoutInflater#Factory2

activity.onCreate() -------&gt;AppCompatActivity.onCreate()------&gt; AppCompatDelegateImpl.installViewFactory() ----------LayoutInflater.setFactory2()

而设置的Factory...]]></description><category></category></item><item><title><![CDATA[Android ----------  ANR]]></title><link>https://blog.youkuaiyun.com/silently_frog/article/details/115034555</link><guid>https://blog.youkuaiyun.com/silently_frog/article/details/115034555</guid><author>silently_frog</author><pubDate>Sat, 20 Mar 2021 22:10:47 +0800</pubDate><description><![CDATA[导致Anr 可能的原因：

输入事件(按键和触摸事件)5s内没被处理: Input event dispatching timed out
	BroadcastReceiver的事件(onRecieve方法)在规定时间内没处理完(前台广播为10s，后台广播为60s)：Timeout of broadcast BroadcastRecord
	07-27 19:18:47.448 1707 1766 W BroadcastQueue: Receiver during timeout: ResolveInfo{]]></description><category></category></item><item><title><![CDATA[iOS ----------- 记录Xcode打AdHoc证书的测试ipa包]]></title><link>https://blog.youkuaiyun.com/silently_frog/article/details/111369407</link><guid>https://blog.youkuaiyun.com/silently_frog/article/details/111369407</guid><author>silently_frog</author><pubDate>Fri, 18 Dec 2020 15:25:45 +0800</pubDate><description><![CDATA[就是使用AdHoc 证书打包










]]></description><category></category></item><item><title><![CDATA[设计模式 ------- 仿写Android  RxJava 中的装饰器模式]]></title><link>https://blog.youkuaiyun.com/silently_frog/article/details/110438004</link><guid>https://blog.youkuaiyun.com/silently_frog/article/details/110438004</guid><author>silently_frog</author><pubDate>Tue, 01 Dec 2020 18:11:48 +0800</pubDate><description><![CDATA[仿写RxJava中的装饰器模式：



整个例子的背景：用户选择商品、下单、店家发货、快递、拿到商品。

交易类：Delivery


public abstract class Delivery {
    public abstract void transport(Product product);

    public void arrive(Product product){
        transport(product);
    }

    // 创建订单与收获地址
    publ]]></description><category></category></item><item><title><![CDATA[android -------- 使用 Retrofit2 问题集锦]]></title><link>https://blog.youkuaiyun.com/silently_frog/article/details/110187649</link><guid>https://blog.youkuaiyun.com/silently_frog/article/details/110187649</guid><author>silently_frog</author><pubDate>Thu, 26 Nov 2020 15:01:52 +0800</pubDate><description><![CDATA[遇见的问题：

1. 访问报404

a. 可能一：baseUrl中的字符串没有以“/”结尾



b. 可能二：在使用了注解@Path时，其值中存在/会被编译为乱码。

举个例子： baseUrl= "https://www.baidu.com/"


   @FormUrlEncoded
   @POST("{bus}")
   Call&lt;PersonInfoResponse&gt; getUserInfo(@Path("bus") String bus,
                   .]]></description><category></category></item></channel></rss>