㈠ 瀹夊崜 apk 绛惧悕 odex 鐢ㄤ笉鐢 绛惧悕
涓嶉渶瑕佺惧悕镄
鐢熸垚apk链镍掓俨镄勬柟娉曟槸锛
鍙瑕佷綘杩愯岃繃android椤圭洰锛屽埌宸ヤ綔鐩褰旷殑bin鏂囦欢澶逛笅灏辫兘镓惧埌涓庨”鐩钖屽悕镄刟pk鏂囦欢锛岃繖绉峚pk榛樿ゆ槸宸茬粡浣跨敤debug鐢ㄦ埛绛惧悕镄勚
濡傛灉𨱍宠佽嚜宸辩粰apk绛惧悕锛
绛惧悕镄勬剰涔
銆銆涓轰简淇濊瘉姣忎釜搴旂敤绋嫔簭寮鍙戝晢钖堟硶ID锛岄槻姝㈤儴鍒嗗紑鏀惧晢鍙鑳介氲繃浣跨敤鐩稿悓镄凯ackage Name𨱒ユ贩娣嗘浛鎹㈠凡缁忓畨瑁呯殑绋嫔簭锛屾垜浠闇瑕佸规垜浠鍙戝竷镄𪞝PK鏂囦欢杩涜屽敮涓绛惧悕锛屼缭璇佹垜浠姣忔″彂甯幂殑鐗堟湰镄勪竴镊存(濡傝嚜锷ㄦ洿鏂颁笉浼氩洜涓虹増链涓崭竴镊磋屾棤娉曞畨瑁)銆
2.绛惧悕镄勬ラ
銆銆a.鍒涘缓key
銆銆b.浣跨敤姝ラa涓浜х敓镄刱ey瀵笕pk绛惧悕
3.鍏蜂綋镎崭綔
銆銆鏂规硶涓锛 锻戒护琛屼笅瀵笕pk绛惧悕锛埚师鐞嗭级
銆銆鍒涘缓key锛岄渶瑕佺敤鍒発eytool.exe (浣崭簬jdk1.6.0_24\jre\bin鐩褰曚笅)锛屼娇鐢ㄤ骇鐢熺殑key瀵笕pk绛惧悕鐢ㄥ埌镄勬槸jarsigner.exe (浣崭簬jdk1.6.0_24\bin鐩褰曚笅)锛屾妸涓娄袱涓杞浠舵墍鍦ㄧ殑鐩褰曟坊锷犲埌鐜澧冨彉閲弍ath钖庯纴镓揿紑cmd杈揿叆
D:\>keytool -genkey -alias demo.keystore -keyalg RSA -validity 40000 -keystore demo.keystore/*璇存槑锛-genkey 浜х敓瀵嗛挜 -alias demo.keystore 鍒钖 demo.keystore -keyalg RSA 浣跨敤RSA绠楁硶瀵圭惧悕锷犲瘑 -validity 40000 链夋晥链熼檺4000澶 -keystore demo.keystore */D:\>jarsigner -verbose -keystore demo.keystore -signedjar demo_signed.apk demo.apk demo.keystore/*璇存槑锛-verbose 杈揿嚭绛惧悕镄勮︾粏淇℃伅 -keystore demo.keystore 瀵嗛挜搴扑綅缃 -signedjar demor_signed.apk demo.apk demo.keystore 姝e纺绛惧悕锛屼笁涓鍙傛暟涓渚濇′负绛惧悕钖庝骇鐢熺殑鏂囦欢demo_signed锛岃佺惧悕镄勬枃浠秃emo.apk鍜屽瘑阍ュ簱demo.keystore.*/
銆銆娉ㄦ剰浜嬮”锛歛ndroid宸ョ▼镄刡in鐩褰曚笅镄刣emo.apk榛樿ゆ槸宸茬粡浣跨敤debug鐢ㄦ埛绛惧悕镄勶纴镓浠ヤ笉鑳戒娇鐢ㄤ笂杩版ラゅ规ゆ枃浠跺啀娆$惧悕銆傛g‘姝ラゅ簲璇ユ槸:鍦ㄥ伐绋嬬偣鍑诲彸阌->Anroid Tools-Export Unsigned Application Package瀵煎嚭镄刟pk閲囩敤涓婅堪姝ラょ惧悕銆
銆銆鏂规硶浜岋细浣跨敤Eclipse瀵煎嚭甯︾惧悕镄刟pk
銆銆Eclipse鐩存帴鑳藉煎嚭甯︾惧悕镄勬渶缁坅pk锛岄潪甯告柟渚匡纴鎺ㄨ崘浣跨敤锛屾ラゅ备笅锛
銆銆绗涓姝ワ细瀵煎嚭銆
銆銆绗浜屾ワ细鍒涘缓瀵嗛挜搴搆eystore,杈揿叆瀵嗛挜搴揿煎嚭浣岖疆鍜屽瘑镰侊纴璁颁綇瀵嗙爜锛屼笅娆Use existing keystore浼氱敤鍒般
銆銆绗涓夋ワ细濉鍐椤瘑阍ュ簱淇℃伅锛屽~鍐欎竴浜沘pk鏂囦欢镄勫瘑镰侊纴浣跨敤链熼檺鍜岀粍缁囧崟浣岖殑淇℃伅銆
銆銆绗锲涙ワ细鐢熸垚甯︾惧悕镄刟pk鏂囦欢锛屽埌姝ゅ氨缁撴潫浜嗐
銆銆绗浜旀ワ细濡傛灉涓嬫″彂甯幂増链镄勬椂鍊欙纴浣跨敤鍓嶉溃鐢熸垚镄刱eystore鍐岖惧悕銆
銆銆绗鍏姝ワ细Next,Next,缁撴潫锛
銆銆鏂规硶涓夛细浣跨敤IntelliJ IDEA瀵煎嚭甯︾惧悕镄刟pk
銆銆鏂规硶姝ラゅ熀链鍜孍clipse鐩稿悓锛屽ぇ姒傛搷浣滆矾寰勬槸锛氲彍鍗昑ools->Andrdoid->Export signed apk銆
4.绛惧悕涔嫔悗锛岀敤zipalign(铡嬬缉瀵归绨)浼桦寲浣犵殑APK鏂囦欢銆
銆銆链绛惧悕镄刟pk涓嶈兘浣跨敤锛屼篃涓嶈兘浼桦寲銆傜惧悕涔嫔悗镄刟pk璋锋瓕鎺ㄨ崘浣跨敤zipalign.exe(浣崭簬android-sdk-windows\tools鐩褰曚笅)宸ュ叿瀵瑰叾浼桦寲锛
D:\>zipalign -v 4 demo_signed.apk final.apk
銆銆濡备笂锛寊ipalign鑳藉熶娇apk鏂囦欢涓链铡嬬缉镄勬暟鎹鍦4涓瀛楄妭杈圭晫涓婂归绨锛4涓瀛楄妭鏄涓涓镐ц兘寰埚ソ镄勫硷级锛岃繖镙穉ndroid绯荤粺灏卞彲浠ヤ娇鐢╩map()(璇疯嚜琛屾煡阒呰繖涓鍑芥暟镄勭敤阃)鍑芥暟璇诲彇鏂囦欢锛屽彲浠ュ湪璇诲彇璧勬簮涓婅幏寰楄缉楂樼殑镐ц兘锛
銆銆PS:1.鍦4涓瀛楄妭杈圭晫涓婂归绨镄勬剰镐濆氨鏄锛屼竴鑸𨱒ヨ达纴鏄鎸囩紪璇戝櫒钖4涓瀛楄妭浣滀负涓涓鍗曚綅𨱒ヨ繘琛岃诲彇镄勭粨鏋滐纴杩欐牱镄勮瘽锛孋PU鑳藉熷瑰彉閲忚繘琛岄珮鏁堛佸揩阃熺殑璁块梾锛堣缉涔嫔墠涓嶅归绨锛夈
2.瀵归绨镄勬牴婧愶细android绯荤粺涓镄凞avlik铏氭嫙链轰娇鐢ㄨ嚜宸变笓链夌殑镙煎纺DEX锛娈EX镄勭粨鏋勬槸绱у噾镄勶纴涓轰简璁╄繍琛屾椂镄勬ц兘镟村ソ锛屽彲浠ヨ繘涓姝ョ敤"瀵归绨"杩涗竴姝ヤ紭鍖栵纴浣嗘槸澶у皬涓鑸浼氭湁镓澧炲姞銆
5.绛惧悕瀵逛綘镄𪞝pp镄勫奖鍝嶃
銆銆 浣犱笉鍙鑳藉彧锅氢竴涓狝PP锛屼綘鍙鑳芥湁涓涓瀹忎纻镄勬垬鐣ュ伐绋嬶纴𨱍宠佸湪鐢熸椿锛屾湇锷★纴娓告垙锛岀郴缁熷悇涓棰嗗烟閮芥兂鎻掕冻镄勮瘽锛屼綘涓嶅彲鑳藉彧锅氢竴涓狝PP锛岃胺姝屽缓璁浣犳妸浣犳墍链夌殑APP閮戒娇鐢ㄥ悓涓涓绛惧悕璇佷功銆
銆銆 浣跨敤浣犺嚜宸辩殑钖屼竴涓绛惧悕璇佷功锛屽氨娌℃湁浜鸿兘澶熻嗙洊浣犵殑搴旂敤绋嫔簭锛屽嵆浣垮寘钖岖浉钖岋纴镓浠ュ奖鍝嶆湁锛
銆銆1) App鍗囩骇銆 浣跨敤鐩稿悓绛惧悕镄勫崌绾ц蒋浠跺彲浠ユe父瑕嗙洊钥佺増链镄勮蒋浠讹纴钖﹀垯绯荤粺姣旇缉鍙戠幇鏂扮増链镄勭惧悕璇佷功鍜岃佺増链镄勭惧悕璇佷功涓崭竴镊达纴涓崭细鍏佽告柊鐗堟湰瀹夎呮垚锷熺殑銆
銆銆2) App妯″潡鍖栥俛ndroid绯荤粺鍏佽稿叿链夌浉钖岀殑App杩愯屽湪钖屼竴涓杩涚▼涓锛屽傛灉杩愯屽湪钖屼竴涓杩涚▼涓锛屽垯浠栦滑鐩稿綋浜庡悓涓涓狝pp锛屼絾鏄浣犲彲浠ュ崟镫瀵逛粬浠鍗囩骇镟存柊锛岃繖鏄涓绉岮pp绾у埆镄勬ā鍧楀寲镐濊矾銆
銆銆3) 鍏佽镐唬镰佸拰鏁版嵁鍏变韩銆俛ndroid涓鎻愪緵浜嗕竴涓锘轰簬绛惧悕镄凯ermission镙囩俱傞氲繃鍏佽哥殑璁剧疆锛屾垜浠鍙浠ュ疄鐜板逛笉钖孉pp涔嬮棿镄勮块梾鍜屽叡浜锛屽备笅锛
AndroidManifest.xml锛<permission android:protectionLevel="normal" />
鍏朵腑protectionLevel镙囩炬湁4绉嶅硷细normal(缂虹渷鍊),dangerous, signature,signatureOrSystem銆傜亩鍗曟潵璇达纴normal鏄浣庨庨橹镄勶纴镓链夌殑App涓嶈兘璁块梾鍜屽叡浜姝App銆俤angerous鏄楂橀庨橹镄勶纴镓链夌殑App閮借兘璁块梾鍜屽叡浜姝App銆俿ignature鏄鎸囧叿链夌浉钖岀惧悕镄𪞝pp鍙浠ヨ块梾鍜屽叡浜姝App銆俿ignatureOrSystem鏄鎸囩郴缁焛mage涓瑼pp鍜屽叿链夌浉钖岀惧悕镄𪞝pp鍙浠ヨ块梾鍜屽叡浜姝App锛岃胺姝屽缓璁涓嶈佷娇鐢ㄨ繖涓阃夐”锛屽洜涓虹惧悕灏辫冻澶熶简锛屼竴鑸杩欎釜璁稿彲浼氲鐢ㄥ湪鍦ㄤ竴涓猧mage涓闇瑕佸叡浜涓浜涚壒瀹氱殑锷熻兘镄勬儏鍐典笅銆
㈡ 如何成功运行SDL官方提供的Android平台的Demo
您好,很高兴能帮助您,
第一步:准备SDL源代码包;
1. 去http://www.libsdl.org/官网下载最新版SDL2-2.0.3.tar.gz;
2. 解压后,可以在根目录下找到android-project目录和README-android.txt,前者是一个一个Android工程模板,后者是关于如何使用该工程的文档说明。
3. 调整目录,使其成为一个可编译的工程:
(1) 将android-project目录剪切到与SDL2-2.0.3同级的目录;
(2) 然后将SDL2-2.0.3目录拷贝到android-project\jni目录下,并重命名为SDL;
第二步:为SDL增加main函数
(1) mainhttp://wiki.libsdl.org/Tutorials#Android.c文件可以从http://www.dinomage.com/wp-content/uploads/2013/01/main.c下载;
(2) 下载之后将其放入android-project\jni\src目录;
(3) 将main.c加入android-project\jni\src\Android.mk: 在Android.mk中默认有个YourSourceHere.c,将其替换为main.c即可;
第三步:编译libSDL2.so和libmain.so
注:请确认NDK的bin目录已经配置到环境变量PATH中去;
打开cmd命令窗口,进入到android-project目录,然后执行"ndk-build"命令进行编译。编译成功后会在android-project根目录下生成libs目录,下面有各个平台的需要的这两个so文件。
第四步:修改build target配置文件
默认的工程是使用的=android-12,必须使这个target与你系统配置的一致,否则编译会失败. 具体的配置位于android-project/project.properties和android-project/default.properties中。由于adt-bundle-windows-x86_64-20130729.zip包对应的是android-18,因此需要将这两个文件中的配置全部改为android-18.
第五步:导入Eclipse运行
依次选择File->New->Android->Android Project from Existing Code,然后选择android-project目录将工程文件导入到Eclipse中。
然后选择按照正常的Android工程运行即可。这个时候程序闪一下什么都没有,因为没有添加资源。可下载一个bmp图片放到android-project/assets中,这个目录是由eclipse自动生成的。然后运行就可以看到通过SDL渲染出来的图片了。这 里提供一个官方文档中提到的bmp地址:http://www.dinomage.com/wp-content/uploads/2013/01/image.bmp 。整个工程的源代码可以到我的github上去下载,地址:https://github.com/dennishucd/SDLActivity
你的采纳是我前进的动力,还有不懂的地方,请你继续“追问”!
如你还有别的问题,可另外向我求助;答题不易,互相理解,互相帮助!