华硕Tinker Board开发板(rk3288处理器)开发 ---- 将Android Studio开发的apk源码放到Android7.1.2源码中进行编译

备注:此Android Studio项目并没有jni,没有使用动态so库,只是一个简单的项目。

1、将Android studio开发的项目移植到Android7.1.2源码中,我们只需要Android Studio项目的app/scr/main目录下的所有文件,如下图所示。

华硕Tinker Board开发板(rk3288处理器)开发 ---- 将Android Studio开发的apk源码放到Android7.1.2源码中进行编译_第1张图片

2、在android7.1.2源码的packages/apps目录下,新建一个文件来存放步骤1中的文件。下面给出我的实际操作截图:

华硕Tinker Board开发板(rk3288处理器)开发 ---- 将Android Studio开发的apk源码放到Android7.1.2源码中进行编译_第2张图片

华硕Tinker Board开发板(rk3288处理器)开发 ---- 将Android Studio开发的apk源码放到Android7.1.2源码中进行编译_第3张图片

3、从步骤2中可以看到,比从Android studio项目复制出来的文件多了一个Android.mk文件,没错,这一步就是要你添加Android.mk文件,下面给出Android.mk的源码,仅供参考。

LOCAL_PATH := $(call my-dir)

include $(CLEAR_VARS)

LOCAL_MODULE_TAGS := optional
LOCAL_SDK_VERSION := current
LOCAL_SRC_FILES := \
	$(call all-java-files-under, src)

OCAL_RESOURCE_DIR := $(LOCAL_PATH)/res

LOCAL_PACKAGE_NAME := JimmyTest

LOCAL_CERTIFICATE := platform
include $(BUILD_PACKAGE)

4、修改Android Studio项目源码中的一些文件,以便可以在Android7.1.2源码中正常编译。

【1】、修改res/values/styles.xml文件

原来的内容是:



    
    

现修改成如下:


    

    

【2】确认一下src/layout/activity_main.xml文件中有关android:text 属性的赋值问题。

如果你是这样赋值的android:text="Hello World",在Android Studio中是可以正常编译,运行的。但是移植到Android7.1.2源码中,你是编译不过的。你需要这样的形式写:  android:text="@string/str_tv_show"。如果你是新手的话,我会偷偷地告诉你,接着你需要在res/values/strings.xml 中定义str_tv_show。如下所示:(在strings.xml中添加第3行代码即可)


    Demo0001
    Hello World

5、在Android7.1.2源码的build/target/product目录下的generic_no_telephony.mk文件中添加你的android Studio项目名。

华硕Tinker Board开发板(rk3288处理器)开发 ---- 将Android Studio开发的apk源码放到Android7.1.2源码中进行编译_第4张图片

6、先执行 source build/envsetup.sh,接着定位到你要添加的apk源码目录,比如我的就是packages/apps/Jni_demo,执行指令mm, 完成后执行make snod。此时在out/target/product/rk3288/system/app目录下就多了一个新的apk文件夹。如下图所示:

华硕Tinker Board开发板(rk3288处理器)开发 ---- 将Android Studio开发的apk源码放到Android7.1.2源码中进行编译_第5张图片华硕Tinker Board开发板(rk3288处理器)开发 ---- 将Android Studio开发的apk源码放到Android7.1.2源码中进行编译_第6张图片

有关如何将新生成的system.img更新到tinker board中去。

请参考我的这个博客xxxx,待更新。。。

你可能感兴趣的:(TinkerBoard,rk3288开发)