{"id":488,"date":"2013-01-07T06:25:32","date_gmt":"2013-01-07T06:25:32","guid":{"rendered":"http:\/\/blog.zhukunqian.com\/?p=488"},"modified":"2013-02-22T11:12:16","modified_gmt":"2013-02-22T11:12:16","slug":"opengles-android-%e7%9c%9f%e6%9c%ba%e5%bc%80%e5%8f%91%e4%b8%80","status":"publish","type":"post","link":"https:\/\/blog.zhukunqian.com\/?p=488","title":{"rendered":"opengles android \u771f\u673a\u5f00\u53d1\u4e00"},"content":{"rendered":"<p>\u4eca\u5929\u771f\u673a\u5230\u624b,\u524d\u51e0\u4e2a\u6708\u770b\u8fc7\u7684android\u5f00\u53d1,\u5df2\u7ecf\u5b8c\u5168\u8bb0\u4e0d\u6e05\u4e86.<\/p>\n<p>\u8fd9\u91cc\u4ece\u5934\u4e00\u6b65\u6b65\u8bb0\u5f55\u4e0b\u6240\u505a\u7684\u64cd\u4f5c\u4f9b\u4ee5\u540e\u53c2\u8003\u7528:<\/p>\n<p>1\u3001\u4f7f\u7528eclispe\u4e2d\u7684import\u529f\u80fd\uff0c\u8ba9ndk\u4e2d\u7684samples\/hello-gl2\u5bfc\u5165\u5de5\u7a0b\u3002\u5bfc\u5165\u65f6\u5148\u628acopy into workspace\uff0c\u907f\u514d\u628asamples\u4e2d\u7684\u4ee3\u7801\u6c61\u67d3\u6389\u3002<\/p>\n<p>\uff12\u3001\u4fee\u6539AndroidManifest.xml\u628a\u4ee5\u4e0b\u5185\u5bb9\u653e\u5728&lt;application&gt;\u6807\u7b7e\u524d\u9762\u3002<\/p>\n<p>&lt;uses-feature android:glEsVersion=&#8221;0x00020000&#8243;\/&gt;<br \/>\n&lt;uses-sdk<br \/>\nandroid:minSdkVersion=&#8221;8&#8243;<br \/>\nandroid:targetSdkVersion=&#8221;15&#8243; \/&gt;<\/p>\n<p>\uff13\u3001\u8f6c\u4e3ac\/c++\u5de5\u7a0b\uff0cbuilder\u6539\u4e3a\u4f7f\u7528ndk-build.cmd<\/p>\n<p>\uff14\u3001\u4e0b\u9762\u5c1d\u8bd5\u771f\u673a\u8c03\u8bd5\uff1a<\/p>\n<p>\u5982\u679candroid\u624b\u673a\u672a\u88abadb\u8fa8\u8ba4\uff0c\u9700\u8981\u4e24\u4e2a\u5730\u65b9\u786e\u8ba4\u4e0b\uff0c\u4e00\u662f\u624b\u673a\u7684usb\u8c03\u8bd5\u662f\u5426\u6253\u5f00\uff0c\u4e8c\u662f\u624b\u673a\u9a71\u52a8\u662f\u5426\u5b89\u88c5\u6b63\u786e\uff0cwindows\u4e0b\u9700\u8981\u5b89\u88c5google use driver\uff0c\u5982\u679c\u9a71\u52a8\u5b89\u88c5\u5931\u8d25\uff0c\u4f7f\u7528\u4ee5\u4e0b\u65b9\u6cd5\u89e3\u51b3\u3002<\/p>\n<p>\u5982\u679c\u4f7f\u7528android google usb driver \u5b89\u88c5\u4e0d\u4e0a\u53ef\u4ee5\u4fee\u6539extras\\google\\usb_driver \u76ee\u5f55\u4e0b\u7684 android_winusb.inf \u6587\u4ef6<br \/>\n\u5177\u4f53\u65b9\u5f0f\u662f:\u7528\u6587\u672c\u5de5\u5177\u6253\u5f00\u8fd9\u4e2a\u6587\u4ef6,\u5728\u6587\u4ef6\u91cc\u5728\u6709\u4e00\u4e9b\u00a0\u00a0%SingleAdbInterface%\u00a0\u00a0%CompositeAdbInterface%\u00a0\u00a0\u6210\u5bf9\u7684\u5b9a\u4e49,\u628a\u4f60\u7684\u8bbe\u5907\u4fe1\u606f\u4e5f\u6309\u7167\u8fd9\u4e2a\u6837\u5b50\u5199\u5728\u91cc\u9762,\u683c\u5f0f\u53c2\u7167google<br \/>\n%SingleAdbInterface%\u00a0 \u00a0\u00a0 \u00a0\u00a0\u00a0= USB_Install, USB\\###########(\u5c31\u662f\u786c\u4ef6id\u91cc\u9762\u7684\u77ed\u7684\u503c)<br \/>\n%CompositeAdbInterface%\u00a0 \u00a0\u00a0\u00a0= USB_Install, USB\\##########(\u5c31\u662f\u786c\u4ef6id\u91cc\u9762\u7684\u957f\u7684\u503c )<br \/>\n(\u786c\u4ef6id\u7684\u67e5\u770b\u65b9\u6cd5\u548c\u4e0a\u9762\u4e00\u6837,\u4e0d\u8fc7\u9700\u8981\u6ce8\u610f\u8fd9\u91cc\u662f\u5168\u90e8\u9700\u8981,\u548cgoogle\u4e00\u6837)<\/p>\n<p>\u5982\u679c\u4ee5\u4e0a\u90fd\u6210\u529f\u7684\u8bdd\uff0c\u5728cmd\u4e2d\u6267\u884c:adb devices\u3000\u53ef\u4ee5\u770b\u5230\u771f\u673a\u3002<\/p>\n<p>\u795e\u90a3\uff0c\u7b2c\u4e00\u4e2a\u7a0b\u5e8f\u7ec8\u4e8e\u5728\u771f\u673a\u4e0a\u8dd1\u8d77\u6765\u4e86\u3002<\/p>\n<p>\u4e0b\u9762\u505a\u7b2c\u4e8c\u6b65\uff0c\u628acocos2d-x\u7684samples\u79fb\u5230\u771f\u673a\u4e0a\u6d4b\u8bd5\u4e00\u4e0bopengles.<\/p>\n<p>5\u3001\u5982\u679c\u53d1\u73b0build\u65f6\uff0cconsole\u6ca1\u6709\u8f93\u51fa\uff0c\u662f\u56e0\u4e3a\u6ca1\u6709\u6dfb\u52a0builder\u7684\u539f\u56e0\u3002<\/p>\n<p>6\u3001\u89e3\u51b3\u4ee5\u4e0b\u9519\u8bef\uff1a\u6ce8\u610f\u6dfb\u52a0\u7684\u662fenvironment<\/p>\n<p>Cannot find module with tag &#8216;cocos2dx&#8217;<\/p>\n<p>Add environment &#8220;NDK_MODULE_PATH&#8221; of values &#8220;&lt;Your-cocos2d-x-Root&gt;;&lt;Your-cocos2d-x-Root&gt;\\cocos2dx\\platform\\third_party\\android\\prebuilt;&#8221;<\/p>\n<p>7\u3001\u5982\u679c\u7ee7\u7eed\u62a5\u4ee5\u4e0b\u9519\uff1a\u6ce8\u610f\u4fee\u6539\u7684\u662fenviroment<\/p>\n<p>Android NDK: WARNING: Ignoring unknown import directory: C:\\cocos2d-2.0-x-2.0.3<br \/>\nAndroid NDK: jni\/Android.mk: Cannot find module with tag &#8216;cocos2dx&#8217; in import path<br \/>\njni\/Android.mk:19: *** Android NDK: Aborting.\u00a0\u00a0\u00a0 .\u00a0 Stop.<br \/>\nAndroid NDK: Are you sure your NDK_MODULE_PATH variable is properly defined ?<br \/>\nAndroid NDK: The following directories were searched:<br \/>\nAndroid NDK:<\/p>\n<p>\u90a3\u4e48\u4fee\u6539\u4e3a\uff1a\u628ac:\\cocos-2dx\u5b89\u88c5\u76ee\u5f55\uff0c\u4fee\u6539\u4e3a: c:\/cocos-2dx<\/p>\n<p>\u8d39\u4e86\u6211\uff13\u4e2a\u5c0f\u65f6\u554a\u3002<\/p>\n<p>8\u3001<strong>fatal error: GLES2\/gl2platform.h: No such file or directory<\/strong><\/p>\n<p>\u5728Application.mk\u4e2d\u6dfb\u52a0\uff1a<\/p>\n<p>APP_PLATFORM := android-8<\/p>\n<p>\u7136\u540e\u7f16\u8bd1\u5de5\u7a0b\uff0c\u4e0d\u77e5\u9053\u539f\u56e0\uff0c\u4f46\u662f\u786e\u5b9e\u89e3\u51b3\u95ee\u9898\u4e86\u3002<\/p>\n<p>9\u3001android\u4e0b assets\u8d44\u6e90\u53ef\u4ee5\u4f7f\u7528link\u7684\u65b9\u5f0f\u8fde\u63a5\u5230resources\u8d44\u6e90\u76ee\u5f55\u3002<\/p>\n<p>10\u3001\u5982\u679c\u63d0\u793a\u6ca1\u6709box2d\u7684\u5e93\u3002<\/p>\n<p>LOCAL_WHOLE_STATIC_LIBRARIES \u4e0a\u6dfb\u52a0 <em><strong>box2d_static<\/strong><\/em><\/p>\n<p>\u6700\u540e\u4e00\u884c\u6dfb\u52a0\uff1a<em><strong>$(call import-module,external\/Box2D)<\/strong><\/em><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u4eca\u5929\u771f\u673a\u5230\u624b,\u524d\u51e0\u4e2a\u6708\u770b\u8fc7\u7684android\u5f00\u53d1,\u5df2\u7ecf\u5b8c\u5168\u8bb0\u4e0d\u6e05\u4e86. \u8fd9\u91cc\u4ece\u5934\u4e00\u6b65 &hellip;<\/p>\n<p class=\"read-more\"><a href=\"https:\/\/blog.zhukunqian.com\/?p=488\">\u7ee7\u7eed\u9605\u8bfb &raquo;<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[15],"tags":[],"_links":{"self":[{"href":"https:\/\/blog.zhukunqian.com\/index.php?rest_route=\/wp\/v2\/posts\/488"}],"collection":[{"href":"https:\/\/blog.zhukunqian.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.zhukunqian.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.zhukunqian.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.zhukunqian.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=488"}],"version-history":[{"count":8,"href":"https:\/\/blog.zhukunqian.com\/index.php?rest_route=\/wp\/v2\/posts\/488\/revisions"}],"predecessor-version":[{"id":490,"href":"https:\/\/blog.zhukunqian.com\/index.php?rest_route=\/wp\/v2\/posts\/488\/revisions\/490"}],"wp:attachment":[{"href":"https:\/\/blog.zhukunqian.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=488"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.zhukunqian.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=488"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.zhukunqian.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=488"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}