Android Studio for Platform (ASfP) 使用教程

文章目录


归纳的很清楚,下载Repo并下载源码->可以参考我的 Framework入门のPiex 6P源码(下载/编译/刷机)

启动图标(重启生效)

shell 复制代码
[Desktop Entry]
Encoding=UTF-8
Name=AndroidStudio                                     
Comment=AndroidStudio                                  
Exec=/opt/android-studio-for-platform/bin/studio.sh
Icon=/opt/android-studio-for-platform/bin/studio.png
Terminal=false
StartupNotify=true
Type=Application
Categories=Application;Development;

OR
/opt/android-studio-for-platform/bin/studio.sh

编写脚本

bash 复制代码
#!/usr/bin/env bash
 
export LOG_ACCOUNT=tmp
export LOG_FILENAME=repo-sync
export REPO_URL='https://mirrors.tuna.tsinghua.edu.cn/git/git-repo'
 
aosp_branch=android-11.0.0_r9
 
if [ ! -d ".repo" ]; then
    repo init -u https://mirrors.tuna.tsinghua.edu.cn/git/AOSP/platform/manifest -b $aosp_branch
    repo_stat=$?
    if [ $repo_stat -ne 0 ]; then
        echo "init repo faild, please try again"
        exit 0
    fi
else
    log -o -- "local .repo dir exists"
fi
 
try_count=0
echo "from remote sync aosp"
 
repo sync
repo_stat=$?
while [ $repo_stat -ne 0 ]; do
    log -o -- "sync faild, status: $repo_stat, try again in 5s ..."
    sleep 5
    repo sync
    repo_stat=$?
    ((try_count++))
done
 
echo "sync repo over, try_count: $try_count"
echo "sync over, success"

下载源代码

lunch 查看版本

bash 复制代码
Lunch menu... pick a combo:
     1. aosp_arm-eng
     2. aosp_arm64-eng
     3. aosp_blueline-userdebug
     4. aosp_blueline_car-userdebug
     5. aosp_bonito-userdebug
     6. aosp_bonito_car-userdebug
     7. aosp_bramble-userdebug
     8. aosp_car_arm-userdebug
     9. aosp_car_arm64-userdebug
     10. aosp_car_x86-userdebug
     11. aosp_car_x86_64-userdebug
     12. aosp_cf_arm64_auto-userdebug
     13. aosp_cf_arm64_phone-userdebug
     14. aosp_cf_x86_64_phone-userdebug
     15. aosp_cf_x86_auto-userdebug
     16. aosp_cf_x86_phone-userdebug
     17. aosp_cf_x86_tv-userdebug
     18. aosp_coral-userdebug
     19. aosp_coral_car-userdebug
     20. aosp_crosshatch-userdebug
     21. aosp_crosshatch_car-userdebug
     22. aosp_flame-userdebug
     23. aosp_flame_car-userdebug
     24. aosp_redfin-userdebug
     25. aosp_sargo-userdebug
     26. aosp_sunfish-userdebug
     27. aosp_taimen-userdebug
     28. aosp_trout_arm64-userdebug
     29. aosp_trout_x86-userdebug
     30. aosp_walleye-userdebug
     31. aosp_walleye_test-userdebug
     32. aosp_x86-eng
     33. aosp_x86_64-eng
     34. arm_krait-eng
     35. arm_v7_v8-eng
     36. armv8-eng
     37. armv8_kryo385-eng
     38. beagle_x15-userdebug
     39. beagle_x15_auto-userdebug
     40. car_x86_64-userdebug
     41. db845c-userdebug
     42. fuchsia_arm64-eng
     43. fuchsia_x86_64-eng
     44. hikey-userdebug
     45. hikey64_only-userdebug
     46. hikey960-userdebug
     47. hikey960_tv-userdebug
     48. hikey_tv-userdebug
     49. pixel3_mainline-userdebug
     50. poplar-eng
     51. poplar-user
     52. poplar-userdebug
     53. qemu_trusty_arm64-userdebug
     54. silvermont-eng
     55. uml-userdebug
     56. yukawa-userdebug
     57. yukawa_sei510-userdebug

lunch product_name-build_variant
product_name 作为需要构建的产品
build_variant 作为需要构建的变体
PS:安卓官网这步给出的 lunch aosp_arm-eng在实际编译完成后是无法正常运行的,这个是很大的,很多人都是在这一步卡住了很久

真正能在模拟器上运行的是 lunch sdk_phone_x86_64


开始编译

shell 复制代码
Syncing targets: [frameworks, packages/apps/Settings]

Preparing for sync...
Updating MAX_ARG_STRLEN to 131072

Generating Soong artifacts...
/bin/bash -c "source build/envsetup.sh && lunch sdk_phone_x86_64 && echo ANDROID_PRODUCT_OUT=$ANDROID_PRODUCT_OUT && refreshmod"

Refreshing modules (building module-info.json). Log at /data/android-11.0.0_r9/out/target/product/generic_x86_64/module-info.json.build.log.
============================================
PLATFORM_VERSION_CODENAME=REL
PLATFORM_VERSION=11
TARGET_PRODUCT=sdk_phone_x86_64
TARGET_BUILD_VARIANT=eng
TARGET_BUILD_TYPE=release
TARGET_ARCH=x86_64
TARGET_ARCH_VARIANT=x86_64
TARGET_2ND_ARCH=x86
TARGET_2ND_ARCH_VARIANT=x86_64
HOST_ARCH=x86_64
HOST_2ND_ARCH=x86
HOST_OS=linux
HOST_OS_EXTRA=Linux-5.15.0-86-generic-x86_64-Ubuntu-20.04.4-LTS
HOST_CROSS_OS=windows
HOST_CROSS_ARCH=x86
HOST_CROSS_2ND_ARCH=x86_64
HOST_BUILD_TYPE=release
BUILD_ID=RD1A.200810.020.A1
OUT_DIR=out
PRODUCT_SOONG_NAMESPACES=device/generic/goldfish device/generic/goldfish-opengl hardware/google/camera hardware/google/camera/devices/EmulatedCamera device/generic/goldfish device/generic/goldfish-opengl
============================================
ANDROID_PRODUCT_OUT=/data/android-11.0.0_r9/out/target/product/generic_x86_64

编译成功

IDE占用内存高达8G

虚拟机设置

https://developer.android.com/studio/platform?hl=zh-cn

https://adtxl.com/index.php/archives/85.html

https://blog.csdn.net/u011897062/article/details/133065217

相关推荐
千里马学框架2 天前
一起学 Android 14:ShellTransition 屏幕旋转过程深度剖析
android·智能手机·性能优化·framework·性能·屏幕旋转·rotation
美狐美颜SDK开放平台2 天前
开发直播APP时如何接入视频美颜SDK?开发流程与注意事项
android·人工智能·计算机视觉·音视频·直播美颜sdk
AFinalStone2 天前
Android7 SystemUI源码解析(七)Keyguard锁屏模块深度解析
android·systemui
致远ccc2 天前
Google Play 上架前如何测试 App?多国家 Android 环境测试
android·app测试·googleplay·多国家应用测试
ttyyttemo2 天前
Kotlin 协程中的 Job 结构化并发与取消
android
sun0077002 天前
tbox 4g/5g切换,导致wan ip 改变,导致车机旧网络不可用。需要重启车机才行
android
其实防守也摸鱼2 天前
内网穿透与反向代理:原理、工具与实战指南
android·大数据·运维·安全·网络安全·自动化·渗透
AFinalStone2 天前
Android7 SystemUI 源码解析(四)NavigationBar 导航栏与 SystemBars
android·systemui
JMchen2 天前
属性动画原理与高级动画实现
android·kotlin·canvas
AFinalStone2 天前
Android7 SystemUI 源码解析(二)启动流程深度解析
android·systemui