- 首先搭建源码开发环境,并编译成功
- AS新建项目,build.gradle
apply plugin: 'com.android.application'
android {
compileSdkVersion 28
defaultConfig {
applicationId "com.myhuanghai.launcher4"
minSdkVersion 26
targetSdkVersion 28
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
implementation 'com.android.support:appcompat-v7:28.+'
}
- 在根目录添加copy.sh,代码如下
#!/bin/bash
SRC="app/src/main/java/*"
RES="app/src/main/res"
ANDROIDMANIFEST="app/src/main/AndroidManifest.xml"
ANDROIDMK="Android.mk"
DES="/work/x3399/vendor/rockchip/common/apps/Launcher4"
rm -fr $DES
mkdir -p $DES/src
cp -r $SRC $DES/src
cp -r $RES $DES
cp $ANDROIDMANIFEST $DES
cp $ANDROIDMK $DES
- 在根目录添加Android.mk,代码如下
LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE_TAGS := optional
LOCAL_CERTIFICATE := platform
LOCAL_STATIC_JAVA_LIBRARIES := \
android-support-v4 \
android-support-v7-appcompat
LOCAL_SRC_FILES := \
$(call all-java-files-under, src) \
$(call all-renderscript-files-under, src)
LOCAL_RESOURCE_DIR += $(LOCAL_PATH)/res \
$(LOCAL_PATH)/../../../../../frameworks/support/v7/appcompat/res
LOCAL_AAPT_FLAGS := --auto-add-overlay
LOCAL_AAPT_FLAGS += --extra-packages android.support.v7.appcompat
LOCAL_PACKAGE_NAME := Launcher4
LOCAL_OVERRIDES_PACKAGES := Launcher4
LOCAL_SDK_VERSION := current
include $(BUILD_PACKAGE)
- 修改AndroidManifest.xml文件,代码如下
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
android:versionCode="1"
android:versionName="1.0.0"
package="com.myhuanghai.launcher4"
android:sharedUserId="android.uid.system">
<uses-sdk android:minSdkVersion="26"/>
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
- 修改以上文件适应自己的项目,并将项目拷贝至编译环境,执行copy.sh
- 执行编译
cd /work/x3399
. build/envsetup.sh
lunch 13
cd vendor/rockchip/common/apps/Launcher4
mm
- 如下编译成功
root@ubuntu:/work/x3399/vendor/rockchip/common/apps/Launcher4# mm
============================================
PLATFORM_VERSION_CODENAME=REL
PLATFORM_VERSION=8.1.0
TARGET_PRODUCT=rk3399_firefly_aio_mid
TARGET_BUILD_VARIANT=userdebug
TARGET_BUILD_TYPE=release
TARGET_ARCH=arm64
TARGET_ARCH_VARIANT=armv8-a
TARGET_CPU_VARIANT=cortex-a53
TARGET_2ND_ARCH=arm
TARGET_2ND_ARCH_VARIANT=armv7-a-neon
TARGET_2ND_CPU_VARIANT=cortex-a15
HOST_ARCH=x86_64
HOST_2ND_ARCH=x86
HOST_OS=linux
HOST_OS_EXTRA=Linux-4.4.0-31-generic-x86_64-with-Ubuntu-14.04-trusty
HOST_CROSS_OS=windows
HOST_CROSS_ARCH=x86
HOST_CROSS_2ND_ARCH=x86_64
HOST_BUILD_TYPE=release
BUILD_ID=OPM6.171019.030.B1
OUT_DIR=out
============================================
ninja: no work to do.
ninja: no work to do.
vendor/rockchip/common/apps/Launcher4/Android.mk was modified, regenerating...
PRODUCT_COPY_FILES device/rockchip/common/init.rk30board.usb.rc:root/init.rk30board.usb.rc ignored.
PRODUCT_COPY_FILES vendor/rockchip/common/nand/modules/arm/rk30xxnand_ko.ko.3.10.0:root/rk30xxnand_ko.ko ignored.
PRODUCT_COPY_FILES vendor/rockchip/common/nand/modules/arm/drmboot.ko:root/drmboot.ko ignored.
PRODUCT_COPY_FILES vendor/rockchip/common/phone/etc/apns-full-conf.xml:system/etc/apns-conf.xml ignored.
No private recovery resources for TARGET_DEVICE rk3399_firefly_aio_mid
[ 20% 2/10] Ensuring Jack server is installed and started
Jack server already installed in "/root/.jack-server"
Server is already running
[100% 10/10] Copy: out/target/product/...app/Launcher4/oat/arm64/Launcher4.vdex
#### build completed successfully (49 seconds) ####
root@ubuntu:/work/x3399/vendor/rockchip/common/apps/Launcher4#
- 以上为新建AndroidStudio项目放在源码环境下编译的部分配置,以后会更新逐步添加依赖的配置
网友评论