我从昨天开始遇到麻烦了.在我的实习中,我遇到了以下构建错误,但我无法理解为什么:
$ cordova build android
[...]
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':transformClassesWithDexForDebug'.
> com.android.build.api.transform.TransformException: com.android.ide.common.process.ProcessException: java.util.concurrent.ExecutionException: com.android.dex.DexException: Multiple dex files define Lorg/apache/cordova/BuildHelper;
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.
BUILD FAILED
Total time: 3.379 secs
Error: /home/thor/Projects/App_CDP/platforms/android/gradlew: Command failed with exit code 1 Error output:
Note: Some input files use or override a deprecated API.
Note: …Run Code Online (Sandbox Code Playgroud) 我已经搜索过了,但没有一个答案对我有帮助。
这是我的布局 xml:
<android.support.v7.widget.CardView
android:id="@+id/layout_building"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/_8dp"
app:layout_constraintEnd_toStartOf="@+id/scrollview_nested_fragment_container"
app:layout_constraintHorizontal_weight="1"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/views_container">
<ScrollView
android:layout_width="match_parent"
android:layout_height="wrap_content">
<LinearLayout
android:id="@+id/layout_building_container"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"/>
</ScrollView>
</android.support.v7.widget.CardView>
Run Code Online (Sandbox Code Playgroud)
我正在LinearLayout通过代码向我的动态添加子视图。我也尝试将ScrollView标签移动到包装,CardView但仍然没有运气。这是限制CardView还是有人知道对此的有效解决方案。
在 Android 7.0 之前,我能够检索已安装的浏览器类型应用程序列表及其包名称。然后,我升级到 Android 7.0,我只能检索三星的 Internet 浏览器,而不能检索其他浏览器类型的应用程序,例如 Chrome 。
设备三星 Tab A
这是代码:
public static List<String> getListOfBrowser(Context context) {
List<String> browserPackageName = new ArrayList<String>();
try {
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setData(Uri.parse("http://www.google.com"));
PackageManager pm = context.getPackageManager();
List<ResolveInfo> browserList = pm.queryIntentActivities(intent, 0);
for (ResolveInfo info : browserList) {
browserPackageName.add(info.activityInfo.packageName);
Log.e("BrowserList Info ",info.activityInfo.packageName+" total browser"+browserList.size());
}
} catch (Exception e) {
e.printStackTrace();
Log.e("BrowserList Info ",e.getMessage());
}
return browserPackageName;
}
Run Code Online (Sandbox Code Playgroud) 当我使用以下注释启动测试时:
package com.hello.package.p1;
@RunWith(SpringRunner.class)
@DataMongoTest
@SpringBootTest
public class ClassATest {
@Autowired
Service1 serivce1; //fqn = com.hello.package.p1.Service1
@Autowired
Service2 serivce2; //fqn = com.hello.package.p2.Service2
...}
package com.hello.package.p1;
@ActiveProfiles("test")
@SpringBootConfiguration
public class MongoTestConfig {
...
}
Run Code Online (Sandbox Code Playgroud)
service1将被注入。但是 service2不会,因为它与测试类不在同一个包中。我收到一个错误:
通过字段“ service2”表示不满意的依赖关系;嵌套的异常是org.springframework.beans.factory.NoSuchBeanDefinitionException
例如,如何告诉测试上下文我要加载/扫描某个程序包com.hello?
我正在定义我的Users SQLite数据库表,为此,我创建了以下UserContract和UserEntry类:
class UserContract private constructor(){
class UserEntry private constructor(): BaseColumns {
companion object {
val TABLE_NAME = "users"
val COLUMN_DISPLAY_NAME = "display_name"
val COLUMN_EMAIL = "email"
//...
}
}
}
Run Code Online (Sandbox Code Playgroud)
我面临的问题是我无法访问BaseColums实现提供的_ID属性:
val columnDisplayName = UserContract.UserEntry.COLUMN_DISPLAY_NAME //It is OK
val columnId = UserContract.UserEntry._ID //Unresolved reference: _ID
Run Code Online (Sandbox Code Playgroud)
Java中的等效代码工作得很好,那么,是否有人知道原因是什么或错误在哪里?
在没有使用VerifyCsrfToken middelware和$ except []数组的情况下,Laravel 5.2中是否有任何方法可以禁用所有路由的csrf保护?
我正在尝试对使用以下服务的类进行单元测试:
parserService.parseJsonStringToModel(json: String, adapterClass: Class<T>): T?
Run Code Online (Sandbox Code Playgroud)
我的第一个方法是用于ArgumentMatchers实现单元测试,如下所示:
Mockito.`when`(parserService.parseJsonStringToModel(ArgumentMatchers.any(), ArgumentMatchers.any<CreateAccountRequest>().javaClass)).thenReturn(null)
Run Code Online (Sandbox Code Playgroud)
由于在 Kotlin 中ArgumentMatchers.any()返回null,因此会生成NullPointerException不可为 null 的类型。所以我尝试使用Mockito-Kotlin库来避免这个问题。该方法如下所示:
whenever(parserService.parseJsonStringToModel(any(), any<CreateAccountRequest>().javaClass)).thenReturn(null)
Run Code Online (Sandbox Code Playgroud)
使用的库解决了第一个参数的问题,但仍然产生NullPointerException传递的第二个参数。
那么,如何创建ArgumentMatchersforClass<T>类型参数呢?
更新之前WebRTC的依赖,我能够呈现WebRTC VideoTracks上SurfaceViewRenderer,像这样:
val videoView = findViewById<SurfaceViewRenderer>(R.id.surface_view_renderer)
videoTrack.addRenderer(VideoRenderer(videoView))
Run Code Online (Sandbox Code Playgroud)
由于SurfaceViewRenderer不再实现VideoRenderer.Callbacks接口,如何使用更新的 WebRTC 版本实现上述相同的行为?
我是kotlin的新手,我想在kotlin中创建以下代码:
Fragment fragment = null;
switch(id) {
case R.id.nav_new:
fragment = new FragAllPosts();
break;
case R.id.nav_about:
fragment = new FragAuthors();
break;
case R.id.nav_tags:
fragment = new FragTags();
break;
}
if (fragment != null) {
FragmentTransaction ft = getFragmentManager().beginTransaction();
ft.replace(R.id.content_frame, fragment);
ft.commit();
}
Run Code Online (Sandbox Code Playgroud)
片段非常基本,并且还不包含任何参数.如何在kotlin中实现上述目标?谢谢!
android ×6
kotlin ×4
build ×1
cordova ×1
csrf ×1
java ×1
laravel ×1
laravel-5.2 ×1
mockito ×1
protection ×1
spring-boot ×1
spring-data ×1
spring-test ×1
sqlite ×1
webrtc ×1