去年の11月から、DXライブラリをつかって、Androidストアアプリがつくれなくなり、
原因を調査していたのですが、原因がみえてきたので報告します。
1。去年の11月から16KBページサイズでないアプリがアップロードできなくなったため、
DXライブラリを最新の環境でビルドしなおしてもらいました。これはOK。感謝!
2。ただ、これでも落ちる現象はなおらず、調べていくと、DXライブラリAndroidサンプルのなかに、
Hello World! という文字を、R.layout.activity_main のように
R リソースをつかって表示するコードがはいっていて、これが原因で落ちるみたいです。
というのは、最近のKotlinアプリは、R リソースを使わないみたいで、APKの中の
Rリソースがストアから自動的には配信されなくなり、リソース未定義になっておちるみたいです。
3。対策
DXライブラリのサンプルは、Rリソースを使って、Hello World! を表示したあと
DXライブラリで描画してます。最初の HelloWorld は必要ないので
サンプルプロジェクトの「MainActivity.java」
RunSampleFolder_AndroidStudio/app/src/main/java/com/example/dxlibsample/MainActivity.java
の中の R リソースを参照する3箇所をコメントアウトすると、落ちなくなりました
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//setContentView(R.layout.activity_main); <---(1)
// Example of a call to a native method
//TextView tv = findViewById(R.id.sample_text); <---(2)
//tv.setText(stringFromJNI()); <---(3)
}
落ちるのは、実機デバッグでは発生せず、ストアからインストールするときに発生します
サンプルプロジェクトを改造してストアアプリをつくる人は、上の削除を行うとよいです。