Unity5で、「System.Reflection.ReflectionTypeLoadException: The classes in the module cannot be loaded.」のエラー

Unity5IAP

Unity5.4を久々開いたら、下記エラーで実行できない。


Unhandled Exception: System.Reflection.ReflectionTypeLoadException: The classes in the module cannot be loaded. at (wrapper managed-to-native) System.Reflection.Assembly:GetTypes (bool) at System.Reflection.Assembly.GetTypes () [0x00000] in <filename unknown>:0 at Mono.CSharp.RootNamespace.ComputeNamespaces (System.Reflection.Assembly assembly, System.Type extensionType) [0x00000] in <filename unknown>:0 at Mono.CSharp.RootNamespace.ComputeNamespace (Mono.CSharp.CompilerContext ctx, System.Type extensionType) [0x00000] in <filename unknown>:0 at Mono.CSharp.GlobalRootNamespace.ComputeNamespaces (Mono.CSharp.CompilerContext ctx) [0x00000] in <filename unknown>:0 at Mono.CSharp.Driver.LoadReferences () [0x00000] in <filename unknown>:0 at Mono.CSharp.Driver.Compile () [0x00000] in <filename unknown>:0 at Mono.CSharp.Driver.Main (System.String[] args) [0x00000] in <filename unknown>:0 The following assembly referenced from mygame/Assets/Plugins/UnityPurchasing/Bin/Stores.dll could not be loaded:

色々いじった結果、Unity5のIAP(アプリの課金機能)が影響していたらしく、IAPのをアップデートしたら改善された。。

アップデートは、 Window -> Services に IAP(課金機能)があるので、
それをONに、ImportしなおせばOK!!

Unity5IAP

android studioで、「Error:Execution failed for task ‘:app:validateSigningRelease’. > Keystore file」というエラーが出たら

android studioで、「Error:Execution failed for task ‘:app:validateSigningRelease’. > Keystore file」と出た時

Android Studio2.2を使っていて、いきなり下記エラーにでくわした。


Error:Execution failed for task ':app:validateSigningRelease'. > Keystore file

既存のプロジェクトをファイルをコピーしてから作ったのがよくなかったのかな、
keystore のファイルも新しく作り直したはずなのに、このエラーが消えない

解決策

  • Make Rebuild」や、「Android Studio」を再起動したらエラーがでなくなりましたわ汗

Android Studioで「Error running app: Unknown run configuration type AndroidRunConfigurationType」でビルドできなくなった

Android Studio2.2で、急にビルドができなくなった。

android studio app

Runで実行する「app」がUnknownになって下記エラーになっている。


Error running app: Unknown run configuration type AndroidRunConfigurationType

試行錯誤

1. プロジェクトがおかしくなったのかなと思って、いままで普通に動いていたプロジェクトも実行できなくなっている

2. PC再起動や、AndroidStudioが壊れたかなと思って再インストールして、実行かわらず。JDK周りでエラーがでていたので、次は

3. JDKをインストールしてアップデート

4. 他にもSDK Managerで、プラグイン系を見てみると、Firebase周りで、なんやらエラーが、「Firebase testing」というチェックを外して、[Make Project]をしてみると、、、、

5. 、、、、、!!を、ちゃんとappモジュールがUnkownじゃなくなって、、無事解決!実行できました!!

adbでAndroid端末やエミュレータのファイルを覗く方法

adbで端末やエミュレータのファイルを覗く方法

1. ターミナルを開き、

2. adbでアクセスできるデバイスを確認


$ adb devices

3. adbで端末orエミュレータにアクセスしてファイルチェック

端末にログイン


$ adb -s emulator-5556 shell

対象ファイルがあるかチェック


$ ls -la /data/data/アプリのパッケージ名/files/test.png

※OSバージョンや端末によって使えるlinuxコマンドが限られていそう

端末のファイルをmac等ローカルPCにひっぱってくる


$ adb -s emulator-5556 pull /data/data/アプリのパッケージ名/files/test.png

アプリ内のファイルを確認する。Android Studio2.2でDDMSを開く方法備忘録

DDMSの開く方法

画面上部のメニューから

Tools -> Android -> Android Device Monitor

参考:http://stackoverflow.com/questions/39761453/no-shortcut-for-ddms-in-android-studio-2-2

ありがとうございます!!

Android2.2にアップデートしてから、
DDMSの見方がわからくなってしまってので忘れないようにメモ。。

zxingでQRコードを使っていて、AndroidOS6だけカメラ起動時にエラーがでる点解決方法

zxingでQRコードを読み取るアプリを作っていたのですが、
特定の端末だけカメラ起動時に、

「Androidのカメラに問題が発生しました。デバイスを再起動する必要があります。」

なんじゃこりゃ。。

色々検証してみるとAndroidOS6 (マシュマロ)だけの問題なような、。。

logcatで確認してみると、、


Attempt to invoke virtual method 'android.hardware.Camera$Parameters android.hardware.Camera.getParameters()' on a null object reference

こういうエラーが。。zxingライブラリの中身でエラー履いてて、
どうしようも。。

でズバリ解決方法は、
ライブラリアップデート!!!

build.gradle(app)


dependencies { 〜 compile 'com.journeyapps:zxing-android-embedded:3.3.0' 〜 }

3.2から3.3にしたら解決w

あと、androidOS6からか、、カメラの扱う許可ダイアログが表示された。。

参考サイト:
http://stackoverflow.com/questions/37685141/nullpointerexception-with-zxing-library-for-qr-scanning-android-app
https://github.com/journeyapps/zxing-android-embedded

Android ImageViewをシルエット化、色々

android シルエット 透過具合調整

黒で塗りつぶし


ImageView.setColorFilter(Color.BLACK,PorterDuff.Mode.SRC_ATOP);

こんな感じに普通のシルエットができます。

android シルエット
android シルエット

透過具合を指定して、塗りつぶし


ImageView.setColorFilter(R.color.my_color_silhouette,PorterDuff.Mode.SRC_ATOP);

R.color.my_color_silhouetteのxmlファイルも一応

colors.xml


<color name="my_color_silhouette">#ee000000</color>

今度はこんな感じ

android シルエットうっすら黒くなるだけ
android シルエットうっすら黒くなるだけ

↑ これだと思うように透過されません。alphaをffにしても透過された状態になる。。

下記のようにparseColorで透過具合を指定すると。


ImageView.setColorFilter(Color.parseColor("#ee000000"),PorterDuff.Mode.SRC_ATOP);
android シルエット 透過具合調整
android シルエット 透過具合調整

無事イメージどおりの透過具合になりました!

Unity5 rigidbody2Dで、x,y,zの軸を固定する

x,y,zのいずれも固定する場合。

GetComponent<Rigidbody2D> ().constraints = RigidbodyConstraints2D.FreezeAll;

固定を解除する場合。

GetComponent<Rigidbody2D> ().constraints = RigidbodyConstraints2D.None;

z軸(回転)以外だけ解除する場合。

GetComponent<Rigidbody2D> ().constraints = RigidbodyConstraints2D.FreezeRotation;

スクリーンショット 2016-04-24 22.11.20

条件式で、どのタイプで固定されているか判別する場合

if( GetComponent<Rigidbody2D> ().constraints == RigidbodyConstraints2D.FreezeAll){
  // すべて固定されていたら
}

「cocos2d-x 3.5」 と 「cocos studio 2.2」の開発環境構築。

cocosインストール

http://www.cocos2d-x.org/download

こちらcocosというランタイム?をインストール。
またcocos studio2.2をインストール。
起動時のメニューにて、storeというのがあるので、
そこからcocos2d-x 3.5をダウンロードし、インストール。

初期セットアップ

$python setup.py 
$source ~/.bash_profile

テンプレートプロジェクトを作成 (ios&android)

$cocos new MyGame -p com.example.hoge -l cpp -d ~/project_folder/hoge_cocos2dx

iOSで開発

$cd ~/project_folder/hoge_cocos2dx/
のxcodeファイルを開けば、iosの確認が可能。

アンドロイドで開発(IDEつかわずに直接端末つないでadbのパターン)

$cd proj.android/
$python build_native.py 

android端末にインストール

$cd ~/project_folder/hoge_cocos2dx/MyGame/proj.android/bin/
$adb install MyGame-debug.apk

Google Play Developer Consoleのベータ、アルファの機能を触ってみた

先日からGoogle Playのdeveloper consoleにて、ベータ版、アルファ版のメニューが追加されており、気になったので触ってみましたw

この機能で、指定のグループGoogle+のコミュニティのメンバーのみに、alpha版やbeta版のアプリをインストールしていただくことができる!w

手順は簡単!

まず、アプリを選択し、apkのアップロード画面で、ベータ版、もしくはアルファ版を選択!
(キャプチャではアルファ版を試しました。)

alpha版
まずアルファ版にしたいapkファイルをアップロード。その後、タグの少ししたにある「テスターのリストを管理」をクリック。

すると下記画面が表示されます。
テスターのグーグルグループ、またはGoogle+のコミュニティURLを求められるので、それを追加。

テスターの管理

すると、

テストに許可していただく用urlが表示されるのでこれをテスト対象のアカウントでアクセスすると。。。!

googleplayテスター

 

テスターになるという画面がでるので、「テスターになる」をクリックすると、
アルファ版のダウンロードが可能になります!!

知合いなどにテスターとしてチェックしていただく場合に、だいぶ便利なるかと思います!

少し間あけるとどんどんgoogle playが進化している今後も動向に注意w

 

追記:

ダウンロード時にアルファ版かどうか確認する方法について、
僕は、アルファ版用バージョンにしてアルファ版か製品版か判別してます。

 

確認方法
確認方法

※テスターになるWEB画面とGoogle PlayアプリのGoogleアカウントが同じゃないと、
テスター用のアプリはダウンロードできないみたいです。