アプリが勝手に中国語化されてリリースされていると聞いて調べてみたら、想像以上にやばかった

https---www.pakutaso.com-assets_c-2015-05-UNI_MONV15002722-thumb-1000xauto-14713

こんにちは。

中国の人の著作権に対する意識は最近だいぶ改善してきたのかなあと思っていましたが、アプリ業界ではまだまだ課題があるようです。

きっかけはポケットガールの作者、Zabosama@ハルシオン様のこのツイートです。

 

 

「そんなあからさまにパクられることあるのかー」などと思い、さっそく中国のほうのサイトを見てみました。すると想像以上に画面はオリジナルにそっくりで、もうパクリというか「中国語版ポケットガール」といったほうが近いような印象でした。

 

Screen Shot 2015-08-12 at 3.51.24 PM Screen Shot 2015-08-12 at 3.44.51 PM
本物 パクリ(?)

 

 

いくら著作権意識の薄い中国とはいえ、ここまであからさまなパクリはやらないのでは?と思って、何が起こっているのか調べてみました。

 

調査開始

 

まずはこの中国のサイトをよく見てみると、

Screen Shot 2015-08-12 at 3.58.34 PM

「美少女育成-永恒的錬金術師 中国語化版」「【中国語化】当乐 and 扑家 共同 1st release」などと書かれています。

なるほど、彼らはこれはパクリではなく「中国語版」として公開しているようです。

で、翻訳したのは何者かも堂々と書いてあります。「当乐」とはこのサイトですが「扑家」とは何者でしょうか・・・。

 

「中国語版」制作元のサイトを発見

 

扑家」ぐぐってみると、いろいろなサイトがヒットします。で、以下のサイトが彼らの本拠地のようでした。

 

扑家吧
http://www.pujia8.com

Screen Shot 2015-08-12 at 4.15.19 PM

いきなり「乖離性ミリオンアーサー」の中国語版のようなトップ画像なので、これが無許可だとは考えられないですが・・・。

で、しばらくトップページを見ていたら、

Screen Shot 2015-08-12 at 12.17.21 AM

ポケガ、キターー(無許可)

ここまで堂々とやっているので、自分はこう考えました。

「彼らはボランティアでローカライズを行っている、熱烈な日本のゲームファンなのだ。だからこんなに堂々とできるのだ。」

そう。

メッセージ、画像を、なんらかの方法で差し替えてローカライズして公開するだけなら、広告収入モデルのアプリの場合、元の開発者に広告収入はそのまま入るので、むしろありがたいはず。

広告を確認してみた

 

百聞は一見にしかずですので、実際にこのサイトからアプリをダウンロードし、自分も Android 端末にインストールしてみました。幸い自分は Android SDK を持っているので  “adb install XXX.apk” とやるだけでインストールできます。いわゆる root 取得 などは不要でした。

これで、ゲーム内容だけが中国語化されていて、広告がオリジナルのままでるのなら、彼らは熱烈な日本のゲームファンだと確認できます。

で、起動してみたところ、

 

device-2015-08-12-142721

 

 

device-2015-08-12-142721

 

うーん、最終的にはハルシオンさんに聞いてみないと確信がもてませんが、この ADVIEW というのは中国系のアドネットワークのようなので、おそらくローカライズだけでなく、広告の差し替えを行っていると思われます。これはまずい。

AdView
http://www.adview.cn

これをやられてしまうと本来オリジナルの作者に入るはずだった収入が丸々持っていかれます。やばい。中国市場をまじめに検討しているアプリ開発者は、容易に apk ファイルをデコードできなくするなどの対策を練った方がよいかもしれません。

 

なぜこのように大胆にできるのか?

 

まず以前ブログにも書きましたが、中国には Google Play がありません。ですので、Android ユーザーは、キャリアが提供するアプリストアからアプリをダウンロードするか、もしくは(おそらく)root権限をなんらかの方法で取得し、様々な非公式のサイトからアプリをダウンロードする習慣がついているのが1つの理由のようです。

もう一つは、以前より改善したとはいえ、やはりまだまだ中国の方々は知的所有権を尊重する意識に欠けていることが大きそうです。

特に海外の作品に対しては「良い作品を見つけたらそれを中国国内で広めるのは、見つけた者の権利だ」と思っているように感じます。

以下のページの注意書きに、

Screen Shot 2015-08-12 at 4.59.41 PM

「この中国語化は私たちのグループが行った物であり、許可のない盗用は厳禁です」

と書いてあります。

うーん、その前にまず中国語化の許可をとらないと・・・。

まとめ

 

今回わかったことをまとめると。

 

  • 中国では、海外の開発元に許可なく中国語化してそれを公開することが日常的に行われている。
  • 広告の差し替えを行っているので、悪意がある。
  • 中国市場を真剣に考えているアプリ開発者は対策したほうがよさそう。

 

といったところでしょうか。

幸い、ポケットガールのケースの場合、広告収入の一部はハルシオン様のところに入ってきているようで、そんなに悲惨なケースではなさそうです。

 

 

中国政府とGoogle が仲直りして、Google がびしっと取り締まってくれると良いのですが・・・。

 


いまさらながら Eclipse + ADT の Android 開発環境を作る

eclipse-800x188

ちまたでは Android Studio 1.3 が発表され、今後 Android アプリ開発は Google の強力なプッシュにより Android Studio で行うのが主流になっていくと思われます。

そうは言っても、過去の遺産にしばられるのがソフトウェアの常なので、ビルドができるうちは Eclipse + ADT (Android Developer Tools) 勢力も残っていくと思います。

Cocos2d-JS で作成したプロジェクトも、2015年6月の最新版 v3.6.1 でも Eclipse + ADT 用の設定ファイルしか出力しないので、Cococs2d-JS を使うなら、今のところは Eclipse + ADT で行くのが早いです。

使用した環境

OS: Mac OS X 10.10.3
Eclipse: Eclipse Luna Service Release 2 – Version 4.4.2
ADT: 23.0.6

インストール手順

下調べ

バージョン不整合で痛い目を見ないために、まず ADT の公式ページで要件を調べます。

http://developer.android.com/tools/sdk/eclipse-adt.html

Screen Shot 2015-06-07 at 1.30.16 PM

2015年3月に ADT 23.0.6 がリリースされており、依存関係は以下のとおり:

  • Java 7 以降 (Android 5.0 以上のビルドを行う場合)
  • Android SDK Tools r24.1.2
  • Eclipse Indigo (Version 3.7.2) 以降

順番に確認し、必要に応じてインストールします。

Java および Android SDK Tools のインストール

こちらの記事「Cocos2d-JS のサンプルを動かしてみる (Android編)」を参考に、コマンドラインベースの Android 開発環境を構築しておいてください。

Eclipse のインストール

以下のページから最新版の Eclipse (2015年6月8日現在 Eclipse Luna – Version 4.4.2) をダウンロードします。いろいろ種類がありますが、Android アプリ開発に必要なものは一番上の Eclipse IDE for Java Developers に含まれています。

https://eclipse.org/downloads/

Screen Shot 2015-06-08 at 4.44.12 PMインストーラーは特に無いので、ダウンロードしたファイル (eclipse-java-luna-SR2-macosx-cocoa-x86_64.tar.gz) をダブルクリックで解凍し、作成される eclipse というディレクトリを丸ごと /Applications に移動させるのがオススメです。

最初の起動時は「インターネットからダウンロードしたファイルは実行できません」と怒られますが、ファインダー上で右クリックメニューから開けば実行できます。

Android Development Tools (ADT) のインストール

http://developer.android.com/sdk/installing/installing-adt.html

ADT は Eclipse のプラグインとして提供されているため、Eclipse 上で追加することができます。

Eclipse を起動し、 メニューの [Help]→[Install New Software…] を選びます。

Screen Shot 2015-06-08 at 6.48.45 PM

プラグイン管理のウインドウが開くので [Add] を押し、レポジトリを指定します。Screen Shot 2015-06-08 at 6.50.47 PM

公式ページに書かれている “https://dl-ssl.google.com/android/eclipse/” をLocation に指定し、[OK] を押します。

Screen Shot 2015-06-08 at 6.51.24 PM

ポップアップが閉じると “Developer Tools” が選べるようになっているので、それを選択して [Next>] を押します。

Screen Shot 2015-06-08 at 6.52.03 PM

少し時間がかかって依存性が解決され、実際にインストールされるパッケージのリストが表示されたら再度 [Next>] を押します。

ライセンス情報が表示されたら、内容をすべて理解するのはかなりハードル高いのでどうするかはお任せします。自分は理解せずに “I accept …”  を選びました。

Screen Shot 2015-06-08 at 7.03.13 PM

そして [Finish] を押すとインストールが始まります。

もしかしたら Security Warning が表示されるかもしれませんが、その時どうするかはお任せします。自分はレポジトリの URL が google.com だったので、Google を信じて [OK] で進めてしまいました。

Screen Shot 2015-06-08 at 7.07.57 PM

インストールが終わると Eclipse の再起動が求められるので、再起動します。

再起動後、Android SDK の場所を求められるので入力します。「Cocos2d-JS のサンプルを動かしてみる (Android編)」の通り作業してあれば、/opt/android-sdk-macosx がそれになります。

Screen Shot 2015-06-08 at 7.10.20 PM

自分の場合ここで何か xml ファイルが読めないようなエラーメッセージが出ましたが、そのまま進めてしまいました。

これでインストールは完了です。

動作テスト

確認として、空の Android アプリを作成して動作させてみます。

Eclipse メニューの [File]→[New]→[Project…] を選びます。

Screen Shot 2015-06-08 at 7.21.32 PM

新規プロジェクトウイザードが開始するので [Android]→[Android Application Project] を選んで [Next>] を押します。

Screen Shot 2015-06-08 at 7.22.16 PM

アプリ名などを適当に入力します。ここでは「Test」と言う名前のアプリ名/プロジェクト名にしました。SDK のバージョンをなどを聞かれますが、デフォルトのままにして [Next>] を押します。

Screen Shot 2015-06-08 at 7.22.32 PM

Activity をどうするか聞かれるので “Blank Activity” を選んで [Next>] を押します。Activity と言うのは iOS で言うところ View Controller のようなものです。Screen Shot 2015-06-08 at 7.23.06 PM

あとはすべてデフォルトのまま進み、最後に [Finish] を押します。

これで空の Android プロジェクトができたので、実行してみます。左側の Package Explorer で先ほどのアプリ (ここでは “Test”) を選んだ状態で、ツールバーのデバッグアイコンのプルダウンから [Debug As]→[Android Application] を選びます。

Screen Shot 2015-06-08 at 7.25.56 PM

うまくいけば、シミュレーター (AVD) が起動し、空のアプリが起動します!!

Screen Shot 2015-06-08 at 7.31.03 PM

これで Cocos2d-JS の Android プロジェクトを IDE で開発する準備が整いました!

 


Cocos2d-JS のサンプルを動かしてみる (Android編)

img-cocos2djs

先日 Cocos2d-JS のサンプルを iOS アプリとして実行するやり方を紹介しましたが、今回は Android アプリ編です。

Android は iOS と比較して開発環境を整えるのが大変で、記事の内容もほとんど Android アプリの開発環境設定の話になってしまいました。。(2015年6月8日 時点での情報です)

使用した環境

OS: Mac OS X 10.10.3
Cocos2d-JS: v3.6.1

JDK: 1.8.0_31
Android SDK Tools: r24.2
Android: 5.1.1 – API Level 22
Android NDK: r10e
ant: Apache Ant(TM) version 1.9.4

設定手順

Java Development Kit (JDK) の確認

使用中の Mac OS X に Java Development Kit (JDK) がインストールされているかどうか確認します。

ターミナルから javac -version と入力すれば JDK のバージョンが大体わかります。

この例の場合、Java 8 の JDKがインストールされていることが伺えます。もし javac が使えなかった場合は以下のサイトなどを参考に、最新の JDK をインストールしてください。

MacにJava(JDK)をインストール
http://qiita.com/ryo0301/items/3c9a02e03b4e9a41f576

Android SDK のインストール

Android SDK はいろいろなバージョンの Android 用に用意されているのでバージョン管理が大変そうですが、Android SDK Manager というありがたいものが用意されています。

現在標準的な Android 開発 IDE である Android Studio にはこれが含まれているのですが、Cocos2d-JS のプロジェクトは Android Studio ではなく Eclipse 用の設定ファイルしか含んでいないため、今回は Android Studio を避けます。

以下のページから Mac OS X 用 SDK Tools のパッケージをダウンロード・解凍し、任意の場所に置きます。自分は /opt/android-sdk-macosx に置きました。

https://developer.android.com/sdk/index.html#Other

Screen Shot 2015-06-07 at 2.08.50 PM

この中の android というコマンドから、Android SDK Manager を含めていろいろなツールが呼び出せます。android sdk とを実行すると Android SDK Manager を起動できます。

Screen Shot 2015-06-07 at 2.48.19 PM

Android SDK Manager の GUI が開いたら、デフォルトでいくつかの SDK が選ばれています。Android M というのは Lollipop の次の Android のことですが、今回は使わないので外すのがおすすめです。

Android Native Development Kit (NDK) のインストール

Cocos2d-JS は Cocos2d-x 上で動作しており、Cocos2d-x は主に C++ で記述されています。ですので Android 上で C++ を動作させるために Android Native Development Kit (NDK) のインストールが必要になります。

https://developer.android.com/ndk/downloads/index.html

Mac OS X 用のパッケージをダウンロードし、任意の場所に解凍します。自分は /opt/android-ndk-r10e にしました。

antの確認

ant は汎用のビルドコマンドです。(昔でいう make ですかね。。) 最近のMac OS X には含まれていないようなので、もし ant -version と入力してエラーになるようであれば以下のサイトなどを参考に ant をインストールします。

Mac OS X 10.9 ( Mavericks ) に Homebrew で Apache Antをインストールする

http://yoshiweb.net/blog/?itemid=374

Cocos2d-JS に Android SDK, NDK, ant の情報を設定する

最後に「Cocos2d-JS の開発環境を構築する」で使用した setup.py を実行します。前回 Android NDK と SDK の場所は指定しませんでしたが、今回は指定します。青い部分はユーザーからの入力です。

うまくいけば .bash_profile に必要な設定が追加されているはずです。

Screen Shot 2015-06-07 at 5.04.28 PM

一度ログインし直して設定を反映させます。これで実行する設定は完了です。

Android Virtual Device (ADV=シミュレーター) の設定

ここではシミュレーターで実行する手順を書きますが、Android アプリをシミュレーターで動かすのは大変なうえ重いので、本格的に開発する場合は Android の実機を用意することを強くお勧めします。

まず Android SDK Tools に含まれている android avd コマンでで Android Virtual Device Manager を起動します。

 

[Device Definitions] を押して定義済みのテンプレートを使います。GoToDevDef

[Nexus 4 by Google] を選んで、

 

Screen Shot 2015-06-08 at 12.36.30 PM

 

このような設定にしました。

Screen Shot 2015-06-08 at 12.45.45 PM

CPU を ARM (armeabi-v7a) にしないと動作しなかったので注意してください。どうも NDK が ARM 用のネイティブコードしか生成していないような気がします。(これ CPU が Intel の実機だとどうなるんだろう・・・)

[Android Virtual Devices] のページの戻って、[Start…] ボタンでこの設定の AVD を起動しておきます。自分の環境では起動するまで数分かかったので辛抱強く待ちます。

StartAVD

 

起動すると以下のようなウインドウが表示されます。

Screen Shot 2015-06-07 at 5.52.23 PM

実行

上述の Android シミュレータ (AVD) が起動している状態で Cocos2d-JS プロジェクトのあるディレクトリに行って cocos run -p android と入力します。最初のビルドは数分かかるので辛抱強く待ちます。

 

うまくいけば先ほど起動しておいた Android シミュレーター上でサンプルアプリが実行されます!!

Screen Shot 2015-06-08 at 12.25.45 PM

 

ここまであえて Eclipse を使わないで来ましたが、次回は Eclipse を使って開発する方法を紹介しようと思います。