android 5.0 clone project 的方式

Clone Project 指的是对现有的Project创建出新的Project

后面指令中使用的变量含义如下:

$BASE_PROJECT 指的是新Project的基础Project

$NEW_PROJECT 指的是将创建的新的Project

$PLATFORM 指的是平台信息,如MT6795等

$COMPANY 指的是开案公司的名字,如lenovo, tinno, huawei等等。

cd bootable/bootloader/preloader/custom   :(clone preloader)

输入以下指令

cp -r  ${BASE_PROJECT}   ${NEW_PROJECT}

mv ${NEW_PROJECT}/${BASE_PROJECT}.mk   ${NEW_PROJECT}/${NEW_PROJECT}.mk

sed -i  s/${BASE_PROJECT}/${NEW_PROJECT}/g  ${NEW_PROJECT}/${NEW_PROJECT}.mk

cd bootable/bootloader/lk   : (clone lk)

输入以下指令

cp project/${BASE_PROJECT}.mk  project/${NEW_PROJECT}.mk

cp -r target/${BASE_PROJECT}  target/${NEW_PROJECT}

sed -i  s/${BASE_PROJECT}/${NEW_PROJECT}/g  project/${NEW_PROJECT}.mk

sed -i s /${BASE_PROJECT}/${NEW_PROJECT}/g  target/${NEW_PROJECT}/include/target/cust_usb.h

cd kernel-3.10/     :(clone kernel)

输入以下指令

cp -r drivers/misc/mediatek/mach/mt6795/${BASE_PROJECT}  drivers/misc/mediatek/mach/mt6795/${NEW_PROJECT}

cp arch/arm64/configs/${BASE_PROJECT}_defconfig   arch/arm64/configs/${NEW_PROJECT}_defconfig

cp arch/arm64/configs/${BASE_PROJECT}_debug_defconfig   arch/arm64/configs/${NEW_PROJECT}_debug_defconfig

cd kernel-3.10/arch/arm64/

sed -i s/${BASE_PROJECT}/${NEW_PROJECT}/g   configs/${NEW_PROJECT}_defconfig

sed -i s/${BASE_PROJECT}/${NEW_PROJECT}/g   configs/${NEW_PROJECT}_debug_defconfig

cp boot/dts/ ${BASE_PROJECT}.dts  boot/dts/ ${NEW_PROJECT}.dts

clone android

cp -r device/${COMPANY}/${BASE_PROJECT}   device/${COMPANY}/${NEW_PROJECT}

mv device/${COMPANY}/${NEW_PROJECT}/full_${BASE_PROJECT}.mk   device/${COMPANY}/  ${NEW_PROJECT}/full_${NEW_PROJECT}.mk

cp -r vendor/mediatek/proprietary/custom/${BASE_PROJECT}  vendor/mediatek/proprietary/custom/${NEW_PROJECT}

cp vendor/mediatek/proprietary/trustzone/project /${BASE_PROJECT} mk  vendor/mediatek/proprietary/trustzone/project /${NEW_PROJECT } mk

cp md32/md32/project /${BASE_PROJECT} .mk md32/md32/project /${NEW_PROJECT} .mk

sed -i s/${BASE_PROJECT}/${NEW_PROJECT}/g  device/${COMPANY}/${NEW_PROJECT}/AndroidProducts.mk

sed -i s/${BASE_PROJECT}/${NEW_PROJECT}/g  device/${COMPANY}/${NEW_PROJECT}/BoardConfig.mk

sed -i s/${BASE_PROJECT}/${NEW_PROJECT}/g  device/${COMPANY}/${NEW_PROJECT}/device.mk

sed -i s/${BASE_PROJECT}/${NEW_PROJECT}/g  device/${COMPANY}/${NEW_PROJECT}/full_${NEW_PROJECT}.mk

sed -i s/${BASE_PROJECT}/${NEW_PROJECT}/g  device/${COMPANY}/${NEW_PROJECT}/vendorsetup.sh

sed -i s/${BASE_PROJECT}/${NEW_PROJECT}/g  vendor/mediatek/proprietary/custom/${NEW_PROJECT}/Android.mk

If share libraries with ${BASE_PROJECT}

sed -i s#vendor/${COMPANY}/libs/${NEW_PROJECT}#vendor/${COMPANY}/libs/${BASE_PROJECT}#g device/${COMPANY}/${NEW_PROJECT}/device.mk

If not share libraries with ${BASE_PROJECT}

cp –r vendor/${COMPANY}/libs/${BASE_PROJECT}  vendor/${COMPANY}/libs/${NEW_PROJECT}

时间: 2024-10-08 23:52:14

android 5.0 clone project 的方式的相关文章

android 5.0 imageButton自带阴影解决方案

偶然发现,当android 5.0在按如下方式使用ImageButton时,会有自带的阴影,如图: <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" xmlns:app="http://schemas.android.com/apk/res-auto"

The project target (Android 6.0) was not properly loaded或者The rendering target (Android 6.0) is still loading.

第一步:在project上右键选择Properties,然后选择Android, 然后在Project Build Target那里选择其他的Target试试: 第二步: 我选了6.0之后,就有菜单可以选了: ,然后这个Android Version,可以选低版本的,渲染就成功了.还不成功的话可能是布局里有EditText,而且没有指定inputType.

appium在android 7.0真机上运行报错command failed shell:............ps:&#39;uiautomator&quot;的解决方式

appium版本:1_4_16 在CSDN中找到相关解决的方案,根据此解决方案顺利的解决了让人惆怅的问题,再次记录. 1.找到appium安装目录下的adb.js文件,目录为:Appium\node_modules\appium\node_modules\appium-adb\lib 2.打开adb.js,可使用notepad++编辑器等打开文件(说明:在修改代码的时候先注释掉以前的代码,并且添加自己容易识别的标记,以防出错后还有回旋的余地,或者将代码备份也可行),找到如下代码: ADB.pro

Android 7.0 之后相机/文件读写等权限获取方式改变,导致开启相机闪退

在 Android 7.0 之前 Google 提供的动态申请权限的 API,可以调用相机拍照,访问SDcard等操作都只需要申请对应的权限,如下: <uses-permission android:name="android.permission.CAMERA" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 但是 7.0 更新之

Android 7.0 以上 Charles 和 Fiddler 无法抓取 HTTPS 包的解决方式

Android 7.0 以上 Charles 和 Fiddler 无法抓取 HTTPS 包的解决方式 https://johnnyshieh.me/posts/android-7-capture-https-package/ 发表于 2019-05-06 | 分类于 Android| 0| 阅读次数 最近升级了 targetSdkVersion 到 28 后发现在 Android 7.0 以上机型 Charles 抓取 https 包时显示找不到证书,但是 Android 6.0 机型还是可以正

[Android编译(二)] 从谷歌官网下载android 6.0源码、编译并刷入nexus 6p手机

1 前言 经过一周的奋战,终于从谷歌官网上下载最新的android 6.0.1_r62源码,编译成功,并成功的刷入nexus6p,接着root完毕,现写下这篇博客记录一下实践过程. 2 简介 自己下载android系统源码,修改定制,然后编译刷入安卓手机,想想还有点小激动呢.简单点说一句话--定制我们自己的MIUI,这就是android的魅力,这篇博客博主就来教大家实现自己的定制系统. 首先,要明白下面的基础知识: (1) 什么是aosp? aosp就是android open source p

Android 7.0 Nougat(牛轧糖)---对开发者来说

android 7.0出来了.让你的app准备迎接最新的android版本吧,支持节省电量和内存,这样新的系统行为.使用多窗口UI.直接恢复通知以及其他操作来扩展你的app. android 7.0介绍了各种各样的新功能给用户和开发者, 本文重点介绍面向开发者的一些新功能. 确保检查android 7.0的行为变化,了解有关平台的变化可能会影响你的app. 如果要了解更多的关于用户的新功能,请查看www.android.com. 1.支持多窗口 在android 7.0中,我们介绍了在支持多窗口

【译】Android 7.0 for Developers

译者注: 译者:aroundme 原文地址:https://developer.android.com/about/versions/nougat/android-7.0.html 主要是介绍Android 7.0提供新特性. 翻译的动机主要是为了适配Android 7.0,提前踩点.防止大坑. 就翻译来看,除去一些可有可无的更新之外,关注点主要是集中在四点: * 通知栏一系列更新 * 对于应用后台优化(或者说限制) * WebView持续性更新(混合开发需要注意) * 对于GPU的优化,优化3

Android 5.0 技术新趋势

由于 Android 的版本分裂比较严重,整个新系统升级可能需要一两年甚至更长时间.所以目前使用 Android 5.0 的大部分是喜欢尝鲜的用户,同时现在市场上能够很好支持 Android 5.0 的应用又很少,如果开发者能捕捉这个机会,从这些用户那里得到更好的反馈,或者更好的证明机会,都是非常有价值的. 在 Android 5.0 发布之后,我认为有几个地方可以让开发者做得更好,比如可以建立一个更好看的应用,或者能够解决在应用中最大的性能问题——电量消耗的问题,等等.同时 Android 5