Android向けLiferay画面のトラブルシューティングとFAQ
ご覧のページは、お客様の利便性のために一部機械翻訳されています。また、ドキュメントは頻繁に更新が加えられており、翻訳は未完成の部分が含まれることをご了承ください。最新情報は都度公開されておりますため、必ず英語版をご参照ください。翻訳に問題がある場合は、こちらまでご連絡ください。
LiferayはAndroid用のScreensを細心の注意を払って開発しましたが、いくつかの一般的な問題に直面する可能性があります。 これらの問題を解決するためのソリューションとヒントを次に示します。 また、Android用スクリーンに関する一般的な質問への回答もあります。
一般的なトラブルシューティング
特定の問題を掘り下げる前に、まず最新のツールがインストールされていることを確認し、必要な場合に追加のヘルプが必要な場所を知る必要があります。 Android Studioの最新バージョンでは、最新のAndroid APIレベルを使用する必要があります。 画面が 缶 のEclipse ADTまたは手動のGradleと仕事のビルド、Androidのメーカーは、好適なIDEです。
Liferay Screensの使用に問題がある場合は、Liferayが開発したサンプルアプリの調査に役立つ場合があります。 どちらもスクリーンレットとビューの使用方法の良い例として役立ちます。
いつでも行き詰まったら、フォーラム 質問を投稿できます。 喜んでお手伝いします! バグを見つけた場合や改善を提案したい場合は、 Jiraチケットを提出してください。 注あなたがしなければならないことを でログ 最初のプロジェクトを見ることができるようにします。
一般的な問題
このセクションには、Liferay画面の使用時に発生する可能性のある一般的な問題に関する情報が含まれています。
-
com.liferay.mobile:liferay-screensが見つかりませんでした
このエラーは、GradleがLiferay画面またはリポジトリを見つけることができない場合に発生します。 最初に、使用しようとしているScreensのバージョン番号がjCenterに存在することを確認します。 この リンク を使用して、アップロードされたすべてのバージョンを表示できます。
デフォルトのリポジトリとしてjCenterを使用しない古いGradleプラグインを使用している可能性もあります。 Screensはバージョン1.2.3以降を使用します。 プロジェクトの
build.gradle
ファイルに次のコードを配置することにより、jCenterを新しいリポジトリとして追加できます。repositories { jcenter() }
-
解決に失敗しました:
com.android.support:appcompat-v7
Liferay Screensは、最新のAndroid Studioで作成されたすべての新しいAndroidプロジェクトと同様に、Googleのappcompatライブラリを使用します。 appcompatライブラリはGoogleが管理するカスタムリポジトリを使用するため、Android SDK Managerを使用して手動で更新する必要があります。
Android SDKマネージャー(Android Studioの ツール → Android → SDKマネージャー にあります)では、少なくともバージョン14のAndroidサポートリポジトリー( Extras メニュー)とバージョン22.1をインストールする必要があります。 Androidサポートライブラリの1。
-
APK META-INF
コピーされた重複ファイル…これは、ライブラリを使用する場合の一般的なAndroidエラーです。 これは、Gradleがライセンスファイルや通知ファイルなどの重複ファイルをマージできないために発生します。 このエラーを防ぐには、次のコードを
build.gradle
ファイルに追加します。android { ... packagingOptions { exclude 'META-INF/LICENSE' exclude 'META-INF/NOTICE' } ... }
このエラーはすぐには発生しませんが、開発プロセスの後半でのみ表示される場合があります。 このため、プロジェクトを作成した後、
build.gradle
ファイルに上記のコードを配置することをお勧めします。 -
接続失敗:ECONNREFUSED(接続拒否)、または
org.apache.http.conn.HttpHostConnectException
このエラーは、Liferay Screensおよび基盤となるLiferay Mobile SDKがLiferay Portalインスタンスに接続できない場合に発生します。 このエラーが発生した場合は、まずサーバーのIPアドレスをチェックして、使用可能であることを確認する必要があります。
server_context.xml
のデフォルトIPアドレスを
上書きした場合、正しいIPに設定したことを確認する必要があります。 また、Genymotionエミュレーターを使用している場合、ローカルLiferayインスタンスと通信するには、アプリがlocalhostの代わりに 192.168.56.1
使用する必要があります。
5 java.io.IOException
:開くことに失敗しました:EACCES(許可が拒否されました)
一部のスクリーンレットでは、ユーザーポートレートスクリーンレットが新しいポートレートをアップロードしたときや、DDLフォームスクリーンレットがポータルに新しいファイルをアップロードしたときなど、一時ファイルを使用して情報を保存します。 アプリには、特定のScreenletの機能を使用するために必要な権限が必要です。 この場合、次の行を AndroidManifest.xml
に追加します:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
デバイスのカメラを使用している場合は、次の権限も追加する必要があります。
<uses-permission android:name="android.permission.CAMERA"/>
6 パスを持つJSON Webサービスアクションはありません…
このエラーは、 Liferay Screens Compatibility Pluginインストールしていない場合に最もよく発生します。 このプラグインは、Liferayポータルに新しいAPI呼び出しを追加します。
よくある質問
- Android Studioを使用する必要がありますか?
いいえ、Liferay ScreensはEclipse ADTでも動作します。 Gradleまたは別のビルドシステムを使用して、プロジェクトを手動でコンパイルすることもできます。 プロジェクトの lib
フォルダーでコンパイル済みの aar
を使用していることを確認してください。
我々 強く あなたは、Android Studioを使用すること、しかし、お勧めします。 Android StudioはAndroidアプリを開発するための公式IDEであり、Eclipse ADTはサポートされなくなりました。 Eclipse ADTを使用するか、手動でコンパイルすると、克服が困難な予期しない問題が発生する場合があります。
- 画面は方向の変更をどのように処理しますか?
Liferay Screensは、イベントバス( は EventBus
ライブラリ)を使用して、インタラクターが作業を終了したときにアクティビティを通知します。
- スクリーンでは使用できないLiferay機能を使用するにはどうすればよいですか?
Screensで現在利用できないLiferay機能を使用する方法はいくつかあります。 Liferay Mobile SDK を使用すると、LiferayのすべてのリモートAPIにアクセスできます。 また、カスタムScreenletを作成して、デフォルトでScreensに含まれていない機能をサポートすることもできます。
- 新しいスクリーンレットを作成するにはどうすればよいですか?
Screenletの作成について詳細に説明する ここ。
- スクリーンレットをカスタマイズするにはどうすればよいですか?
新しいビューを作成して、スクリーンレットをカスタマイズできます。 幸いなことに、これには チュートリアル があります!
- Screensにはオフラインサポートがありますか?
はい、Liferay Screens 1.3以降です!