カテゴリー別アーカイブ: Android

Android StudioでのLVL(License Verification Library)の導入

Android StudioでのLVLの情報が少なかったのでまとめておきます。

ライブラリのダウンロード

まず、Android StudioからAndroid SDKを立ち上げ、「SDK Tools」の「Google Pay Licensing Library」を導入します。

2016-08-02 10_12_26-

ライブラリプロジェクトの登録

Android Studio の「File→New→Import Module…」からダウンローしたLibrayの中のLibraryフォルダーを指定します。渡しの場合、次の通りでした。SDKのダウンロードフォルダー内です。C:\Users\ユーザー名\AppData\Local\Android\sdk\extras\google\market_licensing

ライセンスをチェックするロジックをActivityに記述する

下記ページを参考にライセンスのチェックを入れます。Alt+Enterでライブラリプロジェクトの登録、インポート等なんとかなると思います。

http://android-note.open-memo.net/sub/other__add_license_to_apk.html

マニフェストに権限を追加する

<uses-sdk android:minSdkVersion="3" />
<uses-permission android:name="com.android.vending.CHECK_LICENSE" />

リリースビルド

リリースビルドをかけるのですが、LVLの中のファイルが非推奨のメソッドを利用していると怒られます。オイオイ(# ゚Д゚)

[-Xlint: deprecation オプションを指定して再コンパイルしてください]

build.gradleに下記を追加して、リビルドでOK(その前にCleanしないとうまく行かんので注意)。

多謝:http://androyer.blogspot.jp/2015/03/xlint-deprecation.html

allprojects {
    gradle.projectsEvaluated {
        tasks.withType(JavaCompile) {
            options.compilerArgs << "-Xlint:unchecked" << "-Xlint:deprecation"
        }
    }
}

クラッシュ対応

そして公開されているサンプルがAndroid 5.0だとクラッシュするので、直せよ(# ゚Д゚)、下記サイトを参考にライブラリのソースを直接修正。

http://pancreatic.cocolog-nifty.com/oncle/2015/03/android-50-e878.html

 

appcelerator:日本語アプリ名

appceleratorで日本語アプリ名を付けるといろいろうまくいかない

日本語名アプリ名.apkになるけど、Androidはとりあえずpublishできる。

iPhoneはエミュレーター起動して転送するところでコケる。

binに出力されるiPhoneフォルダーのXcodeのプロジェクトファイルをXcodeで開けば、シミュレーターでは起動できるけど、プロビジョニングファイル指定しても、実機では.shを使うところでコケる。

英語にしてプロジェクトは作成して、AndroidManifest.xmlなりでアプリ名は変更したほうが安全。

appcelerator:An error occurred running the iOS Simulator (ios-sim exit code 1)

appceleratorでiPhoneのエミュレーターを起動したあと、エラーでアプリが転送、実行されなくなってしましました。

[ERROR] :  Project failed to build after 1m 37s 967ms

[ERROR] :  An error occurred running the iOS Simulator (ios-sim exit code 1)

TRACE  | titanium exited with exit code 1

ERROR  | Error: ti run exited with error code 1

iOS9にしたのがよろしくなかったのか。トラブルしか起きませんappcelerator。コード書くのが1だとしたら30くらいはトラブルシューティングな気分です。ちょっと調べてもわからなかったのですが、起動時にXcodeのプロジェクトをWorkspaceに作っているので、もしやと思って、Xcodeのプロジェクトを開いたらXcodeから無事実行出来るようになりました。

もうはじめからXcode開くようにするのでいいのではと思う今日このごろ。にしてもトラブルしか起きません。

appcelerator studio (Titanium)で更新ができない時に対処

Appcelerator Studioで「Check for Appcelerator Update」でアップデートするときに、システムのパスワードを聞かれるのですが、正しいパスワードを入力しても先に進めず。

結局対応としては、管理者としてログインしているユーザーがiCloudのパスワードを利用するになっていて、PCのパスワードがセットされていなかったのが原因見たい。

そこで、システム環境設定、ユーザーとグループからiCloudのパスワードでなく、別のパスワードをセットしたらうまく更新できた。

Appcelerator(旧Titanium)はiPhoneとAndroidの開発がJavaScriptで作れてMVCモデルだし簡単に楽しくできるのだけれど、環境周りのトラブル多すぎ。というかトラブルしかない感じ。

解決策も英語のページしかないし、とほほな感じです。

Google Playでの検索結果

GooglePlayをPCから検索すると、例えば電卓で検索すると次のように表示されるのだが

GooglePlay検索結果

GooglePlay検索結果

件数として、48件しか表示されない。ページネーションも無く、これはそういう風にGoogleの方でしているのだと思う。つまり人気の無いアプリを埋もれるようにGoogleのほうがベクトルをかけていることになるわけです。個人の開発者はこれからアプリをリリースしても大きくダウンロード数が伸びないことを覚悟しなければならない。

GooglePlayとは別の個人開発者向けの配布サイト等望まれるが、配布サイト2重管理になり大変かもしれない。

facebook sdk 3.0 android 友達リスト取得

Request request = Request
        .newGraphPathRequest(Session.getActiveSession(), "me/friends", new Request.Callback() {
 
            @Override
            public void onCompleted(Response response) {
                GraphObject go = response.getGraphObject();
                Log.d("TAG", "★" + go.toString());
            }
        });
request.executeAsync();

https://developers.facebook.com/tools/access_token/
のページからアクセストークン取得して、ブラウザで確認すると必要なパーミッションすぐわかるので便利。

基本的にこの方法でデータ取得できる。JSONが空の場合はパーミッションが付加されてない。

no xml content. please add a root view or layout to your document. android

Ancroidのグラフィカルレイアウトを開いて、no xml content. please add a root view or layout to your document. androidと表示された場合は、カスタマイズしたデバイスを利用していることが原因の一つです。

この一覧にカスタマイズしたデバイスを登録している場合は、削除すると治ります。