android编译产生的apk或so不安装 .
生活随笔
收集整理的這篇文章主要介紹了
android编译产生的apk或so不安装 .
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
問題1:
問題描述:將java應用放在packages\apps下面一起編譯,單獨進入應用mm編譯,可以install安裝到out下面的system/app下面,但根目錄上make卻不會
原因:LOCAL_MODULE_TAGS :=optional 的模塊會被編譯,但不會安裝到image里面,要想讓是optional的模塊安裝的話,需要將模塊名加入到相關product的PRODUCT_PACKAGES里面
解決方法:
修改\build\target\product\core.mk下面的PRODUCT_PACKAGES,加所編譯的應用加入其應用包即可,
問題2:
在libhardware下面moudle中實現copybit及openMMX相關hal接口代碼,單獨進入應用mm編譯,可以install安裝到out下面的system/lib/hw下面,但根目錄上make卻不會
解決方法:
Android.mk中的LOCAL_MODULE_TAGS變量設置的有問題。
LOCAL_MODULE_TAGS :=optional
把這項改為
LOCAL_MODULE_TAGS :=eng即可
設置好以后,重新編譯即可
原因是LOCAL_MODULE_TAGS 變量跟TARGET_BUILD_VARIANT 變量息息相關。 android系統編譯時如果不指定
TARGET_BUILD_VARIANT 變量的值,默認 TARGET_BUILD_VARIANT=eng ,這一項指定 編譯android時形成的版本風格
問題描述:將java應用放在packages\apps下面一起編譯,單獨進入應用mm編譯,可以install安裝到out下面的system/app下面,但根目錄上make卻不會
原因:LOCAL_MODULE_TAGS :=optional 的模塊會被編譯,但不會安裝到image里面,要想讓是optional的模塊安裝的話,需要將模塊名加入到相關product的PRODUCT_PACKAGES里面
解決方法:
修改\build\target\product\core.mk下面的PRODUCT_PACKAGES,加所編譯的應用加入其應用包即可,
問題2:
在libhardware下面moudle中實現copybit及openMMX相關hal接口代碼,單獨進入應用mm編譯,可以install安裝到out下面的system/lib/hw下面,但根目錄上make卻不會
解決方法:
Android.mk中的LOCAL_MODULE_TAGS變量設置的有問題。
LOCAL_MODULE_TAGS :=optional
把這項改為
LOCAL_MODULE_TAGS :=eng即可
設置好以后,重新編譯即可
原因是LOCAL_MODULE_TAGS 變量跟TARGET_BUILD_VARIANT 變量息息相關。 android系統編譯時如果不指定
TARGET_BUILD_VARIANT 變量的值,默認 TARGET_BUILD_VARIANT=eng ,這一項指定 編譯android時形成的版本風格
LOCAL_MODULE_TAGS :=user eng tests optional
user: 指該模塊只在user版本下才編譯
eng: 指該模塊只在eng版本下才編譯
tests: 指該模塊只在tests版本下才編譯
optional:指該模塊在所有版本下都編譯
總結
以上是生活随笔為你收集整理的android编译产生的apk或so不安装 .的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Android4.0与2.3的差异
- 下一篇: wifi无线网卡移植到andorid