Tal*_*mar 6 android signalr google-play
我知道这里发布了类似的问题.我将应用程序上传到Google Play商店,但它与所有设备不兼容.该应用实际上是一个基于SignalR的聊天应用程序.看看这个图像

我正在附加AndroidManifest.xml文件.任何帮助将不胜感激.
<uses-feature
android:glEsVersion="0x00020000"
android:required="true"/>
<supports-screens
android:smallScreens="true"
android:normalScreens="true"
android:largeScreens="true"
android:xlargeScreens="true"
android:anyDensity="true" />
<uses-sdk
android:minSdkVersion="11"
android:targetSdkVersion="19"
android:maxSdkVersion="21" />
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
Run Code Online (Sandbox Code Playgroud)
我正在使用信号器库.我正在使用这个库在android中的聊天应用程序.我首先开发了基于eclipse的项目并使用jar文件.应用程序运行正常.
但是,当我尝试将应用程序上传到Google Play时,它会向我显示一条消息,指出您的应用不支持任何设备.我甚至尝试上传没有库的应用程序,然后它上传支持超过6K的Android设备.
因为这个库是为gradle for android更新的.所以我只是将它转换为android studio的gradle项目.工作完美但仍然不支持任何设备.
这些是我在eclipse和android studio中使用的jar文件

小智 10
上周我遇到了同样的情况.
我发现主要的问题是"signalr-client-sdk.jar"包装不正确的android.
"signalr-client-sdk.jar"里面的文件夹
signalr-client-sdk.jar
|
|-lib
| |
| |-getLibs.ps1
| |-getLibs.sh
| |-gson-2.2.2.jar
Run Code Online (Sandbox Code Playgroud)
这三个文件将被打包到apk"lib"文件夹中.当您的应用程序使用armeabi,x86,x86_64本机supprot库(*.so)时它会正常工作,但没有错误.并使谷歌开发者控制台web过滤限定符支持设备错误.
把这段代码解决问题
packagingOptions {
exclude 'lib/getLibs.ps1'
exclude 'lib/getLibs.sh'
exclude 'lib/gson-2.2.2.jar'
}
Run Code Online (Sandbox Code Playgroud)
希望这可以帮助
最后我解决了这个问题.这里已经发布了两个解决方案.
解决方案1:使用aar文件
步骤1
首先我将我的eclipse项目转换为Gradle.
第2步
从此链接下载最新的SignalR.生成aar文件.将这些文件添加为依赖项.
第3步
更新了我的清单文件.我错过了一些位置支持权限.现在这是新的AndroidManifest.xml
<uses-feature
android:glEsVersion="0x00020000"
android:required="false"/>
<uses-feature
android:name="android.permission.INTERNET"
android:required="false" />
<uses-sdk
android:minSdkVersion="11"
android:targetSdkVersion="19"
android:maxSdkVersion="21" />
<supports-screens
android:anyDensity="true"
android:largeScreens="true"
android:normalScreens="true"
android:smallScreens="true"
android:resizeable="true" />
<compatible-screens>
<!-- small size screens -->
<screen android:screenSize="small" android:screenDensity="ldpi" />
<screen android:screenSize="small" android:screenDensity="mdpi" />
<screen android:screenSize="small" android:screenDensity="hdpi" />
<screen android:screenSize="small" android:screenDensity="xhdpi" />
<!--Only hdpi and xhdpi for normal size screens -->
<screen android:screenSize="normal" android:screenDensity="ldpi" />
<screen android:screenSize="normal" android:screenDensity="mdpi" />
<screen android:screenSize="normal" android:screenDensity="hdpi" />
<screen android:screenSize="normal" android:screenDensity="xhdpi" />
<!-- all large size screens -->
<screen android:screenSize="large" android:screenDensity="ldpi" />
<screen android:screenSize="large" android:screenDensity="mdpi" />
<screen android:screenSize="large" android:screenDensity="hdpi" />
<screen android:screenSize="large" android:screenDensity="xhdpi" />
<!-- all xlarge size screens -->
<screen android:screenSize="xlarge" android:screenDensity="ldpi" />
<screen android:screenSize="xlarge" android:screenDensity="mdpi" />
<screen android:screenSize="xlarge" android:screenDensity="hdpi" />
<screen android:screenSize="xlarge" android:screenDensity="xhdpi" />
<!-- Special case for Nexus 7 -->
<screen android:screenSize="large" android:screenDensity="213" />
</compatible-screens>
<permission android:name="com.test.permission.MAPS_RECEIVE" android:protectionLevel="signature"/>
<uses-permission android:name="com.test.permission.MAPS_RECEIVE"/>
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES"/>
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
Run Code Online (Sandbox Code Playgroud)
当然它也有应用标签和活动.
解决方案2:使用jar文件
步骤1
在主包中创建一个名为"libs"的目录并粘贴所有jar文件.您可以从此链接下载jar文件

第2步
在主包/ app的build.gradle中添加依赖项

第3步
现在这是我的项目的主build.gradle的样子.

第4步
这就是我的settings.gradle的样子

第5步
完成所有这些步骤后,您仍然会导致导入错误.这会使缓存失效并重新启动

Google Play上的最终输出
现在它支持超过7K的设备

干杯:)
| 归档时间: |
|
| 查看次数: |
2044 次 |
| 最近记录: |