問題タブ [sbt-android-plugin]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
windows - Jan Berkel の android-plugin に変更を加えて適用する方法は?
タイトルの通り、 Jan Berkel の SBT Android Pluginに変更を適用する方法を考えています。
そこに書かれていることは知っている...
...そして私はそれをしてこれを手に入れました/target/scala-2.9.1/sbt-0.11.3/
私の質問は、これらの変更を現在の SBT に適用する方法です。
ところで、私はWindows 7を使用しています(わかっています、わかっています... :D)
android - Scalaを使用して2つ以上の.dexファイルを1つの.dexファイルにマージする方法はありますか?
JanBerkelのSBTAndroidプラグインをハッキングしていて、複数の.dex
ファイルを.dex
すべてを含む1つのファイルにマージする方法があるかどうか迷っていました。
たとえば、私がこれを持っている場合:
classes.dex
Scalaを使用して(許容できる時間内に)それらを3つすべてを含み、次の構造を持つ 1つのファイルにマージする方法はありますか?
android - SBT Android-Pluginの「proguardInJars」のセマンティクスは何ですか?
SBT Android Plugin では、proguardTask に値がありますproguardInJars
。
私の簡単なテスト プロジェクトでは、C:\Users\Administrator\.sbt\boot\scala-2.9.1\lib\scala-library.jar
.
次に、自分でコンパイルしたクラスと組み合わせて別の値にしますinJars
。
ただし、それに何かを追加することで結合されます。これを行う jberkel/android-plugin のコードは次のとおりです。
その追加されたもののセマンティクスを誰かが知っているのではないかと思っています。
また、個別の値に分割した場合、問題なく実行するために、inJars
そのマニフェストを追加する必要がありますか?proguardInJars
proguardTask
java - 「-keep」を使用せずにProGuardに(フィールドとメソッドを含む)全体(全体)のクラスを保持させる方法
Scala Android プロジェクトがあり、apk でこれらのメソッドを使用している場合...
...、ProGuardを使用した後、scala.collection.immutable.List
2つのメソッドのみでクラスを保持し::
、:::
.
ProGuard には、現在使用されていなくても、すべてのメソッドとフィールドをクラス内に保持するオプションがありますが、ProGuard にこれを送信する必要はありません。-keep class scala.collection.immutable.List {*;}
android - SBT / Androidプラグイン/プロジェクトでScalaのバージョンを変更するにはどうすればよいですか?
変更しようとしているjberkel/android-pluginでSBTv0.13を使用しています。
そのためには、テストプロジェクトで Scala2.10.0-20120710-144914-026a70d555を使用する必要があります。
これまで、Scala 2.9.1を使用してきましたが、2.10.0-20120710-144914-026a70d555に切り替える必要がありますが、このような機能はあまり得意ではありません。
私はこの質問に遭遇しましたが、それは私にはうまくいきません。
テストアプリケーションをコンパイルしてデバイスにプッシュしようとすると、次の出力が表示されます。
java - ProGuard の「保持」引数の一般化
ProGuard は、ここで「保持」構文を定義します。
一般化された修飾子と型を使用し続けることは可能ですか?
たとえば-keep * * my.package.MySomething { *; }
、1 番目*
はこの部分のすべてを意味[!]public|final|abstract|@ ...]
し
、2 番目*
はこの部分のすべてを意味します: [!]interface|class|enum
。
もう少し詳しく言うと、私は ProGuard 引数を動的に生成しようとしていますが、それ以外のものかどうかはわかりませmy.package.MySomething
ん。abstract class
public enum
これを達成するのに役立つ方法、ProGuardのオプションはありますか?
android - Jan Berkel の Android Plugin in SBT に類似のタスクと設定を追加するにはどうすればよいですか?
SBTを使用するJan Berkel の Android Plugin for Scalaを拡張しようとしています。
android:install-device
既に定義されているとのような同様のアクションと設定がありますandroid:install-emulator
。それらを とと
呼びましょう。 android:dev-install-device
android:dev-install-emulator
に新しいキーを追加しましたAndroidKeys.scala
:
にも追加しましたAndroidLaunch.scala
:
問題は、自分のタスクを利用可能にしたい場合、元の標準的なタスクをコメントアウトしなければならないことです。これはしたくありません。
私が見落としているものはありますか?
更新:
設定の順序を変えてみました。
の前にAndroidFastInstall
来るとAndroidInstall
、またはAndroidInstall
を呼び出しても実行されます。android:install-device
android:dev-install-device
の前にAndroidInstall
来るとAndroidFastInstall
、またはAndroidFastInstall
を呼び出しても実行されます。 android:install-device
android:dev-install-device
最後に追加されたものは、常にそれらの前のものの可視性をカバーしているようです。誰もこれに対する解決策を知っていますか?
scala - SBT での sbt.package.File から java.io.File への変換
Jan Berkel の Android Plugin for SBT の拡張に取り組んでいます。
現在、どのように変換できsbt.SettingKey[sbt.package.File]
ますjava.io.File
か?java.io.File
から抽出する方法はありsbt.SettingKey[sbt.package.File]
ますか?
例えば:
私は機能を持っています:
これは引数として期待java.io.File
します。
私は必要なものにマップされているsbt.SettingKey[sbt.package.File]
(という名前の) を持っています。 myFileKey
File
isUpToDate
にマップされたファイルを使用して呼び出すにはどうすればよいmyFileKey
ですか?
scala - SBTを使用してユーザー提供のScalaバージョンをダウンロードするにはどうすればよいですか?
Jan BerkelのAndroidプラグインを拡張しながら、新しいクラスを作成しようとしています。これを使用して、scalaライブラリ全体をroot化された電話にプッシュする機能を提供したいと思います。
これまでのところ、すでにコンピューターにダウンロードしたローカルバージョンのScalaを使用するコードがありますが、Scalaのバージョンがない場合は、ダウンロードできるようにしたいと思います。
コードの関連部分は次のとおりです。
たとえば、次のように関数を呼び出すと、
makePermission("2.9.1")
Scala 2.9.1があり、フォルダーにscala-library.xmlが作成されていることがわかりscala-2.9.1
ます。
これ
makePermission("2.8.1")
を行うと、Scala 2.8.1がないことがわかります。ダウンロードして、scala-2.8.1
フォルダーにscala-library.xmlを作成します。
ただし、これ
makePermission("3.0.0")
を行うと、Scala 3.0.0がないことがわかります。ダウンロードしてみてください。ただし、Scala 3.0.0が存在しないことを確認し、残りをスキップしてください。
私はそのTODO
部分をどのように行うのか困惑しているので、どんな助けでもありがたいです。:D
java - Scalaでさらに別の「アクティビティComponentInfoをインスタンス化できません」
ProGuardステップなしでScalaで記述された単純なダミーのAndroidアプリケーションを作成してテストしようとしています(useProguard:= false)。
私はscalaライブラリを/system/framework
:にプッシュしました
/system/framework/scala-library-2.9.1.jar
およびアクセス許可ファイル/system/etc/permissions
:
/system/etc/permissions/scala-library-2.9.1.xml
パーミッションxmlの内容:
これが私のMainActivity.scala
:
これが私のAndroidManifest.xml
:
ProGuardを使用せずにデバイスにインストールできましたが、実行しようとすると、次の例外が発生します(logcatを使用してキャプチャされました)。
エラーがどこにあるのか、それを解決するために何をすべきかを誰かが知っていますか?
よろしくお願いします:D
ところで、プッシュされたscalaライブラリに問題があるのでしょうか?
Logcatは、見つからないと言っていますscala.ScalaObject
が、私がプッシュしたjarファイルに存在しています。