日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

关于realarm210 realarmTest.apk不能直接安装问题解决方法

發布時間:2024/9/3 编程问答 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 关于realarm210 realarmTest.apk不能直接安装问题解决方法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在使用real210開發板時可能會遇到這個問題,realarmTest.apk無法通過adb、手機助手、從SD卡安裝。

用adb方式安裝時出現這樣的錯誤Failure [INSTALL_FAILED_INVALID_INSTALL_LOCATION]

用手機助手和從SD安裝時是無法發送和無法安裝的錯誤。


這樣安裝不行的原因是,realarmTest.apk是要使用系統權限,android對于底層調用比較嚴格,所以這個apk無法使用常規方法安裝。


解決方法是不使用adb install命令安裝,換成adb push命令安裝,adb push命令格式為:adb push 要發送的文件名 開發板的文件目錄,要實現安裝需要push到system/app目錄下。

舉例說:加入在pc端當前目錄下要發送realarmTest.apk文件,那么命令是adb push realarmTest.apk /system/app,發送完成后,android系統會自動安裝這個應用。

相對于adb install安裝這里只是改成了adb push方式,并沒有增加什么工作量。


下面說下兩種編譯這個realarmTest.apk目標文件的方法。

一個是在原目錄樹下使用mm命令編譯。關于mm命令參考博客http://blog.csdn.net/wang_shuai_ww/article/details/21379403

realarmTest.apk的源碼在源目錄樹下/packages/apps/realarmTest,首先進入該源碼目錄,cd?/packages/apps/realarmTest然后使用mm命令進行編譯即可,編譯完成后會在out/target/product/generic/system/app/這個路徑下生成需要的apk文件。

如果你用的是沒有動過的源碼,那么out/target/product/generic/system/app/這個路徑下應該會有兩個文件,一個.apk一個是.odex文件,用資源管理器打開apk時發現里面缺少文件classes.dex,當然了這個apk也是無法安裝的。

解決方式是,打開/build/core/package.mk文件找到這一行LOCAL_DEX_PREOPT := true,然后修改成LOCAL_DEX_PREOPT := false即可,重新編譯即可得到我們需要的完整apk了(注意要刪除out/target/product/generic/system/app目錄下之前的apk文件,否則不會生成新的完整apk的)。


另外 一個方法就是使用eclipse來進行編譯了

該方法能夠通過編譯,但是安裝后顯示是不太正常的,推薦使用上一中方法。

這里貼上顯示問題的圖片:



另外使用該方法還需要使用系統簽名工具,所以挺麻煩的,用mm命令在目錄樹下編譯還方便些。


下面給出在eclipse下搭建該工程以及設置,并解決上面的顯示問題。

首先找到該realarmTest.apk源碼,位置/packages/apps/realarmTest,把realarmTest整個目錄拷貝到用戶的目錄,然后打開eclipse使用file->import命令選擇導入android外部的代碼工作目錄,如下圖:


然后瀏覽到剛才拷貝的源碼目錄點擊finish即可。

添加完成后eclipse應該會創建一些其他的folder,其中有一個是我們工程不需要的如下圖所示,并按照下圖所示的操作把該folder刪除,不刪除會報錯


之后就可以編譯了。完成后在realarmTest/bin下就有打包的apk文件了,當然這個apk是不能使用的,對android工程的AndroidManifest.xml這個文件需要修改,添加一行代碼,如下圖所示


即添加<supports-screens android:largeScreens="true"/>這一行,原因是開發板的屏幕在android看來屬于高分辨率,所以這里的largeScreens屬性設置為true,那么android系統就會正確識別圖片并能按預定的比例正確顯示了。

修改完成后,重新編譯,在bin目錄下得到apk文件。前面說了,該apk需要系統權限,所以需要進行系統簽名才可正常使用。下面說明怎么對這個apk進行系統簽名。

要用到的工具為signapk.jar位置在/out/host/linux-x86/framework/。有了這工具我們還需要兩個簽名文件platform.pk8和platform.x509.pem,位置在build\target\product\security然后把要簽名的apk、簽名工具、platform.pk8和platform.x509.pem都放到一個目錄下,在終端輸入命令:java -jar signapk.jar platform.x509.pem platform.pk8 ./realarmTest.apk ./realarmTest_sign.apk即可完成簽名,得到的realarmTest_sign.apk即可通過push命令安裝在開發板上了。

為了方便我做了一個文件和一個腳本,在終端直接運行腳本即可在我做的這個文件夾下得到簽名后的apk,如果連接了開發板的話,把該腳本的最后一行打開即可直接安裝。

文件下載地址為:http://yunpan.cn/QIsqBv2vbXIqz


當出現這個提示時:Unable to execute dex: java.nio.BufferOverflowException. Check the Eclipse log for stack trace.請檢查下圖所示部分是否刪除:






總結

以上是生活随笔為你收集整理的关于realarm210 realarmTest.apk不能直接安装问题解决方法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。