Android系统源代码下载

从零构建AI辅助逆向分析环境:JADX-MCP与LLM的实战集成指南 本文详细介绍了如何从零构建AI辅助逆向分析环境,通过集成JADX-MCP与LLM技术,提升Android应用逆向工程效率。文章涵盖环境搭建、插件安装、MCP服务器配置及实战案例分析,帮助开发者快速掌握AI在代码理解、漏洞挖掘和自动化文档生成中的应用。 阅读详情

Android系统源代码下载

一、概述

众所周知,Android移动操作系统是Google花费了很大的财力、物力及人力的前提下,推广到世界各个角落,以开放源代码的方式(当然也不是完全开放所有),使其在世界范围内迅速漫延开来,到目前虽说只有三四年的时间 ,火热程度,也不用我细说了,看看业界新闻就明白了。这里我们主要讨论Android系统源代码的下载,这里我们先了解两个工具:

1、Git

Git是面向Linux内核管理的一个工具,它是一种分布式的版本控制系统,即每一个工作目录下都是一个完整的仓库,因此也支持离线工作, 在本地提交后,便会稍后更新到服务器上。它这种结构比集中式版本控制系统(如常见的SVN、CVS等只有一个完整仓库)更加健壮。

2、repo

其实repo只是用Python编写的一个脚本,它是为了更好、更方便地管理Android操作系统下多个组成部分,如Kernel、Dalivk、Bionic、prebuild、build等多个项目。repo的目的就是为了统一管理这些项目,简化Git的使用过程。

3、curl

curl是一个利用URL语法在命令行模式下的文件传输工具。这里我们用它来获取repo脚本。

二、源代码下载步骤

   1、环境介绍:

首先介绍一下我的环境:Windows7下通过Vmare 7.1虚拟出Ubuntu10.4.2 系统 (当然将Ubuntu安装到硬盘上也一样,只是我这Linux系统不方便上网)

2、操作步骤:

1)、安装Git工具

命令:sudo apt-get install git

当然也可以去http://git-scm.com上下载最新版本的源代码,在本地编译安装,这里不详述了。

2)、安装curl:

命令:sudo apt-get install curl

2)、获取repo脚本并赋执行权限:

说明一下,我打算将此脚本放到~/bin目录下面,并将此目录加入到环境变量PATH里,以方便运行repo

命令:mkdir ~/bin

            cd ~/bin

curl http://android.git.kernel.org/repo>~/bin/repo

chmod 755 repo

若已经将~/bin目录添加到PATH变量中了,就可以在任意目录下执行repo了。
3)、初始化库

首先创建你要存放Android源代码的目录,这里我下载到~/android_src目录下,

命令:mkdir ~/android_src

cd ~/android_src

repo init –u git://android.git.kernel.org/platform/manifest.git

repo sync

上面这句命令会将当前主线上的最新版本的源代码库全部取下来,若只需要其中一部分代码,也可通过再加一个-b [branchname]参数来取指定的分支代码。

此下载过程就跟网络情况,下载时间一般都会很长,我这具体时间也不太清楚,一般是晚上睡觉前开始下载,早上起来一看,已经下载完毕了。

三、扩展

待补充。。。




Android 4.3源码的下载和编译环境的安装及编译

本文的目录结构

1、源码的下载

2、编译环境的搭建

3、编译源代码

4、允许模拟器

5、相关出错的处理方法

Google于2013.07.25发布了Android4.3的源码及其相关产品,下面把本人在ubuntu10.04 的64位系统上下载源码,和编译源码做个记录备份,也供有需要的人参考,难免有错,敬请见谅,还忘勿吝啬指出。

源代码下载、编译环境安装、源代码编译和运行模拟器的过程中可能会出现的一些错误在本文最后一章节,若出现类似错误,可以参考。

1、 源码的下载

源代码的下载,首先需要安装以下工具软件:curl 和 git-core

1.1安装curl:

打开终端,可以使用按Ctrl+Alt +T的快捷方式打开终端

在终端中执行命令:sudo apt-get install curl

1.2安装git-core

1.2.1在用户目录下新建bin目录

在终端中执行:mkdir ~/bin

1.2.2安装git-core

在终端中执行:curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/bin/repo

给repo执行权限:chmod a+x ~/bin/repo

注:若是下载repo失败可以到我百度网盘中去下载,下面给出链接:

http://pan.baidu.com/share/link?shareid=3522233410&uk=4278685087

将~/bin添加环境变量,作用是:git软件下载安装在此目录,在别的目录运行可能提示出错:会找不到此软件。

在终端中执行命令:PATH=~/bin:$PATH

1.3 下载源代码

1.3.1进入要源代码将要保存的目录

如我的源代码保存在:、/opt/android4.3

在终端中执行:cd /opt/android4.3 进入到android4.3目录中

1.3.2 下载源代码

对于下载不同版本的android,指定一个manifest分支(即只指明android对应的版本),使用-b参数(即下载某个版本的源代码),目前关于Android 4.3的源码有以下分支:我们可以选择自己需要下载的:

  * [new branch]      android-4.3_r0.9 -> origin/android-4.3_r0.9

 * [new branch]      android-4.3_r0.9.1 -> origin/android-4.3_r0.9.1

 * [new branch]      android-4.3_r1 -> origin/android-4.3_r1

 * [new branch]      android-4.3_r2 -> origin/android-4.3_r2

* [new branch]      android-4.3_r2.1 -> origin/android-4.3_r2.1

我们选择下载最新的源码,具体命令:

~/bin/repo init -u https://android.googlesource.com/platform/manifest -b android-4.3_r2.1

执行此命令会下载一些文件到我们电脑中,这条命令的主要作用是初始化我们要下载的源码的的一些配置文件,看到类似下面的提示,表示初始化完成。

repo has been initialized in /opt/android4.3username@user-desktop:/opt/android4.3$ 

初始化完成后,会在/opt/android4.3目录中生成一个.repo的目录(此目录为隐藏属性的文件,我们可以在终端中使用ls -la命令,或者在文件浏览器中选择“查看”,然后勾选“显示隐藏文件”,就可以看到此目录),此目录保存了将要下载的源代码的相关信息,下面我们开始下载源码

同步获取源码

#~/bin/repo sync

如果中间出现中断,这个很正常,你可以再次输入 ~/bin/repo sync 命令来进行下载。

可以写一个脚本,当中断后,又自动开始下载,可以在我网盘中下载此脚本:reposync

http://pan.baidu.com/share/link?shareid=3522233410&uk=4278685087

把reposync脚本放在你源码的目录,执行./reposync命令就可以了。

根据网速的不同,下载时间也有快慢,最好在睡觉前或下班后下载代码,由于源文件比较大,一般国内都要5小时左右甚至更久。

若是出现以下信息,表示代码以下载完成:

Fetching projects: 100% (166/166), done.  

Syncing work tree: 100% (165/165), done.

源代码下载完成后,/opt/android4.3文件夹的大小为20G左右,其中.repo有10 G+。

运行~/bin/repo sync 还可以重新校对下载的源码,若是有问题或遗漏了一些文件会重新下载,并从.repo目录中导出到实际源码中

注:此步可能会出现下载错误,请查看本文最后部分的说明

2、编译环境的搭建

首先若是没有修改源,请修改为国内的源,从而提高软件的下载安装的速度

可以参考下面博客的内容添加一些速度快的源,如:台湾源、Ubuntu官方上海源、网易、搜狐、

http://hi.baidu.com/houxn22/item/48f0f7d150657c16d80e4468

安装编译所需的软件

1、 安装jdk

官方推荐安装jdk1.6的,现在不支持命令安装了,只有Oracle官网下载,或者可以在本人百度网盘下面的地址中下载:

http://pan.baidu.com/share/link?shareid=2263608836&uk=4278685087

打开后选择jdk-6u45-linux-x64.bin。

安装完后修改环境变量。

2、 安装其它一些编译所需软件

在终端中执行:sudo apt-get install git-core gnupg flex bison gperf build-essential \

  zip curl zlib1g-dev libc6-dev lib32ncurses5-dev ia32-libs \

  x11proto-core-dev libx11-dev lib32readline5-dev lib32z-dev \

  libgl1-mesa-dev g++-multilib mingw32 tofrodos python-markdown \

libxml2-utils xsltproc

基本只要安装以上软件即可,官方网站上说的其它一些软件或者设置可以不用理会。

注:此步可能会出现错误,请查看本文最后部分的说明

3、编译源代码

3.1编译初始化:

在终端中执行:

source build/envsetup.sh

或:

. build/envsetup.sh

执行后输出:

source build/envsetup.sh including device/asus/grouper/vendorsetup.shincluding device/asus/tilapia/vendorsetup.shincluding device/generic/armv7-a-neon/vendorsetup.shincluding device/generic/armv7-a/vendorsetup.shincluding device/generic/mips/vendorsetup.shincluding device/generic/x86/vendorsetup.shincluding device/samsung/maguro/vendorsetup.shincluding device/samsung/manta/vendorsetup.shincluding device/samsung/toroplus/vendorsetup.shincluding device/samsung/toro/vendorsetup.shincluding device/ti/panda/vendorsetup.shincluding sdk/bash_completion/adb.bash

3.2选择编译目标:

在终端中执行下面的命令:

lunch

之后选择你要编译的设备,选择后,会初始化编译的项目的相关文件。

3.3编译代码:

在终端中执行:make -j4

-j4:表示用四个线程来编译

编译根据不同机器的配置不同所需时间也有很大差异。

出现以下信息表示编译完成:

target Java: ContactsTests (out/target/common/obj/APPS/ContactsTests_intermediates/classes)

target Dex: Contacts

Done!

Install: out/target/product/generic/system/app/Browser.odex

Install: out/target/product/generic/system/app/Browser.apk

Note: Some input files use or override a deprecated API.

Note: Recompile with -Xlint:deprecation for details.

Copying: out/target/common/obj/APPS/Contacts_intermediates/noproguard.classes.dex

target Package: Contacts (out/target/product/generic/obj/APPS/Contacts_intermediates/package.apk)

 'out/target/common/obj/APPS/Contacts_intermediates/classes.dex' as 'classes.dex'...

Processing target/product/generic/obj/APPS/Contacts_intermediates/package.apk

Done!

Install: out/target/product/generic/system/app/Contacts.odex

Install: out/target/product/generic/system/app/Contacts.apk

build/tools/generate-notice-files.py  out/target/product/generic/obj/NOTICE.txt  out/target/product/generic/obj/NOTICE.html "Notices for files contained in the filesystem images in this directory:" out/target/product/generic/obj/NOTICE_FILES/src

Combining NOTICE files into HTML

Combining NOTICE files into text

Installed file list: out/target/product/generic/installed-files.txt

Target system fs image: out/target/product/generic/obj/PACKAGING/systemimage_intermediates/system.img

Running:  mkyaffs2image -f out/target/product/generic/system out/target/product/generic/obj/PACKAGING/systemimage_intermediates/system.img

Install system fs image: out/target/product/generic/system.img

DroidDoc took 5331 sec. to write docs to out/target/common/docs/doc-comment-check

编译可能出现的错误,请查看本文最后部分的说明

4、运行模拟器

在终端中执行:emulator

运行模拟器可能出现的错误,请查看本文最后部分的说明

5、相关问题的解决办法

5.1 下载源代码可能会提示的错误

5.1.1error: Exited sync due to fetch errors...

方法一:不理会他,重新执行repo sync命令。

方法二:

关于这个问题其实google是有说明的http://source.android.com/source/downloading.html,为了防止连接数过多,每个ip都需要认证。。。

第一步:从这里the password generator获取用户名和密码,前提是你在之前填写了你的真实姓名和邮箱

第二步:将上面的页面上以machine开头的两行复制到  ~/.netrc文件中

第三步:repo init -u https://android.googlesource.com/a/platform/manifest  多了个“/a”

然后就可以repo sync了

特别注意.netrc文件是在用户的根目录下,root用户就是/目录下,如果没有的话就自己建一个,把权限改为 *00

5.1.2若是出现这个错误:Exited sync due to gc errors 

表示代码基本下载完,需要从repo里面导出来,但是git的版本太低,不支持1.72以下版本。

添加这个源:deb http://ftp.de.debian.org/debian sid main。

在终端中执行:gedit /etc/apt/source.list

在文件的最后添加deb http://ftp.de.debian.org/debian sid main,并保存退出

回到终端中执行:sudo apt-get update

更新完后,安装高版本的git工具

在终端中执行:sudo apt-get install git-core

5.2安装编译环境的软件可能会出现的问题

下列软件包有未满足的依赖关系: libasound2: 破坏: libasound2-plugins (< 1.0.24-0ubuntu3) 但是 1.0.22-0ubuntu6 正要被安装  libglib2.0-0: 破坏: gnome-control-center (< 1:3) 但是 1:2.30.0-0ubuntu4 正要被安装  ppp: 破坏: network-manager (<= 0.8.0.999-1) 但是 0.8-0ubuntu3 正要被安装E: 破损的软件包

某些源有问题,为高版本 ubuntu的源 ,删除即可,如安装高版本的git所用的源就是ubuntu 10.4之后的源,用在10.04上就可以会有问题,引起此提示。

在终端中执行:gedit /etc/apt/source.list

把文件的最后 deb http://ftp.de.debian.org/debian sid main 删除,并保存退出

回到终端中执行:sudo apt-get update

再次重新安装编译环境的软件

5.3、编译可能会遇到的问题:

5.3.1运行make命令后,提示以下错误:/bin/bash: java: command not found

首先检查是否确实安装了jdk,在终端中输入:java -version ,若是有安装jdk,就会显示jdk的版本信息,提示出错,说明没有安装jdk,那么就安装jdk。

安装jdk后还是提示上面的错误信息,则按执行以下命令建立链接文件来解决问题:

sudo ln -s /jdk1.6.0_21/bin/jar ~/bin/jar

sudo ln -s /jdk1.6.0_21/bin/java ~/bin/java

sudo ln -s /jdk1.6.0_21/bin/javac ~/bin/javac

sudo ln -s /jdk1.6.0_21/bin/javah ~/bin/javah

sudo ln -s /jdk1.6.0_21/bin/javadoc ~/bin/javadoc

重新编译若还是提示一样的错误,再执行下面的命令:

sudo ln -s /jdk1.6.0_21/bin/jar /bin/jar

sudo ln -s /jdk1.6.0_21/bin/java /bin/java

sudo ln -s /jdk1.6.0_21/bin/javac /bin/javac

sudo ln -s /jdk1.6.0_21/bin/javah /bin/javah

sudo ln -s /jdk1.6.0_21/bin/javadoc /bin/javadoc

至此java的问题应该可以解决

5.3.2 编译出现以下错误提示:

============================================

Checking build tools versions...

************************************************************

You are attempting to build with the incorrect version

of java.

 Your version is: java version "1.6.0_24".

The correct version is: Java SE 1.6.

 Please follow the machine setup instructions at

    https://source.android.com/source/download.html

************************************************************

build/core/main.mk:141: *** stop。 停止。

切换从普通用户登,然后修改源码目录的存取权限:chmod 777 src

之后再运行编译命令再次编译

5.3.3 No command 'lunch' found, did you mean:

解决方法:

运行以下命令:

source build/envsetup.sh

之后再次运行编译命令:lunch full-eng或lunch full-user ……..

5.4运行模拟器可能会出现的问题:

No command 'emulator' found, did you mean:

编译成功之后,在终端运行emulator命令,却提示: 

No command 'emulator' found, did you mean:

Command 'qemulator' from package 'qemulator' (universe)

emulator: command not found

解决方法:

重新运行以下命令:

source build/envsetup.sh

lunch full-eng

之后再次运行 emulator  命令




网上介绍下载、编译Android方法一坨,读万卷书不如行万里路,以下是笔者亲身经历的(笔者是使用的系统是ubuntu 13.04)。


安装git:

  1. $ sudo apt-get install git-core gnupg  


安装Java JDK6.0:
  1. $ sudo add-apt-repository "deb http://archive.canonical.com/ lucid partner"    
  2. $ sudo apt-get update    
  3. $ sudo apt-get install sun-java6-jdk    


安装flex,bison,gperf,libsdl-dev,libesd0-dev,libwxgtk2.6-dev(可选),build-essential,zip,curl,指令如下:
  1. $ sudo apt-get install git-core gnupg valgrind flex bison gperf libsdl-dev libesd0-dev libwxgtk2.6-dev build-essential zip curl libncurses5-dev zliblg dev  


发现错误:无法找到libwxgtk2.6-dev(注意该选项是可选)。
  1. [sudo] password for banketree:   
  2. Reading package lists... Done  
  3. Building dependency tree         
  4. Reading state information... Done  
  5. Note, selecting 'libsdl1.2-dev' instead of 'libsdl-dev'  
  6. E: Unable to locate package libwxgtk2.6-dev  
  7. E: Couldn't find any package by regex 'libwxgtk2.6-dev'  
  8. E: Unable to locate package zliblg  
  9. E: Unable to locate package dev  

修改后的语句:
  1. $ sudo apt-get install flex bison gperf libsdl-dev libesd0-dev build-essential zip curl libncurses5-dev zlib1g-dev  

获得Android源码(Repo,repo是一个python脚本,用来更简单的获取Android源码,其核心是使用Git来获取源码的)。
创建 ~/android-bin目录,用于存放repo,并将其加入PATH环境变量中
  1. $ cd ~ //进入用户目录  
  2. $ mkdir android-bin  //创建bin文件夹  
  3. $ export PATH=$PATH:~/android-bin    //将~/bin路径加入PATH环境变量中,也可将它加在~/.bashrc文件中  
  4. $ echo $PATH   //可以检查~/bin是否添加入PATH环境变量中  

下载repo脚本,并将它的属性改成可执行
  1. $ curl http://android.git.kernel.org/repo > ~/android-bin/repo  

发现服务器不响应
  1. % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current  
  2.                                Dload  Upload   Total   Spent    Left  Speed  
  3. 0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--       0     0    0     0    0     0      0      0 --:--:--  0:00:01 --:--:--       0     0    0     0    0     0      0      0 --:--:--  0:00:02 --:--:--       0     0    0     0    0     0      0      0 --:--:--  0:00:03 --:--:--       0     0    0     0    0     0      0      0 --:--:--  0:00:04 --:--:--     0curl: (7) Failed connect to android.git.kernel.org:80; No route to host  

更换地址
  1. $ curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/android-bin/repo  

提示有输入邮箱号和密码等操作,但未出现为何?这将导致后面帐号错误!
原来需要手动设置:
  1. git config --global user.email "you@example.com"  
  2. git config --global user.name "Your Name"  

然后修改文件属性
  1. $ chmod +x ~/android-bin/repo  

创建一保存android source的目录
  1. $ mkdir myandroid  
  2. $ cd myandroid  

初始化repo工作环境,获取cupcake分支源码清单
  1. $repo init -u git://android.git.kernel.org/platform/manifest.git –b cupcake  

服务器出现问题,需要修改地址如下:
  1. $ repo init -u https://android.googlesource.com/platform/manifest  
  2. $ repo init -u https://android.googlesource.com/platform/manifest -b android-4.0.1_r1  

不修改的话会出现无法连接等以下错误
  1. Get git://android.git.kernel.org/platform/manifest.git  
  2. fatal: unable to connect to android.git.kernel.org:  
  3. android.git.kernel.org[0: 149.20.4.77]: errno=No route to host  

提示错误:
  1. fatal: unable to auto-detect email address (got 'banketree@banketree-To-be-filled-by-O-E-M.(none)')  

设置帐号问题,我的应该为banketree@gmail.com
设置了帐号问题后,就解决了!~

  1. repo sync  代码同步更新  

提示错误:
  1. error: Failed to connect to 2404:6800:4008:c00::52: Network is unreachable while accessing https://android.googlesource.com/platform/manifest/info/refs?service=git-upload-pack  
  2. fatal: HTTP request failed  

下载是一个漫长的过程!~~~~~~~让它慢慢下载吧!我们忙别的去了~~

重启电脑后发现错误,提示:

No command 'repo' found, did you mean:
 Command 'rep' from package 'rep' (universe)
 Command 'repl' from package 'nmh' (universe)
 Command 'repl' from package 'mailutils-mh' (universe)
repo: command not found

只要删除repo 重新设置一下就OK了。


编译源码,指令如下:
  1. $ cd ~/myandroid  
  2. $ make  

这一步编译出root, system, data三个目录和system.img(系统镜像文件)、userdata.img(用户数据)、ramdisk.img(emulator文件系统)三个镜像,位于out/target/product /generic目录下。这样Android系统就编译完了,可以在Emulator下执行,也可以下载到你的板子上运行!

编译生成的root文件夹内容与android运行时根目录内容相似,ramdisk根文件系统中包含一些对于启动android的很重要的文件,比如内核启动完后加载的第一个进程init、一些重要的配置文件等,总之它控制着整个android的启动。根据init.rc,init.goldfish.rc来初始化并装载系统库、程序等直到开机完成。init.rc脚本包括了文件系统初始化、装载的许多过 程。init.rc的工作主要是:
1)设置一些环境变量
2)创建system、sdcard、data、cache等目录
3)把 一些文件系统mount到一些目录去,如,mount tmpfs tmpfs /sqlite_stmt_journals
4)设置一些文件的 用户群组、权限
5)设置一些线程参数
6)设置TCP缓存大小


 生成的system.img,ramdisk.img,userdata.img映像文件是采用cpio打包、gzip压缩的,可以通过file命令验 证:file ramdisk.img,

输出: ramdisk.img: gzip compressed data, from Unix, last modified:Wed Mar 18 17:16:10 2009 ,
我们可以学习怎么样把 ramdisk.img解压出来。
将ramdisk.img复制一份到任何其他目录下,将其名称改为 ramdisk.img.gz,并使用命令 gunzip ramdisk.img.gz,然后新建一个文件夹,叫ramdisk吧,进入,输入 命令cpio -i -F ../ramdisk.img,这下,你就能看见并操作ramdisk里面的内容了。然后把Android源码编译后生成的system和 userdata里的文件复制到 ramdisk/system和ramdisk/userdata下。这样就得到一个文件系统了。还会发现,根文件系统下的sys就是一个linux。

在android 1.5 模拟器上加载 android 2.1 的系统:
本 文编译出来的3个img文件是2.1版的。可以用system.img和ramdisk.img 替换1.5的版本:
命令如下:
打 开android 1.5的模拟器 ,同时加载system.img和ramdisk.img
emlator -avd sdk_1_5 -ramdisk [ramdisk.img路径] -system [system.img的路径]
启 动后可以看到设置中的手机版本变成了2.1版。


error: Exited sync due to fetch errors

关于这个其实google是有说明的http://source.android.com/source/downloading.html,为了防止连接数过多,每个ip都需要认证。。。

第一步:从这里 the password generator  获取用户名和密码

第二步:将上面的页面上以machine开头的两行复制到  ~/.netrc文件中

第三步:repo init -u https://android.googlesource.com/a/platform/manifest  多了个“/a”

然后就可以repo sync了


特别注意.netrc文件是在用户的根目录下,root用户就是/目录下,如果没有的话就自己建一个,把权限改为 *00



如何在 R 中使用 Gamma 分布(附示例) 在统计学中,伽马分布通常用于模拟与等待时间相关的概率。我们可以使用以下函数来处理 R 中的 gamma 分布:dgamma(x, shape, rate) – 找到具有特定形状和速率参数的 gamma 分布的密度函数值。 pgamma(q, shape, rate) – 找到具有特定形状和速率参数的伽马分布的累积密度函数值。 qgamma(p, shape, rate) – 找到具有特定形状和速率参数的 gamma 分布的逆累积密度函数值。 rgamma(n, shape, rate) – 生成 n 个随机 阅读详情

相关推荐

第三节: 串口通信(用CubeMX学习STM32)

用CubeMX学习STM32, 串口通信学习, 通过轮询方式和中断方式两种方式进行通信演示。 STM32F407zgt6

Kevin_8_Lee的博客 8903

UnicodeDecodeError: ‘ascii‘ codec can‘t decode byte 0xe9 in position 7: ordinal not in range(128)

repo同步仓库文件时,突然中断打印错误信息:error: Exited sync due to fetch errors 网上搜到很多解决办法说是加 -f,即repo -f sync,然而并没有什么用。 后来认真翻看了打印信息,导致错误出现是因为下图: UnicodeDecodeError: 'ascii' codec can't decode byte 0xe9 in position 7: ordinal not in range(128) 因为默认情况下,Python采用的是ascii编码方式,

佳佳鸽的博客 2222

手把手教你用GD32F407VET6的EXMC驱动外部SRAM,搞定大内存需求

本文详细介绍了如何使用GD32F407VET6的EXMC外设驱动外部SRAM,解决嵌入式开发中的大内存需求问题。通过硬件连接方案、EXMC时序配置与初始化步骤,以及软件集成与内存管理技巧,帮助开发者快速实现内存扩展。特别适合需要处理图形显示缓冲、音频处理等大内存场景的GD32F407开发者。

weixin_30752699的博客 345

repo: command not found

I install repo follow as website Installing Repo$ curlhttp://android.git.kernel.org/repo>~/bin/repo$ chmod a+x ~/bin/repo$ mkdir working-directory-name$ cd working-directory-name$ repo in...

weixin_30376453的博客 3789

如何获取SAP BTP账户及BAS启用

返回到 Service Marketplace 点击SAP Business Application Studio 然后go to Application。进入子用户的OverView里面找到Entitlements添加SAP Business Application Studio。注意:在选购BTP免费环境的时候,使用人要选公司才可以成功。在完成上述操作后,就可以登陆Cockpit。这里有SAP官方的BTP试用的手顺链接。配置权限※我绑定的是登录时的邮箱。※过程中有问题可以在评论区讨论。

wangshulong2013的博客 721

四、ARDUINO UNO开发板介绍

(一)ARDUINO UNO开发板 Arduino生态中包括多种开发板、模块、扩展板。其中UNO R3是最适合入门且功能齐全使用量最多的Arduino开发板。以下就是Arduino UNO R3开发板的图片。 (二)ARDUINO UNO开发板基本构成 Arduino开发板设计得非常简洁,一块AVR单片机、一个晶振或振荡器和一个5V的直流电源。常见的开发板通过一条USB数据线连接计算机。Arduino有各式各样的开发板,其中最通用的是Ardui...

简时刻的博客 7万+

找不到命令:repo

<br />转自http://li53262182.blog.163.com/blog/static/1283933872010981341544/<br />在下载android源码的时候用repo时提示找不到命令,可以用如下方法解决,在命令行中输入如下两行:<br /> echo 'export PATH=$PATH:$Home/bin' >> ~/.bashrc<br /> export PATH=$PATH:$HOME/bin<br /><br /> 还 有,如果是提示repo脚本中的字符格

移动星空 1万+

通俗理解Xgboost

为了简化计算,XGBoost采用了一阶导数(梯度)和二阶导数(Hessian)来近似损失函数的变化,从而推导出叶子节点值的更新公式。其中 z 就是所有树的叶子节点分数之和。通过这两个正则化项,XGBoost能够在优化目标函数时,不仅考虑损失函数的最小化,还考虑了模型的复杂度,从而达到更好的泛化性能。正则化项通常包括两个部分:一个是与叶子节点数量相关的项,另一个是与叶子节点输出值大小相关的项。通过这种方式,XGBoost能够有效地计算出每个叶子节点的值,同时通过正则化项来平衡模型的复杂度和泛化能力。

金融风控笔记 750

Repo Sync Error:Exited sync due to fetch errors

Background of the problem: 1) command: $ repo sync -j8 2) error: error: Exited sync due to fetch errors 3) solution:$repo sync -f -j8 As it seems -f or --force-broken flag allows it to recov...

Do what you want 4859

Unity零基础到入门 ☀️| 基础知识入门篇章,看完就可以做游戏啦! | 寻找C站宝藏

Unity入门基础知识。本篇文章介绍了关于Unity入门的一些基础知识,包括基本概念和使用实例。简单易上手,轻松实现Unity入门操作!

努力前行,总会成为自己心中的那道光 1万+

【ComfyUI】QwenImageEdit OOTD角色与姿态匹配换装

本文介绍了一个基于Qwen Edit OOTD 2.0的ComfyUI工作流,能够实现角色与姿态匹配的智能穿搭生成。该工作流通过整合模型推理、姿态识别、图像拼接和渲染等节点,完成从角色图、姿态图到成品穿搭图的完整生成流程。核心采用Qwen Image系列模型进行图像理解和编辑,配合ControlNet进行姿态引导。用户只需提供角色图和姿态参考图,系统即可自动完成姿态解析、语义编码、采样生成等步骤,输出与输入姿态一致的穿搭图像。该方案适用于虚拟角色展示、电商试穿等场景,能保持角色特征一致的同时灵活变换姿态,显

Mr数据杨 1582

Ubuntu13.04环境下载、编译Android源代码

网上介绍下载、编译Android方法一坨,读万卷书不如行万里路,以下是笔者亲身经历的(笔者是使用的系统是ubuntu 13.04)。 安装git: $ sudo apt-get install git-core gnupg 安装Java JDK6.0: $ sudo add-apt-repository "deb http://archive.canonical.c

banketree 1万+

mjlab MuJoCo 人形机器人强化学习入门教程(一)安装配置使用

mjlab是融合IsaacLab API与MuJoCo物理引擎的强化学习工具,提供轻量级GPU加速仿真方案。当前处于测试阶段,支持Linux系统(推荐)和有限macOS支持。核心优势包括:1)直接集成MuJoCo Warp实现裸机性能;2)保留IsaacLab成熟的RL抽象层;3)简化安装流程。与IsaacLab相比更专注于MuJoCo生态,适合刚体机器人RL研究。文档包含详细安装指南、平台兼容性说明、与IsaacLab的API差异对比及常见问题解答。项目正在积极开发中,欢迎社区贡献和反馈。

2506_90492529的博客 1990

编译android 机器要求,安卓系统源代码下载及编译的环境要求

Before you download and build the Android source, ensure yoursystem meets the following requirements:下载和编译安卓源代码之前,确保你的系统满足以下要求A Linux or Mac system. It is alsopossible to build Android in a virtual ma...

weixin_35846141的博客 937

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

Window7系统用git下载安卓源代码

这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入 欢迎使用Ma...

nfclwnihcb的博客 259

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

Android菜鸟的成长笔记(5)——Android系统源代码你下载了吗?

在上一篇中我们用Android系统源代码分析了我们前面写的代码,有的朋友可能就会问怎么才能下载到Google官方的源代码呢?下面我们通过Git管理工具来对Android系统源代码进行下载。另外为了方便有的朋友下载,我将下载好的各个版本的源码存放到360云盘,云盘下载链接如下

水寒 6809

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

Android系统源代码你下载了吗?

Android菜鸟的成长笔记(5)——Android系统源代码你下载了吗? 分类: Android系统 Android学习 Android工具与开发环境2013-12-25 22:46 2626人阅读 评论(4) 收藏 举报 android源码下载 在上一篇中我们用Android系统源代码分析了我们前面写的代码,有的朋友可能就会问怎么才能下载到Google官方的源代码

codepython的专栏 771

ubuntu 怎么下载android源代码 2013,Ubuntu系统下载Android源代码和内核教程

Ubuntu系统下载Android源代码和内核教程,使用ubuntu开发Android。1、安装Git工具。Android源代码采用Git工具来管理,与SVN相比,这是一种分布式的源代码管理工具,而SVN是集中式的源代码管理工具。要安装Git工具,在Ubuntu上执行以下命令即可:USER-NAME@MACHINE-NAME:~$sudoapt-getinstallgit-coregnu...

weixin_35203962的博客 162

Android_下载应用程序源代码(找到系统怎样在"系统设置"中识别哪些应用程序是用户下载(非系统)的应用程序的源代码)...

找到系统怎样在"系统设置"中识别哪些应用程序是用户下载(非系统)的应用程序的源代码 1.打开网址:https://github.com/android 2.在Repositories下输入要搜索的内容,eg:setting,然后下面会直接显示setting源代码对应的地址 3.打开上一步中的地址,复制后 在本地的任意文件夹中 右键git 后把刚才的地址复制到clone里面,克隆完毕...

daying1873的博客 186

【免费下载】 Android系统源代码情景分析 第3版 资源下载

Android系统源代码情景分析 第3版 资源下载 【下载地址】Android系统源代码情景分析第3版资源下载 Android系统源代码情景分析 第3版 资源下载本仓库提供《Android系统源代码情景分析 第3版》的资源文件下载 ...

gitblog_09747的博客 904

Android操作系统源代码下载方法

Android操作系统源代码下载 使用Ubuntu Liunx系统下载Android操作系统源代码,可以参考Andorid官方网站的下载说明: http://source.android.com/source/downloading.html 源代码的站点: https://android.googlesource.com/ 1.安装命令行方式下工作的文件传输工具curl. $ sud

温故而知新 7445

ubuntu 11.10中下载android系统源代码步骤:

ubuntu 11.10中下载android系统源代码步骤: 1、sudo add-apt-repository "deb http://archive.canonical.com/ lucid partner" 2、sudo add-apt-repository "deb http://archive.ubuntu.com/ubuntu hardy main multiverse" 3、s

phenixzhong的专栏 1048

Android系统源代码的下载与编译

http://www.jianshu.com/p/aeaceda41798

HeAiMing 346
上一篇: ASIHTTPRequest概要
下一篇: repo
focusjava
博客等级 码龄14年 127粉丝 528原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值