求教如何在android 中调用ping命令 如何在Unity中调用Android的JAVA代码

\u5982\u4f55\u5728Unity\u4e2d\u8c03\u7528Android\u7684JAVA\u4ee3\u7801

\u3000\u65b9\u6cd5/\u6b65\u9aa4

\u3000\u30001

\u3000\u3000\u9996\u5148\u6211\u4eec\u8981\u521b\u5efa\u4e00\u4e2aandroid\u9879\u76ee

\u3000\u3000\u6b65\u9aa4\u9605\u8bfb

\u3000\u30002

\u3000\u3000\u56e0\u4e3a\u9879\u76ee\u9700\u8981\u4f7f\u7528Unity\u63d0\u4f9b\u7684\u63a5\u53e3\uff0c\u6240\u4ee5\u9700\u8981\u5c06\u63a5\u53e3classes.jar\u5f15\u5165\u81f3\u5f53\u524d\u5de5\u7a0b\u4f46\u4e2d\u3002\u63a5\u53e3\u5305\u7684\u6240\u5728\u5730\uff0c\u6253\u5f00Finder->\u5e94\u7528\u7a0b\u5e8f->Unity->\u70b9\u51fbUnity\u56fe\u6807\uff0c\u9f20\u6807\u53f3\u952e\u9009\u62e9\u201c\u663e\u793a\u5305\u5185\u5bb9\u201d->Contents->PlaybackEngines->AndroidPlayer->bin->classes.jar
\u3002\u63a5\u53e3\u5305\u5f15\u5165\u5de5\u7a0b\u540e\uff0c\u5f00\u59cb\u7f16\u5199JAVA\u4ee3\u7801\u3002

\u3000\u30003

\u3000\u3000UnityTestActivity\u662f\u4e3bActivity\uff0cUnity\u7a0b\u5e8f\u4e00\u8d77\u52a8\u5c31\u4f1a\u8c03\u7528\u8fd9\u4e2aActivity\uff0c\u5b83\u662f\u5728AndroidManifest.xml\u4e2d\u914d\u7f6e\u7684\u3002\u5b83\u9700\u8981\u7ee7\u627fUnityPlayerActivity\uff0c\u7136\u800c\u5b83\u5c31\u662f\u521a\u521a\u6211\u4eec\u5f15\u5165\u7684classes.jar\u5305\u4e2d\u63d0\u4f9b\u7684\u63a5\u53e3\u7c7b\u3002UnityTestActivity\u5bf9\u5916\u63d0\u4f9b\u4e86\u4e24\u4e2a\u65b9\u6cd5\u63a5\u53e3\uff0cStartActivity0(String
name) \u65b9\u6cd5\u4e0eStartActivity1(String
name)\u65b9\u6cd5\uff0c\u8fd9\u4e24\u4e2a\u65b9\u6cd5\u662f\u5728Unity\u4e2d\u4f7f\u7528C#\u811a\u672c\u8c03\u7528\u7684\uff0c\u610f\u601d\u662f\u8c03\u7528\u540e\u7a0b\u5e8f\u5c06\u6253\u5f00\u4e00\u4e2a\u65b0\u7684Activity\uff0c\u53c2\u6570name\u4e5f\u662f\u7531C#\u811a\u672c\u4f20\u9012\u8fc7\u6765\u7684\uff0c\u63a5\u7740\u5c06\u4f20\u9012\u7684String\u53c2\u6570\u7ee7\u7eed\u4f20\u9012\u7ed9\u65b0\u6253\u5f00\u7684Activity\u3002

\u3000\u3000\u6b65\u9aa4\u9605\u8bfb

\u3000\u30004

\u3000\u3000\u63a5\u4e0b\u6765\u5c31\u662f\u8bbe\u7f6exml\u6587\u4ef6\u548c\u5e03\u5c40\u6587\u4ef6\u4e86\u3002\u5bf9\u4e8e\u4f1aandroid\u7f16\u7a0b\u7684\u540c\u5b66\u5c31\u5f88\u719f\u6089\u4e86\u3002

\u3000\u30005

\u3000\u3000\u628a\u5199\u597d\u7684java\u4ee3\u7801\u53d1\u5e03\u6210jar\u5305\u3002\u63a5\u4e0b\u6765\u5c31\u521b\u5efaunity\u5de5\u7a0b\uff0cUnity\u5de5\u7a0b\u4e2d\u6587\u4ef6\u5939\u7684\u7ed3\u6784\u5982\u4e0b\uff0cPlugins->Android\u7684\u540d\u79f0\u4e0d\u80fd\u4fee\u6539\uff0c\u5fc5\u9700\u4fdd\u6301\u4e00\u81f4\u3002\u63a5\u7740\u628aEclipse\u4e2dAndroid\u7684\u5de5\u7a0b\u6587\u4ef6\u62f7\u8d1d\u81f3\u8fd9\u91cc\uff0c\u9664\u4e86Android\u5de5\u7a0b\u4e2d\u7684src\u6587\u4ef6\u5939\uff0c\u5c06\u5176\u5b83\u6587\u4ef6\u5939\u5168\u90e8\u62f7\u8d1d\u81f3Plugins->Android\u6587\u4ef6\u5939\u4e2d\u3002\u6700\u540e\u5728Plugins->Android\u6587\u4ef6\u5939\u4e2d\u521b\u5efabin\u6587\u4ef6\u5939\uff0c\u7136\u540e\u5c06\u521a\u521a\u751f\u6210\u7684.jar\u6587\u4ef6\u62f7\u8d1d\u8fdb\u6765\uff0cjar\u7684\u540d\u79f0\u53ef\u4ee5\u968f\u4fbf\u4fee\u6539\uff0c\u4f46\u662fjar\u5305\u91cc\u9762\u5fc5\u987b\u662fcom->xys->\u4f60\u7684class\u6587\u4ef6\uff0c\u5426\u5219\u8fd0\u884c\u7a0b\u5e8f\u540e\u63d0\u793a\u627e\u4e0d\u5230\u7c7b\u6587\u4ef6\u3002

\u3000\u3000\u6b65\u9aa4\u9605\u8bfb

\u3000\u30006

\u3000\u3000\u63a5\u4e0b\u6765\u5c31\u662f\u5982\u4f55\u5728C#\u4e2d\u8c03\u7528android\u7684\u65b9\u6cd5\u7684\u4ee3\u7801\u4e86\u3002

\u3000\u3000\u52a0\u5165\u5982\u4e0b\u4ee3\u7801\u3002

\u3000\u3000AndroidJavaClass jc = new
AndroidJavaClass("com.unity3d.player.UnityPlayer");

\u3000\u3000AndroidJavaObject jo =
jc.GetStatic("currentActivity");

\u3000\u3000jo.Call("StartActivity0","\u7b2c\u4e00\u4e2aActivity");

\u3000\u3000\u5148\u5f97\u5230AndroidJavaClass\uff0c\u7136\u540e\u5f97\u5230AndroidjavaObject\u5c31\u662f\u5f53\u524dActivity\u7684\u5bf9\u8c61\uff0c\u4e5f\u5c31\u662f\u6211\u4eec\u5728\u4e0a\u9762\u521b\u5efa\u7684\u4e3bUnityTestActivity.JAVA\u3002\u62ff\u5230\u5b83\u7684\u5bf9\u8c61\u540e\u8c03\u7528jo.Call\uff08\uff09\u53c2\u65701\u8868\u793a\u8c03\u7528UnityTestActivity.JAVA\u7c7b\u4e2d\u7684\u65b9\u6cd5\u540d\u79f0\uff0c\u53c2\u65702\u8868\u793a\u8be5\u65b9\u6cd5\u4f20\u9012\u8fc7\u53bb\u7684\u53c2\u6570\u3002\u5982\u4e0b\u56fe\u6240\u793a\uff1a\u201c\u7b2c\u4e00\u4e2aActivity\u201d\u4e0e\u201c\u7b2c\u4e8c\u4e2aActivit\u201d\u5c31\u662f\u6211\u5728C#\u4e2d\u4f20\u9012\u8fc7\u53bb\u7684\u5b57\u7b26\u4e32\u3002

\u3000\u30007

\u3000\u3000\u53d1\u5e03\u6210android\u5e73\u53f0apk

\u3000\u3000\u65b9\u6cd5/\u6b65\u9aa4
\u3000\u30001.\u9996\u5148\u8981\u521b\u5efa\u4e00\u4e2aandroid\u9879\u76ee
\u30002.\u56e0\u4e3a\u9879\u76ee\u9700\u8981\u4f7f\u7528Unity\u63d0\u4f9b\u7684\u63a5\u53e3\uff0c\u6240\u4ee5\u9700\u8981\u5c06\u63a5\u53e3classes.jar\u5f15\u5165\u81f3\u5f53\u524d\u5de5\u7a0b\u4f46\u4e2d\u3002\u63a5\u53e3\u5305\u7684\u6240\u5728\u5730\uff0c\u6253\u5f00Finder->\u5e94\u7528\u7a0b\u5e8f->Unity->\u70b9\u51fbUnity\u56fe\u6807\uff0c\u9f20\u6807\u53f3\u952e\u9009\u62e9\u201c\u663e\u793a\u5305\u5185\u5bb9\u201d->Contents->PlaybackEngines->AndroidPlayer->bin->classes.jar
\u3002\u63a5\u53e3\u5305\u5f15\u5165\u5de5\u7a0b\u540e\uff0c\u5f00\u59cb\u7f16\u5199JAVA\u4ee3\u7801\u3002
3.UnityTestActivity\u662f\u4e3bActivity\uff0cUnity\u7a0b\u5e8f\u4e00\u8d77\u52a8\u5c31\u4f1a\u8c03\u7528\u8fd9\u4e2aActivity\uff0c\u5b83\u662f\u5728AndroidManifest.xml\u4e2d\u914d\u7f6e\u7684\u3002\u5b83\u9700\u8981\u7ee7\u627fUnityPlayerActivity\uff0c\u7136\u800c\u5b83\u5c31\u662f\u521a\u521a\u6211\u4eec\u5f15\u5165\u7684classes.jar\u5305\u4e2d\u63d0\u4f9b\u7684\u63a5\u53e3\u7c7b\u3002UnityTestActivity\u5bf9\u5916\u63d0\u4f9b\u4e86\u4e24\u4e2a\u65b9\u6cd5\u63a5\u53e3\uff0cStartActivity0(String
name) \u65b9\u6cd5\u4e0eStartActivity1(String
name)\u65b9\u6cd5\uff0c\u8fd9\u4e24\u4e2a\u65b9\u6cd5\u662f\u5728Unity\u4e2d\u4f7f\u7528C#\u811a\u672c\u8c03\u7528\u7684\uff0c\u610f\u601d\u662f\u8c03\u7528\u540e\u7a0b\u5e8f\u5c06\u6253\u5f00\u4e00\u4e2a\u65b0\u7684Activity\uff0c\u53c2\u6570name\u4e5f\u662f\u7531C#\u811a\u672c\u4f20\u9012\u8fc7\u6765\u7684\uff0c\u63a5\u7740\u5c06\u4f20\u9012\u7684String\u53c2\u6570\u7ee7\u7eed\u4f20\u9012\u7ed9\u65b0\u6253\u5f00\u7684Activity\u3002
\u3000\u6b65\u9aa4\u9605\u8bfb

\u3000\u30004

\u3000\u3000\u63a5\u4e0b\u6765\u5c31\u662f\u8bbe\u7f6exml\u6587\u4ef6\u548c\u5e03\u5c40\u6587\u4ef6\u4e86\u3002\u5bf9\u4e8e\u4f1aandroid\u7f16\u7a0b\u7684\u540c\u5b66\u5c31\u5f88\u719f\u6089\u4e86\u3002

\u3000\u30005

\u3000\u3000\u628a\u5199\u597d\u7684java\u4ee3\u7801\u53d1\u5e03\u6210jar\u5305\u3002\u63a5\u4e0b\u6765\u5c31\u521b\u5efaunity\u5de5\u7a0b\uff0cUnity\u5de5\u7a0b\u4e2d\u6587\u4ef6\u5939\u7684\u7ed3\u6784\u5982\u4e0b\uff0cPlugins->Android\u7684\u540d\u79f0\u4e0d\u80fd\u4fee\u6539\uff0c\u5fc5\u9700\u4fdd\u6301\u4e00\u81f4\u3002\u63a5\u7740\u628aEclipse\u4e2dAndroid\u7684\u5de5\u7a0b\u6587\u4ef6\u62f7\u8d1d\u81f3\u8fd9\u91cc\uff0c\u9664\u4e86Android\u5de5\u7a0b\u4e2d\u7684src\u6587\u4ef6\u5939\uff0c\u5c06\u5176\u5b83\u6587\u4ef6\u5939\u5168\u90e8\u62f7\u8d1d\u81f3Plugins->Android\u6587\u4ef6\u5939\u4e2d\u3002\u6700\u540e\u5728Plugins->Android\u6587\u4ef6\u5939\u4e2d\u521b\u5efabin\u6587\u4ef6\u5939\uff0c\u7136\u540e\u5c06\u521a\u521a\u751f\u6210\u7684.jar\u6587\u4ef6\u62f7\u8d1d\u8fdb\u6765\uff0cjar\u7684\u540d\u79f0\u53ef\u4ee5\u968f\u4fbf\u4fee\u6539\uff0c\u4f46\u662fjar\u5305\u91cc\u9762\u5fc5\u987b\u662fcom->xys->\u4f60\u7684class\u6587\u4ef6\uff0c\u5426\u5219\u8fd0\u884c\u7a0b\u5e8f\u540e\u63d0\u793a\u627e\u4e0d\u5230\u7c7b\u6587\u4ef6\u3002

\u3000\u3000\u6b65\u9aa4\u9605\u8bfb

\u3000\u30006

\u3000\u3000\u63a5\u4e0b\u6765\u5c31\u662f\u5982\u4f55\u5728C#\u4e2d\u8c03\u7528android\u7684\u65b9\u6cd5\u7684\u4ee3\u7801\u4e86\u3002

\u3000\u3000\u52a0\u5165\u5982\u4e0b\u4ee3\u7801\u3002

\u3000\u3000AndroidJavaClass jc = new
AndroidJavaClass("com.unity3d.player.UnityPlayer");

\u3000\u3000AndroidJavaObject jo =
jc.GetStatic("currentActivity");

\u3000\u3000jo.Call("StartActivity0","\u7b2c\u4e00\u4e2aActivity");

\u3000\u3000\u5148\u5f97\u5230AndroidJavaClass\uff0c\u7136\u540e\u5f97\u5230AndroidjavaObject\u5c31\u662f\u5f53\u524dActivity\u7684\u5bf9\u8c61\uff0c\u4e5f\u5c31\u662f\u6211\u4eec\u5728\u4e0a\u9762\u521b\u5efa\u7684\u4e3bUnityTestActivity.JAVA\u3002\u62ff\u5230\u5b83\u7684\u5bf9\u8c61\u540e\u8c03\u7528jo.Call\uff08\uff09\u53c2\u65701\u8868\u793a\u8c03\u7528UnityTestActivity.JAVA\u7c7b\u4e2d\u7684\u65b9\u6cd5\u540d\u79f0\uff0c\u53c2\u65702\u8868\u793a\u8be5\u65b9\u6cd5\u4f20\u9012\u8fc7\u53bb\u7684\u53c2\u6570\u3002\u5982\u4e0b\u56fe\u6240\u793a\uff1a\u201c\u7b2c\u4e00\u4e2aActivity\u201d\u4e0e\u201c\u7b2c\u4e8c\u4e2aActivit\u201d\u5c31\u662f\u6211\u5728C#\u4e2d\u4f20\u9012\u8fc7\u53bb\u7684\u5b57\u7b26\u4e32\u3002

\u3000\u30007

\u3000\u3000\u53d1\u5e03\u6210android\u5e73\u53f0apk

android自身就带有ping程序,在system/bin路径下,可以直接调用,eg:/system/bin/ping 192.168.1.1

Android执行adb命令方式:
例如:Runtime.getRuntime().exec("ps");

本站交流只代表网友个人观点,与本站立场无关
欢迎反馈与建议,请联系电邮
2024© 车视网