Android Studioで自動的に含まれるパーミッション(android.permission.WAKE_LOCK)の削除方法
環境:
Android Studio 3.0
Google Play Services 11.6.0
Gradleで
compile 'com.google.android.gms:play-services-analytics:11.6.0'
とかやると自動的に不要なパーミッションが付いてしまいます。
android.permission.WAKE_LOCK
Google公式のアナリティクス実装ガイドには、オプションだから入れなくてもいいって書いてあるんだけど、Gradleは全部入れてしまう。そう自動的に。
なのでこれをAndroid Studioのエディター上で、簡単なマウスクリックだけで削除する方法を見つけました。
まず、AndroidManifest.xmlを開きます。
次に、「Merged Manifest」をクリックします。
すると、最終的にapkに含まれるAndroidManifest.xmlを見ることができます。これは便利ですね!
で、よく見ると、Google Analyticsによって自動的にandroid.permission.WAKE_LOCKが追加されていることがわかります。
なので、これを右クリックして「Remove」しちゃいましょう。
さらに、不要なサービスやレシーバーも合わせて削除しましょう。
com.google.android.gms.analytics.AnalyticsReceiver
com.google.android.gms.analytics.AnalyticsService
(たぶんこれ削除しとかないとパーミッションが無いとかでクラッシュするかと思います。ここのサイトにもそのような記述があります。)
これで完了です!
cocos2dx v3.16のBox2DでEXC_BAD_ACCESS修正方法
開発のおはなしです。
cocos2dx v3.16のBox2DでEXC_BAD_ACCESSが発生したのでその修正方法メモ。
この関数でクラッシュしたので調べたら、
void b2Island::Solve(b2Profile* profile, const b2TimeStep& step, const b2Vec2& gravity, bool allowSleep) ・・・
for (int32 j = 0; j < m_jointCount; ++j)
{
bool jointOkay = m_joints[i]->SolvePositionConstraints(solverData);
jointsOkay = jointsOkay && jointOkay;
}
このfor文でm_joints[i]をm_joints[j]に修正するといいです。
Cocos Creatorの実機でドット絵が崩れる問題
Cocos Creatorでドット絵のゲームを作っています。
開発中はブラウザでゲームが動くので、動作確認がすぐとれてとても便利です。
ある時、ブラウザで順調に動作しているので、一旦実機でもテストしてみようと思い、Project→BuildでPlatformをiOSにしてBuildボタンを押します。
するとbuildというフォルダが作られるので、中を漁ってXcodeのプロジェクトを見つけ、それを起動します。
Code Signを自分のものに変更して、iPhoneを接続し、ビルドして転送します。
すると、下記のようにドットが崩れて表示されてしまいました。
なんか変・・・
ですが、色々とCocos Creatorをいじった結果、設定で回避できることがわかりました。
Spriteの設定のTypeをSIMPLEからSLICEDに変更します。
これだけです。
これでもう一度Cocos Creatorでビルド、そしてXcodeでもビルドして実機に転送すればオッケーです。
とりあえずこれで開発を進めていきます!