用gradlew编译打包的app,如何添加进Android源码做build
2016-12-20 11:51
736 查看
对于用android studio编辑完的app源码如何添加到系统的source去做编译呢?如果要求作为launcher启动呢?
没错就是写一个牛逼一点的Android.mk即可,上码子:
#
# Copyright (C) 2008 The Android Open Source Project
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := XXX
LOCAL_OVERRIDES_PACKAGES := Launcher3
LOCAL_SRC_FILES := $(LOCAL_MODULE).apk
LOCAL_MODULE_CLASS := APPS
LOCAL_MODULE_SUFFIX := $(COMMON_ANDROID_PACKAGE_SUFFIX)
LOCAL_CERTIFICATE := platform
LOCAL_MODULE_PATH := $(TARGET_OUT)/vendor/operator/app
PRIVATE_LOCAL_PATH := $(LOCAL_PATH)
PRIVATE_LOCAL_MODULE := $(LOCAL_MODULE)
$(LOCAL_PATH)/$(LOCAL_MODULE).apk: .git/modules/vendor/vinci/packages/apps/XXX/src/HEAD
find $(PRIVATE_LOCAL_PATH)/src -name *.apk -exec rm {} \;
echo "org.gradle.java.home=/usr/lib/jvm/java-7-openjdk-amd64" > $(PRIVATE_LOCAL_PATH)/src/gradle.properties
echo "sdk.dir=/workspace/share/android-sdk-linux" > $(PRIVATE_LOCAL_PATH)/src/local.properties
path=`pwd`; cd $(PRIVATE_LOCAL_PATH)/src; ./gradlew build; cd $$path
echo $(PRIVATE_LOCAL_PATH)/src/gradle.properties
rm $(PRIVATE_LOCAL_PATH)/src/gradle.properties
rm $(PRIVATE_LOCAL_PATH)/src/local.properties
cp $(PRIVATE_LOCAL_PATH)/src/app/build/outputs/apk/app-debug.apk $(PRIVATE_LOCAL_PATH)/$(PRIVATE_LOCAL_MODULE).apk
include $(BUILD_PREBUILT)
用此makefile编译出来之后,该app是以Launcher的位置出现在系统中的。
没错就是写一个牛逼一点的Android.mk即可,上码子:
#
# Copyright (C) 2008 The Android Open Source Project
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := XXX
LOCAL_OVERRIDES_PACKAGES := Launcher3
LOCAL_SRC_FILES := $(LOCAL_MODULE).apk
LOCAL_MODULE_CLASS := APPS
LOCAL_MODULE_SUFFIX := $(COMMON_ANDROID_PACKAGE_SUFFIX)
LOCAL_CERTIFICATE := platform
LOCAL_MODULE_PATH := $(TARGET_OUT)/vendor/operator/app
PRIVATE_LOCAL_PATH := $(LOCAL_PATH)
PRIVATE_LOCAL_MODULE := $(LOCAL_MODULE)
$(LOCAL_PATH)/$(LOCAL_MODULE).apk: .git/modules/vendor/vinci/packages/apps/XXX/src/HEAD
find $(PRIVATE_LOCAL_PATH)/src -name *.apk -exec rm {} \;
echo "org.gradle.java.home=/usr/lib/jvm/java-7-openjdk-amd64" > $(PRIVATE_LOCAL_PATH)/src/gradle.properties
echo "sdk.dir=/workspace/share/android-sdk-linux" > $(PRIVATE_LOCAL_PATH)/src/local.properties
path=`pwd`; cd $(PRIVATE_LOCAL_PATH)/src; ./gradlew build; cd $$path
echo $(PRIVATE_LOCAL_PATH)/src/gradle.properties
rm $(PRIVATE_LOCAL_PATH)/src/gradle.properties
rm $(PRIVATE_LOCAL_PATH)/src/local.properties
cp $(PRIVATE_LOCAL_PATH)/src/app/build/outputs/apk/app-debug.apk $(PRIVATE_LOCAL_PATH)/$(PRIVATE_LOCAL_MODULE).apk
include $(BUILD_PREBUILT)
用此makefile编译出来之后,该app是以Launcher的位置出现在系统中的。
相关文章推荐
- 在Android源码中如何吧so库打包编译进入apk, 集成第三方库(jar和so库)
- 如何在Android 内核源码树中添加app应用?
- 在Android源码中如何吧so库打包编译进入apk, 集成第三方库(jar和so库)
- 如何在Android源码编译系统中添加一个C项目
- 如何在Android源码编译系统中添加一个Java项目
- 如何在Android 内核源码树中添加app应用?
- Android源码编译第三方app(Android studio编写项目)如何写Android.mk
- Android源码编译如何添加eng 或者userdebug等lunch选项
- (OK) Android源码编译如何添加eng 或者userdebug等lunch选项
- 如何编译Android内核源码
- Ubuntu10.04上编译Android源码(Build Android source in Ubuntu10.04 Platform)
- Android源码编译时如何增加多语言
- Android源码开发(1)---- 如何在Ubuntu 11.10中搭建Android编译开发环境
- 如何将Android 源码中编译出的apk进行自己的签名
- 使用ANT编译--实现外部传参(多渠道替换)、批处理打包------第二步什么是ANT,如何使用ANT命令为Android项目打包
- android官方文档:ubuntu10.04下编译android源码之初始化编译环境 Initializing a Build Environment
- 通过mk文件编译android4.0.3系统app源码后覆盖安装失败解决办法(android odex文件)
- 如何下载并编译Android内核源码goldfish(图文)
- 如何发布打包并发布自己的Android应用(APP)
- 如何发布打包并发布自己的Android应用(APP)