Unity-Android的配置、整合、匯出[Mac]
1.mac下安裝配置Android SDK
[1]安裝java jdk:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
[2]sdk安裝詳見:http://www.cnblogs.com/yjmyzz/p/4219829.html
[3]安裝android studio IDE
2.整合Android第三方sdk或使用原生功能並匯出apk
[1]新增unity的class.jar檔案,詳見:http://www.narkii.com/club/thread-320335-1.html
[2]unity-classes Add To Library
[3]Android Studio 打Jar包見:http://blog.csdn.net/ta893115871/article/details/46955791/
[4]Jar包生成目錄:
./mylibrary/build/intermediates/bundles/debug/classes.jar
[5]儲存圖片至android相簿
java程式碼:
// 儲存照片至相簿
public static void savePng(final String fileName)
{
context = mainActivity.getApplicationContext();
mainActivity.runOnUiThread(new Runnable() {
public void run() {
Bitmap bitmap = BitmapFactory.decodeFile(Environment
.getExternalStorageDirectory()
+ "/Android/data/com.ztgame.snake/files/"
+ fileName
+ ".png");
File file = new File(Environment.getExternalStorageDirectory()
+ "/DCIM/Camera", fileName + ".jpg");
FileOutputStream fos = null;
try {
fos = new FileOutputStream(file);
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
Log.w("cat", e.toString());
}
bitmap.compress(Bitmap.CompressFormat.JPEG, 100, fos);
try {
fos.flush();
} catch (IOException e) {
// TODO Auto-generated catch block
Log.w("cat", e.toString());
}
try {
fos.close();
} catch (IOException e) {
// TODO Auto-generated catch block
Log.w("cat", e.toString());
}
bitmap.recycle();//掃描儲存的圖片
context.sendBroadcast(new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE, Uri.parse("file://" +Environment.getExternalStorageDirectory()
+ "/DCIM/Camera/"+fileName + ".jpg")));
Toast.makeText(context, "照片已儲存到相簿", Toast.LENGTH_SHORT).show();
}
});
}
c#部分:
//先儲存至本地目錄
string name = "name";
string writePath = Application.persistentDataPath + "/" + name + ".png";
File.WriteAllBytes(writePath, b);
//呼叫原生程式碼複製到相簿
AndroidJavaClass jc = new AndroidJavaClass("com.unity3d.player.UnityPlayer");
AndroidJavaObject jo = jc.GetStatic<AndroidJavaObject>("currentActivity");
jo.CallStatic("savePng", name);
[6]將文字複製到剪貼簿
java部分:
// 向剪貼簿中新增文字
public static void copyTextToClipboard(final String str) throws Exception {
context = mainActivity.getApplicationContext();
if (Looper.myLooper() == null){
Looper.prepare();
}
clipboard = (ClipboardManager) context.getSystemService(Activity.CLIPBOARD_SERVICE);
ClipData textCd = ClipData.newPlainText("data", str);
clipboard.setPrimaryClip(textCd);
mainActivity.runOnUiThread(new Runnable() {
public void run() {
Toast.makeText(context, "連結已複製到剪貼簿", Toast.LENGTH_SHORT).show();
}
});
}
c#部分:
AndroidJavaClass jc = new AndroidJavaClass("com.unity3d.player.UnityPlayer");
AndroidJavaObject jo = jc.GetStatic<AndroidJavaObject>("currentActivity");
jo.CallStatic("copyTextToClipboard", input);
[7]安裝AndroidPlayer擴充套件即可匯出
3.特別注意
[1]Android工程包名要和unity設定中保持一致
[2]如果橫豎屏不能在unity設定中滿足需求,可以在程式碼中強制調整
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
相關文章
- mac如何匯出cer私鑰Mac
- Fiddler匯出jmx格式配置的流程
- Java整合FreeMarker匯出Pdf檔案Java
- 使用VUE+SpringBoot+EasyExcel 整合匯入匯出資料VueSpring BootExcel
- SpringBoot 整合 EasyExcel 實現自由匯入匯出,太強了Spring BootExcel
- 【匯出匯入】% 在匯入匯出中的應用。
- Bodymovin for Mac (AE動畫匯出json工具)Mac動畫JSON
- Notadd 應用配置資料匯入匯出設計
- Mac操作指南:如何在Mac電腦匯出應用程式的圖示?Mac
- 【匯出匯入】匯出匯入 大物件物件
- 如何將python配置的依賴包以及版本匯出Python
- Mac如何建立並匯出檔案列表清單Mac
- 修復PLSQL Developer 與 Office 2010的整合匯出Excel 功能SQLDeveloperExcel
- SpringBoot+Mybatis-plus整合easyExcel批次匯入Excel到資料庫+匯出ExcelSpring BootMyBatisExcel資料庫
- 資料庫的匯入匯出資料庫
- 資料泵的匯入匯出
- 【oracle 匯入、匯出】escape 的作用。Oracle
- [Docker核心之容器、資料庫檔案的匯入匯出、容器映象的匯入匯出]Docker資料庫
- Activity 流程模型匯入匯出-activity流程模型匯入匯出模型
- js匯出EXCELjs匯出EXCELJSExcel
- Mysql匯入&匯出MySql
- Mysql匯入匯出MySql
- doris匯入匯出
- Oracle安裝後伺服器端配置及資料匯出匯入操作Oracle伺服器
- ES模組化的匯入和匯出
- Mongodb資料的匯出與匯入MongoDB
- EasyPoi, Excel資料的匯入匯出Excel
- 匯入和匯出AWR的資料
- 用 PostgreSQL 的 COPY 匯入匯出 CSVSQL
- BCP 資料的匯入和匯出
- AWR資料的匯出與匯入
- ITDS資料匯入匯出的方法
- 高速的匯出/匯入:Oracle Data PumpOracle
- exp/imp匯出匯入工具的使用
- NDS的資料匯入和匯出
- ORACLE統計資訊的匯出、匯入Oracle
- Progress資料表的匯入匯出
- poi的excel匯出Excel