制作Android操作系统的自定义应用程序部分时出错

时间:2012-03-21 11:58:40

标签: android

我正在尝试将我的应用程序作为Android操作系统的一部分,我下载了CyanogenMod(CM7)并成功编译了它,我按照here的说明进行操作:

该应用程序的名称是“HitMe”。

以下是我遵循的步骤:

  1. cd Cyanogen / packages / apps
  2. ln -s / home / usama / Desktop / HitMe
  3. cd HitMe
  4. 复制Android.mk文件,这是Android.mk文件 LOCAL_PATH:= $(调用my-dir) 包括$((CLEAR_VARS)

    在java子目录中构建所有java文件(在开头有#,它是注释)

    LOCAL_SRC_FILES:= $(调用所有-subdir -java文件)

    要构建的APK的名称(开头有#,注释)

    LOCAL_PACKAGE_NAME:= HitMe

    包括$(BUILD_PACKAGE)

  5. rm -rf bin gen
  6. cd Cyanogen / Build / target / product
  7. 在core.mk文件中添加“HitMe /”
  8. cd Cyanogen / packages / apps / HitMe
  9. 毫米 我收到了这个错误:

    usama @ ubuntu:〜/ Desktop / Cyanogen / packages / apps $ cd HitMe

    usama @ ubuntu:〜/ Desktop / Cyanogen / packages / apps / HitMe $ mm

    ============================================

    PLATFORM_VERSION_CODENAME = REL

    PLATFORM_VERSION = 2.3.7

    TARGET_PRODUCT =满

    TARGET_BUILD_VARIANT =主机

    TARGET_SIMULATOR =

    TARGET_BUILD_TYPE =释放

    TARGET_BUILD_APPS =

    TARGET_ARCH =臂

    TARGET_ARCH_VARIANT = ARMv7的-A

    HOST_ARCH = 86

    HOST_OS = linux的

    HOST_BUILD_TYPE =释放

    BUILD_ID =姜饼

    ============================================

    make:输入目录/home/usama/Desktop/Cyanogen' make: *** No rule to make target out / target / common / obj / APPS / framework- res_intermediates / src / R.stamp',需要`out / target / common / obj / APPS / LocalPackage_intermediates / src / R.stamp”。停止。

  10. 我认为这只会发生在我的应用程序中,但我尝试使用DSPManager(在CM-7中作为服务提供)并且我得到了完全相同的错误,这里是终端的输出

      usama@ubuntu:~/Desktop/Cyanogen/packages/apps/DSPManager$ mm
      ============================================
      PLATFORM_VERSION_CODENAME=REL
      PLATFORM_VERSION=2.3.7
      TARGET_PRODUCT=full
      TARGET_BUILD_VARIANT=eng
      TARGET_SIMULATOR=
      TARGET_BUILD_TYPE=release
      TARGET_BUILD_APPS=
      TARGET_ARCH=arm
      TARGET_ARCH_VARIANT=armv7-a
      HOST_ARCH=x86
      HOST_OS=linux
      HOST_BUILD_TYPE=release
      BUILD_ID=GINGERBREAD
      ============================================
      make: Entering directory `/home/usama/Desktop/Cyanogen'
      make: *** No rule to make target `out/target/common/obj/APPS/framework-      res_intermediates/src/R.stamp', needed by `out/target/common/obj/APPS/DSPManager_intermediates/src/R.stamp'.  Stop.
    

    make:离开目录`/ home / usama / Desktop / Cyanogen' usama @ ubuntu:〜/ Desktop / Cyanogen / packages / apps / DSPManager $

    关于如何解决这个问题的任何想法?

2 个答案:

答案 0 :(得分:2)

在构建子包之前需要m(我猜)或make

它抱怨没有out/target/common/obj/APPS/framework(这是核心的android框架),除非你先完成一个完整的构建,否则你没有。

然后,您可以构建整个项目的一部分

~/Desktop/Cyanogen$ m

答案 1 :(得分:1)

我想问题可能如下:你不清理你的Hitme项目。在Eclipse中进行应用程序后,您应该自动关闭构建并清理此Hitme项目。在此之后,您可以转到根文件夹run mmm packages/apps/HitMe snod,或者如果您有错误,请运行整个make。