Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
UE4でAndroidビルド
...できなかった...
Androidでビルドしようとしたが...
エラーの原因は
AndroidHttpClient…
Android 6 Marshmallow(SDK23)以降では
使えない...
http://qiita.com/FumihikoSHIROYAMA/items/b6e82c
20b518...
Android6.0以降対応
このほかに
activity.requestPermissions(java.lang.String[], int);
というメソッドを呼び出して、Permissionを聞かないといけない。
https://dev...
Android6.0以降でPermissionをきくユースケース
// 設定されているパーミッションの一覧を取得する
public static ArrayList<String> getSettingPermissions(Context c...
Android6.0以降でPermissionをきくユースケース
// 既にユーザーがパーミッションを承認しているかどうか
public static boolean hasSelfPermission(Context context, Str...
Android6.0以降でPermissionをきくユースケース
// パーミッションを聞く
public static void requestPermissions(Activity activity, int requestCode){
...
最後に
EpicGamesのGithubに今回の件の修正にPull Requestをだそうか悩み中...
Upcoming SlideShare
Loading in …5
×

Ue4でandroidビルド ...できなかった...

567 views

Published on

できなかった話

Published in: Engineering
  • Be the first to comment

Ue4でandroidビルド ...できなかった...

  1. 1. UE4でAndroidビルド ...できなかった...
  2. 2. Androidでビルドしようとしたが...
  3. 3. エラーの原因は AndroidHttpClient… Android 6 Marshmallow(SDK23)以降では 使えない... http://qiita.com/FumihikoSHIROYAMA/items/b6e82c 20b518c4d9a219 UE4さん何とかなりませんかね????
  4. 4. Android6.0以降対応 このほかに activity.requestPermissions(java.lang.String[], int); というメソッドを呼び出して、Permissionを聞かないといけない。 https://developer.android.com/reference/android/app/Activity.html#requestPermiss ions(java.lang.String[], int) しかし、2016/10/10現在、UE4のGithub上に該当のソースコードが記載されていないよ うだ...
  5. 5. Android6.0以降でPermissionをきくユースケース // 設定されているパーミッションの一覧を取得する public static ArrayList<String> getSettingPermissions(Context context){ ArrayList<String> list = new ArrayList<String>(); PackageInfo packageInfo = null; try { packageInfo = context.getPackageManager().getPackageInfo(context.getPackageName(), PackageManager.GET_PERMISSIONS); } catch (PackageManager.NameNotFoundException e) { e.printStackTrace(); } if(packageInfo == null || packageInfo.requestedPermissions == null) return list; for(String permission : packageInfo.requestedPermissions){ list.add(permission); } return list; } 参照 https://github.com/TakuKobayashi/ggrks_scanner/blob/master/app/src/main/java/kobayashi/taku/com/ggrks_scanner/ApplicationHelper.java
  6. 6. Android6.0以降でPermissionをきくユースケース // 既にユーザーがパーミッションを承認しているかどうか public static boolean hasSelfPermission(Context context, String permission) { if(Build.VERSION.SDK_INT < 23) return true; return context.checkSelfPermission(permission) == PackageManager.PERMISSION_GRANTED; } 参照 https://github.com/TakuKobayashi/ggrks_scanner/blob/master/app/src/main/java/kobayashi/taku/com/ggrks_scanner/ApplicationHelper.java
  7. 7. Android6.0以降でPermissionをきくユースケース // パーミッションを聞く public static void requestPermissions(Activity activity, int requestCode){ if(Build.VERSION.SDK_INT >= 23) { ArrayList<String> permissions = ApplicationHelper.getSettingPermissions(activity); boolean isRequestPermission = false; for(String permission : permissions){ if(!ApplicationHelper.hasSelfPermission(activity, permission)){ isRequestPermission = true; break; } } if(isRequestPermission) { activity.requestPermissions(permissions.toArray(new String[0]), requestCode); } } } 参照 https://github.com/TakuKobayashi/ggrks_scanner/blob/master/app/src/main/java/kobayashi/taku/com/ggrks_scanner/ApplicationHelper.java
  8. 8. 最後に EpicGamesのGithubに今回の件の修正にPull Requestをだそうか悩み中...

×